VibeFox J&T Express for PrestaShop — 도움말
요구 사항
PrestaShop: 8.0 ~ 9.x.
PHP: 8.0 이상. 모듈은 이전 PHP 버전에서는 설치되지 않습니다.
J&T Express Malaysia API 접근 권한(실시간 견적에만 필요): 실시간 견적은 말레이시아 배송 주소에 대해 J&T Express Malaysia에서만 제공됩니다. 네 가지 값이 필요합니다. J&T Express Malaysia 웹사이트에서 J&T VIP 계정을 신청하십시오(모듈 페이지에 링크가 있습니다). J&T는 VIP 고객 코드와 VIP API 키를 제공합니다. API 계정과 요청 서명에 사용하는 개인 키는 API 연동을 위해 J&T가 발급합니다. J&T 계정 담당자에게 요청하십시오. J&T 필리핀, 인도네시아 및 기타 국가는 공개 견적 API가 없으므로 해당 국가에는 요금표를 사용하십시오. 요금표와 대체 배송비만 사용한다면 J&T API 접근 권한은 필요하지 않습니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.
설치
1. 백오피스에서 Modules > Module Manager로 이동하여 Upload a module을 클릭합니다. 모듈 ZIP 파일을 선택합니다.
2. 업로드가 끝나면 Configure를 클릭하거나, 나중에 모듈 목록에서 VibeFox J&T Express를 찾아 Configure를 클릭합니다.
3. Configure 페이지 상단의 라이선스 블록 License key 필드에 VibeFox 라이선스 키를 붙여넣고 Activate를 클릭하십시오(라이선스 키 참조).
4. 요금표 및/또는 대체 배송비를 입력합니다. 말레이시아 실시간 견적을 사용하려면 J&T API 자격 증명과 발송인 우편번호를 함께 입력하고, 쇼핑몰의 기본 통화가 MYR이 아니라면 통화 환산 환율도 입력합니다(설정 참조). Save를 클릭합니다.
설치 시 모듈은 배송 소요 시간 텍스트 Courier delivery가 적용된 J&T Express 운송사를 만듭니다. 운송사는 모든 지역과 모든 고객 그룹에 할당됩니다. 지역, 고객 그룹, 배송 소요 시간, 로고, 크기 제한은 Shipping > Carriers에서 변경할 수 있습니다. 그곳에서 요금을 설정하지 마십시오. 요금은 항상 모듈에서 가져옵니다.
설정
모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox J&T Express > Configure. 각 섹션에는 자체 Save 버튼이 있으며, 페이지 전체를 저장합니다. 저장할 때마다 캐시된 J&T 견적도 지워집니다. 실시간 견적이 일부만 설정된 경우, 페이지 상단의 경고에 누락된 설정이 표시되거나 통화 환산 환율이 없다는 안내가 나타납니다. 0 이상의 숫자가 아닌 금액은 오류와 함께 거부되며, Currency conversion rate가 0이거나 Min weight가 Max weight보다 큰 경우에도 거부됩니다. 쇼핑몰의 무게 단위가 인식되지 않으면, 경고가 표시되며 International > Localization에서 표준 단위를 설정하라고 안내합니다.
일반
이 페이지의 설정은 모든 지역에 적용됩니다. 운송사의 지역, 고객 그룹, 크기 제한은 Shipping > Carriers에서 설정합니다(또는 아래의 Ignore shipping zones를 사용합니다).
Enable J&T Express: 운송사를 켜거나 끕니다. Shipping > Carriers의 운송사 상태와 같은 스위치입니다.
Method title: 장바구니와 체크아웃에 표시되는 운송사 이름입니다. 기본값: J&T Express. 필수입니다.
Tax: 운송사의 세금 규칙 또는 No tax입니다. 세금 규칙을 선택하면 쇼핑몰의 배송세가 비용에 추가됩니다. J&T 요금에 청구하려는 모든 항목이 이미 포함되어 있다면 No tax를 선택하십시오.
J&T Express Malaysia API(실시간 견적)(선택 사항, 말레이시아 배송 주소용. 네 가지 자격 증명이 모두 필요합니다)
VIP customer code: J&T Express VIP 고객 코드입니다. 비우면 저장된 VIP API 키도 지워집니다.
VIP API key: VIP 코드와 함께 J&T Express가 제공한 API 키(비밀번호)입니다. 로그에 기록되지 않습니다. 저장 후 이 필드는 비어 있으며 Saved — leave empty to keep it.를 표시합니다. 변경하려는 경우에만 새 값을 입력하십시오.
API account: J&T Express API 계정 이름입니다. 비우면 저장된 개인 키도 지워집니다.
API private key: API 계정의 개인 키입니다. 요청 서명(SHA-256)에만 사용됩니다. J&T로 전송되지 않으며 로그에도 기록되지 않습니다. VIP API 키와 마찬가지로 저장 후에는 다시 표시되지 않습니다.
Sender postcode: 소포를 발송하는 말레이시아 우편번호입니다. 쇼핑몰이 말레이시아에 있으면 비워 두어 Shop Parameters > Contact > Stores의 쇼핑몰 우편번호를 사용할 수 있습니다. 저장할 때 공백은 제거됩니다.
Currency conversion rate: J&T Express Malaysia 견적은 MYR로 표시됩니다. 쇼핑몰의 기본 통화가 MYR이 아니라면 1 MYR이 귀하의 통화로 몇 단위인지 입력하십시오(1 MYR = X). 이 값이 없으면 실시간 견적은 사용되지 않고, 대신 요금표 또는 대체 배송비가 적용됩니다. 기본 통화가 MYR이면 필드에 이를 표시하며 환율은 필요하지 않습니다. 견적은 그대로 사용됩니다. 소수점 구분 기호로 점과 쉼표 모두 허용됩니다. 환율은 0보다 커야 합니다.
요금표 및 대체 배송비(말레이시아 이외의 국가에 사용되며, 실시간 견적이 설정되지 않았거나 J&T가 견적을 제공하지 않을 때 사용됩니다. 가격은 쇼핑몰의 기본 통화이며 세금 제외)
Country prices: 국가별로 한 행씩 있는 표입니다. Add country를 클릭하여 행을 추가하고, 휴지통 아이콘을 클릭하여 행을 삭제합니다. 자체 행이 없는 모든 국가에는 * Any other country를 선택합니다. 각 행에는 Base price와 다섯 개의 무게 구간이 있습니다: XS 1kg 이하, S 2kg 이하, M 3kg 이하, L 5kg 이하, XL 5kg 초과. 구간 가격이 0보다 크면 해당 구간의 장바구니에 대해 기본 요금 대신 적용됩니다. 구간이 0이면 기본 요금이 사용됩니다. 기본 요금이 0이면 무료 배송을 의미하며, 빈 기본 요금은 0으로 저장됩니다. 같은 국가가 두 행에 있으면 마지막 행이 유지됩니다. 행이 없는 국가(* 행이 없는 경우)에는 요금표 요금이 적용되지 않습니다.
Fallback cost: J&T와 요금표 모두 요금을 제공하지 않을 때 사용되는 요금입니다. 이 경우 운송사를 숨기려면 비워 두십시오. 0은 무료 배송을 의미합니다.
Table / fallback price is: Per order는 요금을 한 번만 청구합니다. Per item (multiplied by the number of items)는 장바구니의 상품 수를 곱합니다. J&T 실시간 견적은 항상 주문 전체에 대한 것입니다.
조건
Free shipping from: 무료 배송이 적용되는 장바구니 소계입니다(배송이 필요한 상품, 할인 후, 세금 전). 무료 배송을 원하지 않으면 비워 두십시오.
Minimum subtotal: 장바구니 소계가 이 금액에 도달한 경우에만 운송사를 표시합니다. 항상 표시하려면 비워 두십시오.
Min weight: 장바구니가 이보다 가벼우면 운송사를 숨깁니다(kg 단위). 상품 무게는 쇼핑몰의 무게 단위에서 변환됩니다. 0은 제한이 없음을 의미합니다. Max weight보다 클 수 없습니다.
Max weight: 장바구니가 이보다 무거우면 운송사를 숨깁니다(kg 단위). 기본값: 50. 0은 제한이 없음을 의미합니다.
배송 지역 없이 제공 범위
Ignore shipping zones: 아래 국가에 대해, 해당 국가의 지역에 연결되어 있지 않더라도 운송사를 제공합니다. 켜면 운송사는 활성화된 모든 지역에 연결되며, 나중에 만드는 지역에도 연결됩니다. 끄면 운송사는 Shipping > Carriers에 설정된 자체 지역에서만 제공됩니다. 끄면 운송사는 이전 지역을 되찾습니다.
Countries: 이 모드의 배송 대상 국가입니다. 비워 두면 배송하는 모든 국가가 사용됩니다. 이 필드는 Ignore shipping zones가 켜져 있을 때만 사용됩니다.
고급
Debug log: 요금 계산을 모듈 폴더의 logs/vfd_jtex_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 이 옵션이 꺼져 있어도 J&T API 오류는 항상 기록됩니다. 키, 비밀번호, 고객 우편번호는 기록되지 않습니다. 작업이 끝나면 로그를 끄십시오.
Log: 로그의 크기와 최근 항목을 표시합니다. Clear log를 클릭하여 비울 수 있습니다.
Remove data on uninstall: 켜져 있으면 모듈을 제거할 때 모듈 설정, 운송사, 캐시된 견적, 로그가 삭제됩니다. 꺼져 있으면 재설치를 위해 모든 항목이 유지됩니다.
체크아웃에서의 작동 방식
배송 단계에서 PrestaShop은 모듈에 J&T Express 요금을 요청합니다. 실물 상품만 계산에 포함됩니다. 가상 상품은 무게를 더하지 않으며 소계에도 포함되지 않습니다. 모듈은 먼저 조건을 확인합니다: 배송 국가(Ignore shipping zones 적용), 장바구니 무게, 최소 소계. 장바구니 소계가 Free shipping from에 도달하면 요금은 0이 되며 J&T에 요청이 전송되지 않습니다.
그 외의 경우 요금은 가격을 제공하는 첫 번째 출처에서 가져옵니다:
1. J&T 실시간 견적: 네 가지 API 자격 증명과 발송인 우편번호가 모두 설정되어 있고, 배송 국가가 말레이시아이며, 고객이 5자리 우편번호를 입력했고, 기본 통화가 MYR이 아닌 쇼핑몰의 경우 환산 환율이 설정되어 있을 때만 사용됩니다. 모듈은 발송인 및 수령인 우편번호와 장바구니 무게(최소 0.1kg)를 표준 서비스 EZ, 소포 1개 견적으로 J&T에 보내고, 반환된 MYR 요금을 쇼핑몰의 기본 통화로 환산합니다.
2. 국가별 요금: 배송 국가의 행 또는 * 행에서 장바구니 무게 구간의 요금을 사용합니다.
3. 대체 배송비.
위 출처 중 어느 것도 요금을 제공하지 않으면 해당 장바구니에서는 운송사가 숨겨집니다. Per item은 요금표 및 대체 요금에만 적용됩니다. 요금은 쇼핑몰의 기본 통화로 계산된 후 고객의 장바구니 통화로 표시됩니다.
J&T의 각 응답은 1시간 동안 캐시되므로 같은 장바구니가 새 요청을 발생시키지 않습니다. 실패한 요청은 10분 동안 캐시되므로 체크아웃이 새로 고침할 때마다 J&T를 기다리지 않습니다. 요청 시간 제한은 10초입니다. J&T가 오류, 0 요금 또는 응답 없음을 반환하면 고객에게 오류가 표시되지 않습니다. 요금표 또는 대체 배송비가 사용되며, 그 이유는 로그에 기록됩니다.
주문이 있는 운송사를 Shipping > Carriers에서 편집하면, PrestaShop은 이를 운송사의 새 버전으로 저장합니다. 모듈은 새 버전을 자동으로 따릅니다.
모듈은 배송비만 계산합니다. 송장, 운송장 또는 라벨을 만들거나, 집하를 예약하거나, 배송을 취소 또는 추적하지 않으며, 고객이 수령 지점을 선택하도록 하지도 않습니다. 평소와 같이 J&T 계정에서 배송을 만들고 추적하십시오. 이 모듈은 J&T Express Malaysia 공식 플러그인의 요청 형식에 맞춰 개발되었습니다. 실제 운영 전에 J&T 계정으로 요금을 확인하십시오.
라이선스 키
이 모듈은 vibefox.net에서 발급받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox J&T Express는 Modules > Module Manager > VibeFox J&T Express > Configure 페이지에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 입력하고 Activate를 클릭하십시오. 그 후 블록에는 마스킹된 키, 상태(예: 라이선스가 유효한 날짜와 도메인), 그리고 Check now(상태 다시 확인), Change key(다른 키 입력), Remove key(이 쇼핑몰에서 키 제거) 버튼이 표시됩니다. 그 아래에는 Product: presta-shipping-jt-express 줄과 Manage licenses and domains in your account 링크가 있으며, 이 링크는 vibefox.net 계정을 엽니다. 이 모듈에 대한 Configure 권한이 있는 직원만 키를 변경할 수 있습니다. 블록의 텍스트는 백오피스 언어를 따릅니다(영어와 러시아어 포함).
키가 승인되지 않으면 블록에 이유가 표시됩니다(예: Key not found, This key belongs to another product, Domain limit reached 또는 날짜와 함께 License expired on). 쇼핑몰 주소를 변경한 후, 또는 계정에서 도메인 슬롯을 비운 후 Check now를 클릭하십시오. 라이선스 서버에 연결할 수 없으면 모듈은 마지막으로 확인된 상태로 계속 작동합니다.
키 하나는 도메인 하나에서 작동합니다. 기본 쇼핑몰의 도메인이며, 다중 쇼핑몰 설정에서도 마찬가지입니다. 쇼핑몰에서 키를 제거해도 도메인 슬롯은 비워지지 않습니다. vibefox.net 계정에서 슬롯을 비우십시오.
활성 키가 없으면 J&T Express 운송사는 체크아웃에서 고객에게 표시되지 않으며 요금도 계산되지 않습니다. PrestaShop 스토어프런트는 백오피스에 로그인되어 있는지 알지 못하므로, 운송사는 귀하에게도 숨겨집니다. 키를 구매하기 전에 모듈을 설정할 수는 있지만 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 표시됩니다. 기존 주문에는 영향이 없습니다.
라이선스가 만료되어도 모듈은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 백오피스에서 작업하는 동안 상태는 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 이후에는 일주일에 한 번입니다. cron 작업은 필요하지 않습니다. 모듈을 제거하거나 초기화하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.
문제 해결
체크아웃에 J&T Express가 나타나지 않음: 라이선스가 활성 상태이고 Enable J&T Express가 켜져 있는지 확인하십시오. Shipping > Carriers에서 운송사가 고객 국가의 지역과 고객 그룹을 포함하는지 확인하십시오(또는 Ignore shipping zones가 켜져 있고 해당 국가가 허용되어 있는지 확인하십시오). 무게 제한과 Minimum subtotal도 확인하십시오. Country prices에 해당 국가의 행이나 * 행이 있는지, 또는 Fallback cost가 설정되어 있는지 확인하십시오. 상품 페이지에서 특정 운송사로만 제한되어 있을 수도 있습니다. Debug log를 켜고 모듈 페이지의 Log 필드를 확인하십시오.
요금이 J&T가 아닌 요금표에서 나옴: 실시간 견적에는 네 가지 API 자격 증명, 발송인 우편번호, 5자리 우편번호가 있는 말레이시아 배송 주소, 그리고 MYR이 아닌 쇼핑몰의 경우 Currency conversion rate가 필요합니다. 모듈 페이지 상단의 경고를 확인하십시오. J&T가 요청을 거부하거나 응답하지 않으면 오류가 로그에 기록되고 요금표 또는 대체 배송비가 사용됩니다. 실패한 요청은 10분 후에 다시 시도됩니다.
필리핀 또는 인도네시아는 실시간 견적이 없음: J&T는 이 국가들에 공개 견적 API를 제공하지 않습니다. 해당 국가에는 요금표와 대체 배송비를 사용하십시오.
한 국가가 실수로 무료 배송을 받음: 해당 행의 기본 요금이 0입니다(빈 기본 요금은 0으로 저장됩니다). 기본 요금을 입력하거나 행을 삭제하십시오. Free shipping from도 확인하십시오.
변경 후 요금이 오래된 것처럼 보임: 모듈 페이지에서 Save를 클릭하십시오. 이렇게 하면 캐시된 J&T 견적이 지워집니다.
페이지에 J&T Express 운송사를 찾을 수 없다고 표시됨: 운송사가 Shipping > Carriers에서 삭제되었습니다. Modules > Module Manager에서 모듈을 재설정하여 다시 만드십시오.
개발자용 훅: actionVfdJtexQuoteRequest 훅은 견적 요청 본문(예: 서비스 유형)을 변경하고, actionVfdJtexApiUrl은 견적 엔드포인트를 변경합니다.
제거
Modules > Module Manager로 이동하여 VibeFox J&T Express 옆의 메뉴를 열고 Uninstall을 선택하십시오. 라이선스 키와 라이선스 상태는 항상 삭제됩니다. 캐시된 견적은 항상 삭제됩니다. Remove data on uninstall이 켜져 있으면 운송사가 삭제되고(주문은 기록을 유지합니다) 설정과 로그도 삭제됩니다. 꺼져 있으면 운송사는 비활성화만 되고 모든 설정이 유지됩니다. 모듈을 다시 설치하면 저장된 운송사는 이전 상태를 되찾습니다.
J&T Express는 해당 소유자의 상표입니다. 이 모듈은 J&T Express와 제휴하거나 J&T Express의 승인을 받은 것이 아닙니다.
