VibeFox Servientrega for WooCommerce — 도움말
요구 사항
WordPress: 5.8 이상.
WooCommerce: 5.0 이상, 설치되어 있고 활성화된 상태여야 합니다. WooCommerce가 없으면 플러그인이 활성화되지 않습니다.
PHP: 8.0 이상.
Servientrega 계정(실시간 요금에만 필요): 실시간 요금은 Servientrega Cotizador Corporativo(법인 견적 API)를 사용합니다. 이에 접근할 수 있는 Servientrega 법인(신용) 계정이 필요합니다. 세 가지 값이 필요합니다: 사용자, 비밀번호, 청구 코드(código de facturación, 보통 SER로 시작). 이는 SISCLINET 자격 증명이며 Servientrega 영업 담당자가 발급합니다. 고정 요금만 사용한다면 Servientrega 계정은 필요 없습니다.
서버 접근(실시간 요금에만 필요): 서버가 web.servientrega.com에 HTTP로 포트 8058(견적 API)과 포트 8081(비밀번호 암호화 웹 서비스)을 통해 접속할 수 있어야 합니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.
설치
1. WordPress에서 Plugins > Add New > Upload Plugin으로 이동하여 플러그인 ZIP 파일을 선택하고 Install Now를 클릭합니다. FTP로 vfd_servientrega 폴더를 /wp-content/plugins/에 업로드할 수도 있습니다.
2. Activate를 클릭합니다.
3. 설정을 엽니다: WooCommerce > Settings > Shipping > VibeFox Servientrega, 또는 플러그인 페이지에서 플러그인 이름 아래의 Settings를 클릭합니다.
4. 페이지 상단의 라이선스 블록에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다.
5. 실시간 요금을 사용하려면 사용자, 비밀번호, 청구 코드를 입력하고, Servientrega 상품을 선택하고, 출발지 DANE 코드를 입력합니다. 쇼핑몰 통화가 COP가 아니라면 통화 환율도 입력합니다(「설정」 참조).
6. 선택 사항으로 국가 및 무게별 고정 요금과 대체 비용을 추가합니다.
7. WooCommerce > Settings > Shipping > Shipping zones에서 배송 지역에 VibeFox Servientrega를 추가하거나, Ignore shipping zones를 켜고 국가를 선택합니다.
설정
모든 설정은 한 페이지에 있습니다: WooCommerce > Settings > Shipping > VibeFox Servientrega. 이 설정은 모든 배송 지역에 적용됩니다. 배송 지역에 방법을 추가하면 지역 창에는 항목이 하나만 있습니다:
Title (zone): 이 지역에서 고객이 보게 되는 이름입니다. 비워 두면 전역 Method title을 사용합니다.
설정을 저장할 때마다 캐시된 Servientrega 견적과 로그인 토큰이 지워집니다. 저장된 설정으로 실시간 요금을 사용할 수 없으면, 설정 상단의 경고가 이유를 알려 줍니다: 사용자, 비밀번호 또는 청구 코드 누락, 환율 누락, 또는 출발지 DANE 코드 누락.
일반
Enable/Disable: 모든 지역에서 이 방법을 한 번에 켜거나 끕니다.
Method title: 장바구니와 체크아웃에 표시되는 배송 방법 이름입니다. 지역별로 덮어쓸 수 있습니다. 기본값: Servientrega.
Servientrega API(콜롬비아 실시간 요금)(선택 사항; 자격 증명이 없으면 고정 요금만 사용됩니다)
User (login): Servientrega / SISCLINET 사용자 이름입니다.
Password: Servientrega / SISCLINET 비밀번호이며, 입력한 그대로입니다. 공식 Servientrega 클라이언트와 마찬가지로, 플러그인은 로그인 전에 Servientrega 웹 서비스로 비밀번호를 암호화합니다.
Billing code: Servientrega 계정의 청구 코드(código de facturación)입니다. SISCLINET에 표시됩니다. 보통 SER로 시작합니다.
실시간 요금에는 세 항목이 모두 필요합니다. 실시간 요금은 콜롬비아 내 배송지에 대해서만 요청됩니다. 다른 국가는 고정 요금을 사용합니다.
Servientrega product: Servientrega 계약에서 견적을 받을 서비스입니다.
청구 무게는 실중량과 부피중량 중 큰 값입니다.
Currency conversion rate: Servientrega는 COP로 견적을 냅니다. 쇼핑몰 통화가 COP가 아니라면, 쇼핑몰 통화로 1 COP의 값을 입력합니다. 예: 0.00023. 신고한 소포 금액도 같은 방식으로 COP로 환산됩니다. 쇼핑몰 통화가 COP라면 비워 둡니다. 쇼핑몰이 다른 통화를 쓰는데 이 칸이 비어 있으면 실시간 요금은 사용되지 않고 고정 요금이 적용됩니다. 플러그인은 환율을 가져오지 않습니다. 소수점 구분 기호로 점과 쉼표를 모두 허용합니다.
출발지(실시간 요금에 사용)
Origin city (DANE code): 발송하는 시·군의 8자리 DANE 코드입니다. 예: 11001000 Bogotá, 05001000 Medellín, 76001000 Cali, 08001000 Barranquilla. 5자리 시·군 코드도 허용됩니다. 비워 두었을 때 WooCommerce > Settings > General의 쇼핑몰 주소가 콜롬비아에 있으면, 쇼핑몰 주소의 시·군이 사용됩니다.
고정 요금(실시간 요금이 없을 때 사용: 자격 증명 없음, 콜롬비아 외 배송지, 알 수 없는 시·군, 환율 누락, API 오류 또는 해당 경로 미지원인 경우)
Price per country: 쇼핑몰 통화로 된 국가 및 요금 표입니다. + Add country를 클릭하면 행이 추가되고, ×를 클릭하면 행이 삭제됩니다. Price는 모든 무게에 적용됩니다. XS ≤1 kg, S 1–2 kg, M 2–3 kg, L 3–5 kg, XL >5 kg 무게 구간 열은 값이 0보다 크면 해당 무게에서 Price를 대신합니다. * Default 행은 자체 행이 없는 모든 국가에 적용됩니다.
Fallback cost: 실시간 요금이 없고 표의 어떤 행도 맞지 않을 때 사용됩니다. 비워 두면 이 경우 방법을 숨깁니다.
Fixed price applies: 고정 요금을 청구하는 방식입니다.
Servientrega 실시간 요금은 항상 발송 건당 적용됩니다.
조건
Minimum weight (kg): 장바구니가 이보다 가벼우면 방법을 숨깁니다. 0은 제한 없음을 뜻합니다.
Maximum weight (kg): 장바구니가 이보다 무거우면 방법을 숨깁니다. 기본값: 50. 0은 제한 없음을 뜻합니다.
Minimum order amount: 장바구니 소계(할인 후, 세금 전)가 이 금액에 도달해야만 방법을 표시합니다. 항상 표시하려면 비워 두세요.
Free shipping from: 장바구니 소계(할인 후, 세금 전)가 이 금액에 도달하면 배송비가 무료입니다. 방법에 요금이 있는 경우에만 적용됩니다: 표의 요금이나 대체 비용(이 경우 Servientrega에 요청이 전송되지 않음), 또는 실시간 요금. 비워 두면 무료 배송을 제공하지 않습니다.
Excluded shipping classes: 장바구니에 이 WooCommerce 배송 등급 중 하나에 속한 상품이 있으면 방법을 숨깁니다.
Tax status: Taxable은 배송비에 WooCommerce 세금을 더하고, None은 더하지 않습니다. Servientrega 견적(ValorTotal)에는 운송업체 요금이 이미 포함되어 있습니다. 그 위에 세금을 더하고 싶지 않다면 None을 선택하세요.
배송 지역 없이 사용
Ignore shipping zones: 방법이 어떤 배송 지역에도 추가되지 않았더라도, 아래 국가에 대해 Servientrega를 제공합니다.
Countries: 이 모드의 배송 대상 국가입니다. 비워 두면 배송하는 모든 국가를 사용합니다. 이 항목은 Ignore shipping zones가 켜져 있을 때만 사용됩니다.
고급
Debug log: 요금 계산과 API 오류를 WooCommerce 로그에 기록합니다: WooCommerce > Status > Logs, 소스 vfd_servientrega. 자격 증명, 토큰, 고객 주소는 기록되지 않습니다. 작업이 끝나면 로그를 끄세요.
Remove data on uninstall: 켜져 있으면 플러그인을 삭제할 때 모든 Servientrega 설정, 지역별 방법, 캐시된 견적이 제거됩니다. 플러그인을 비활성화해도 아무것도 삭제되지 않습니다.
체크아웃에서의 작동 방식
고객이 배송 주소를 입력하면 WooCommerce가 플러그인에 요금을 요청합니다. 플러그인은 먼저 조건을 확인합니다: 배송 국가, 장바구니 무게, 최소 주문 금액, 제외된 배송 등급. 그다음 요금을 찾습니다: Servientrega 실시간 요금, 요금 표, 대체 비용 순입니다. 요금이 없으면 방법이 숨겨집니다. 무료 배송이 적용되면 요금 0으로 방법이 표시됩니다.
자격 증명이 설정되어 있고 배송지가 콜롬비아인 경우, 플러그인은 고객 시·군의 DANE 코드를 찾습니다. 우편번호 칸이나 도시 칸에 입력된 DANE 코드를 사용하거나, 도와 도시를 내장된 시·군 약 1,130곳의 표와 맞춰 봅니다. 악센트와 "D.C."는 무시됩니다. 한 도에만 있는 도시 이름은 도를 입력하지 않아도 찾을 수 있습니다.
그런 다음 플러그인은 주문마다 하나의 소포를 Servientrega에 보냅니다: 쇼핑몰 단위에서 kg으로 환산한 총 무게와, 가장 큰 상품의 길이와 너비, 그리고 모든 상품의 총 부피를 cm로 환산한 상자입니다. 치수가 없는 상품은 10 × 10 × 10 cm로 계산합니다. 신고 금액은 장바구니 소계를 COP로 환산한 값이며, 최소 6,000 COP입니다. Servientrega는 COP로 합계를 반환하고, 플러그인이 이를 쇼핑몰 통화로 환산합니다.
로그인 토큰은 만료될 때까지 보관되며, 최대 4일입니다. 거부된 토큰은 자동으로 한 번 갱신됩니다. 각 견적은 경로와 소포별로 1시간 동안 캐시되므로 같은 장바구니가 새 요청을 일으키지 않습니다. 실패한 요청(암호화, 로그인 또는 견적)은 10분 동안 캐시되므로 체크아웃이 새로고침할 때마다 Servientrega를 기다리지 않습니다. 요청당 제한 시간은 10초입니다.
실시간 요금이 없으면 요금은 고정 요금 표에서, 그다음 Fallback cost에서 가져옵니다. 둘 다 해당하지 않으면 방법이 숨겨집니다. 고객은 API 오류를 전혀 보지 않습니다. 그 이유는 디버그 로그에 기록됩니다.
이 방법은 클래식 체크아웃과 장바구니 및 체크아웃 블록에서 작동합니다. WooCommerce 고성능 주문 저장소(HPOS)와 호환됩니다. 스페인어 번역(콜롬비아, 스페인)이 포함되어 있습니다.
플러그인은 요금만 계산합니다. 운송장(guías), 라벨 또는 스티커를 만들지 않고, 집화를 요청하지 않으며, 발송을 추적하거나 취소하지 않고, 고객이 Servientrega 지점(Centro de Soluciones)을 선택하게 하지도 않습니다. 운송장은 SISCLINET 또는 Servientrega 포털에서 만드세요. 착불(logística de recaudo)은 견적을 내지 않습니다. 실시간 견적은 콜롬비아 국내 발송에만 적용됩니다. 에콰도르, 페루, 파나마 및 국제 발송은 고정 요금을 사용합니다.
라이선스 키
플러그인은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록은 WooCommerce > Settings > Shipping > VibeFox Servientrega 상단에 있습니다. 키를 License key에 붙여 넣고 Activate를 클릭하세요. 블록에는 라이선스가 유효한 날짜와 도메인 같은 상태가 표시됩니다. Check now로 상태를 다시 확인하고, Change key로 다른 키를 입력하고, Remove key로 이 사이트에서 키를 제거합니다. Manage licenses and domains in your account 링크는 vibefox.net 계정을 엽니다.
키 하나는 도메인 하나에서만 작동합니다. 사이트에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하세요.
활성 키가 없으면 체크아웃에서 고객에게 Servientrega가 표시되지 않습니다. 로그인한 쇼핑몰 관리자에게는 (unlicensed — visible to admins only) 표시와 함께 계속 보이므로, 키를 구매하기 전에 플러그인을 설정하고 테스트할 수 있습니다. 플러그인 페이지와 WooCommerce 페이지에 알림이 나타납니다. 기존 주문에는 영향이 없습니다.
라이선스가 만료되어도 플러그인은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 상태는 백그라운드에서 자동으로 다시 확인됩니다.
문제 해결
체크아웃에 Servientrega가 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 그리고 방법이 고객 국가의 배송 지역에 추가되어 있는지(또는 Ignore shipping zones가 켜져 있고 해당 국가가 허용되어 있는지) 확인하세요. 무게 제한, Minimum order amount, Excluded shipping classes도 확인하세요. 실시간 요금이 없다면, 해당 국가 또는 * Default에 요금이 있는지, 또는 Fallback cost가 설정되어 있는지 확인하세요.
실시간 요금이 나타나지 않음: Debug log를 켜고, 체크아웃을 새로고침한 다음, WooCommerce > Status > Logs를 열고 소스 vfd_servientrega를 선택하세요. 흔한 원인: 환율 누락(쇼핑몰 통화가 COP가 아님), 출발지 DANE 코드 누락, 고객의 도 또는 시가 아직 입력되지 않았거나 알려진 시·군이 아님, 잘못된 자격 증명, 또는 해당 경로 미지원. 고정 요금을 설정해 두었다면 이런 경우도 처리됩니다.
로그인 실패: 사용자, 비밀번호, 청구 코드를 Servientrega 영업 담당자와 확인하세요. 로그인에 실패하면 플러그인은 다음 시도 전까지 10분 기다립니다. 설정을 저장하면 즉시 다시 시도합니다.
고객의 시가 인식되지 않음: 도와 시는 내장된 DANE 표와 대조됩니다. 드문 철자의 경우, 고객은 8자리 DANE 코드를 우편번호로 입력할 수 있습니다. 개발자는 vfd_svtg_dane_code 필터로 이를 매핑할 수 있습니다.
변경 후 요금이 오래된 것처럼 보임: 설정 페이지를 저장하세요. 이렇게 하면 캐시된 Servientrega 견적과 토큰이 지워집니다.
개발자용: vfd_svtg_quote_request와 vfd_svtg_default_dimensions 필터는 견적 요청과 치수가 없는 상품의 치수를 조정합니다. vfd_svtg_api_base와 vfd_svtg_soap_url은 Servientrega가 다른 서버를 알려 주는 경우 등 엔드포인트를 바꿉니다.
라이선스 블록에 오류가 표시됨: 블록의 메시지를 따르세요. 예를 들어 키가 다른 도메인에서 이미 사용 중이라면, vibefox.net 계정에서 슬롯을 해제하고 Check now를 클릭하세요. 사이트 주소가 바뀌었다면, Check now를 클릭해 새 도메인에 대해 키를 활성화하세요. 라이선스 서버에 연결할 수 없으면 플러그인은 마지막으로 확인된 상태로 계속 작동합니다.
삭제
플러그인을 비활성화하면 모든 데이터가 유지됩니다. 제거하려면 비활성화한 뒤 Plugins 페이지에서 삭제하세요. 이 플러그인의 라이선스 키와 라이선스 상태는 항상 제거됩니다. 설정, 지역별 방법, 캐시된 견적, 토큰은 Remove data on uninstall이 켜져 있을 때만 제거됩니다. 그렇지 않으면 나중에 다시 설치할 때를 위해 남아 있습니다. 기존 주문은 배송 항목을 그대로 유지합니다.
Servientrega는 해당 소유자의 상표입니다. 이 플러그인은 Servientrega와 제휴하거나 Servientrega의 승인을 받은 것이 아닙니다.
