PTCARGO API

คู่มือการใช้งาน API

ดึงข้อมูลบัญชีสมาชิกของคุณเป็น JSON ไปใช้ในระบบของคุณเอง

เริ่มต้นใช้งาน

  1. เข้าสู่ระบบเว็บสมาชิก แล้วเปิดหน้า API Key
  2. กดสร้างคีย์ แล้วคัดลอกเก็บไว้ทันที ระบบแสดงคีย์เต็มครั้งเดียว
  3. ส่งคีย์ใน header X-Api-Key ทุกครั้งที่เรียก

ที่อยู่หลัก https://www.ptcargomember.com/legacy-export-api/api

ลองเรียกจริงโดยไม่ต้องเขียนโค้ดได้ที่หน้า ทดลองเรียก

การยืนยันตัวตน

คีย์หนึ่งคีย์ผูกกับรหัสสมาชิกที่สร้างคีย์นั้นตายตัว ข้อมูลที่ได้เป็นของรหัสนั้นเท่านั้น ไม่มีพารามิเตอร์ให้ระบุรหัสสมาชิก

ใช้ได้ฟรีสำหรับสมาชิกระดับ 5 ขึ้นไป ตรวจทุกคำขอ ระดับไม่ถึงจะได้ 403 insufficient_level

ส่งคีย์แบบตัวอย่าง
X-Api-KeyX-Api-Key: pk_xxxxxxxx
AuthorizationAuthorization: Bearer pk_xxxxxxxx

ไม่รับคีย์ทางที่อยู่ (?api_key=) เพื่อไม่ให้คีย์ค้างอยู่ในประวัติเบราว์เซอร์หรือ log คีย์รั่วให้เพิกถอนที่หน้า API Key ทันที

เรียกได้ 120 ครั้งต่อนาทีต่อรหัสสมาชิก เกินแล้วได้ 429 พร้อม header Retry-After

รูปแบบคำตอบ

สำเร็จได้ ok: true ข้อมูลอยู่ใน data หน้ารายการมี items กับ pagination

{
  "ok": true,
  "data": {
    "items": [ { "import_no": "PT139082", "status": { "code": "completed", "label": "เสร็จสมบูรณ์" }, ... } ],
    "pagination": { "page": 1, "per_page": 20, "total": 1777, "total_pages": 89 }
  },
  "request_id": "9f2c4a1b7d3e8f60"
}

รูปแบบค่า

ชนิดรูปแบบ
วันที่YYYY-MM-DD หรือ YYYY-MM-DD HH:MM:SS เวลาประเทศไทย ไม่มีค่าเป็น null
เงินตัวเลขทศนิยม 2 ตำแหน่ง ชื่อลงท้าย _thb คือบาท _cny คือหยวน
สถานะ{ "code": "...", "label": "..." } ใช้ code ในโปรแกรม label ไว้แสดงผล

ข้อผิดพลาด

{ "ok": false, "error": { "code": "not_found", "message": "ไม่พบบิลนำเข้านี้ในรหัสสมาชิกของคุณ" } }
HTTPerror.codeความหมาย
400invalid_date · invalid_status · invalid_bill_no · invalid_tracking_number · invalid_jsonพารามิเตอร์หรือเนื้อคำขอไม่ถูกต้อง
401unauthorizedไม่มีคีย์ คีย์ผิด หรือถูกเพิกถอนแล้ว
402insufficient_balanceเงินในกระเป๋าไม่พอ ดู shortfall_thb
403forbidden_scope · insufficient_pointsคีย์ไม่มีสิทธิ์ของเมนูนี้ หรือแต้มสะสมไม่ถึงเกณฑ์
404not_found · route_not_foundไม่พบข้อมูลในรหัสของคุณ หรือไม่มีที่อยู่นี้
409price_changed · already_registered · duplicate_order_number · busy · request_in_progressสถานะเปลี่ยนหรือมีรายการชนกัน
422validation_error · parcel_not_available · idempotency_key_reusedข้อมูลที่ส่งมาใช้ไม่ได้ ดู error.field
428idempotency_key_requiredคำขอ POST ต้องมี Idempotency-Key
429rate_limitedเรียกถี่เกินไป รอตาม Retry-After
500 / 503internal_error · service_unavailableระบบขัดข้อง แจ้งเจ้าหน้าที่พร้อม request_id

ตัวอย่างโค้ด

curl -H "X-Api-Key: pk_xxxxxxxx" \
  "https://www.ptcargomember.com/legacy-export-api/api/v1/imports?status=awaiting_payment&per_page=50"

การสั่งทำรายการ

คำขอ POST ส่งเนื้อเป็น JSON และต้องใช้ API Key ที่เปิดสิทธิ์ของเมนูนั้นไว้ตอนสร้างคีย์

headerความหมาย
Content-Type: application/jsonเนื้อคำขอเป็น JSON object
Idempotency-Key: <ค่าไม่ซ้ำ>บังคับ ใช้ค่าใหม่ต่อหนึ่งรายการ เช่นเลขออเดอร์ในระบบคุณ ส่งซ้ำด้วยค่าเดิมจะได้คำตอบเดิมโดยไม่ทำรายการซ้ำ (header Idempotent-Replayed: true)

เงินในกระเป๋า

แลกเงินหยวน เติมเงิน Alipay และฝากจ่าย หักเงินจากกระเป๋าทันทีตอนสร้าง ดูเรทและยอดคงเหลือก่อนได้ที่ GET /v1/rates ส่ง expected_total_thb มาด้วยเพื่อกันเรทเปลี่ยนระหว่างทาง

ใบสั่งซื้อและบิลจัดส่งยังไม่หักเงินตอนสร้าง ยอดที่ต้องชำระจะขึ้นใน amounts.outstanding_thb หลังเจ้าหน้าที่สรุปราคา

curl -X POST "https://www.ptcargomember.com/legacy-export-api/api/v1/alipay-topups"   -H "X-Api-Key: pk_xxxxxxxx"   -H "Idempotency-Key: shop-20260915-0001"   -H "Content-Type: application/json"   -d '{"wallet_account_id": 1234, "amount_cny": 500, "expected_total_thb": 2703.75}'

Webhook

ลงทะเบียนปลายทางที่หน้า Webhook ระบบส่ง POST JSON ไปเมื่อสร้างรายการหรือสถานะเปลี่ยน ตรวจการเปลี่ยนแปลงทุกนาที

{
  "id": "evt_4f1a9c0b2d7e8a61c3b5",
  "type": "delivery.status_changed",
  "created_at": "2026-09-15 18:02:11",
  "data": {
    "resource_no": "RE158560",
    "previous": { "status": { "code": "awaiting_payment", "label": "รอชำระเงิน" } },
    "object": { "delivery_no": "RE158560", "status": { "code": "shipped", "label": "จัดส่งแล้ว" }, ... }
  }
}

ชนิดเหตุการณ์

typeเกิดเมื่อ
purchase_order.createdสร้างใบสั่งซื้อ
purchase_order.status_changedใบสั่งซื้อเปลี่ยนสถานะ
import.createdมีบิลนำเข้าใหม่
import.status_changedบิลนำเข้าเปลี่ยนสถานะ
yuan_exchange.createdสร้างรายการแลกเงินหยวน
yuan_exchange.status_changedแลกเงินหยวนเปลี่ยนสถานะ
alipay_topup.createdสร้างรายการเติม Alipay
alipay_topup.status_changedเติม Alipay เปลี่ยนสถานะ
pay_on_behalf.createdสร้างบิลฝากจ่าย
pay_on_behalf.status_changedฝากจ่ายเปลี่ยนสถานะ
delivery.createdสร้างบิลจัดส่ง/มารับ
delivery.status_changedจัดส่ง/มารับเปลี่ยนสถานะ
delivery.deletedบิลจัดส่งถูกยกเลิกและลบ
parcel.arrived_china_warehouseพัสดุเข้าโกดังจีน
parcel.arrived_thailandพัสดุถึงโกดังไทย
my_tracking_number.createdแจ้งเลขแท็คกิ้ง

ตรวจลายเซ็น

ทุกคำขอมี header X-PTCargo-Signature: t=<เวลา unix>,v1=<ลายเซ็น> ลายเซ็นคือ HMAC-SHA256 ของ t + "." + เนื้อคำขอดิบ ด้วยกุญแจที่ได้ตอนลงทะเบียน ปฏิเสธคำขอที่ลายเซ็นไม่ตรงหรือ t เก่ากว่า 5 นาที

$raw = file_get_contents('php://input');
parse_str(str_replace(',', '&', $_SERVER['HTTP_X_PTCARGO_SIGNATURE']), $sig);
$expect = hash_hmac('sha256', $sig['t'] . '.' . $raw, getenv('PTCARGO_WEBHOOK_SECRET'));
if (!hash_equals($expect, $sig['v1']) || abs(time() - (int) $sig['t']) > 300) {
    http_response_code(400); exit;
}
$event = json_decode($raw, true);   // ใช้ $event['id'] กันประมวลผลซ้ำ
http_response_code(200);

ตอบ 2xx ภายใน 10 วินาทีถือว่าได้รับ ไม่ตอบหรือตอบอย่างอื่นระบบส่งซ้ำอีกสูงสุด 8 ครั้ง (1 นาที ถึง 1 วัน) เหตุการณ์เดียวกันอาจมาถึงมากกว่าหนึ่งครั้ง ให้ใช้ id กันซ้ำ

สร้างใบสั่งซื้อ

POST /v1/purchase-orders

สร้างใบสั่งซื้อ สถานะเริ่มต้นรอใบเสนอราคา ยังไม่หักเงิน เจ้าหน้าที่จะสรุปราคาแล้วแจ้งชำระ

สิทธิ์คีย์ที่ต้องมี order.create · ตอบ 201 พร้อมรายการที่สร้าง

พารามิเตอร์ส่งทางความหมาย
itemsเนื้อ JSONรายการสินค้า 1-50 รายการ (บังคับ)
items[].shopเนื้อ JSONชื่อร้าน (บังคับ)
items[].product_urlเนื้อ JSONลิงก์สินค้า http/https (บังคับ)
items[].unit_price_cnyเนื้อ JSONราคาต่อชิ้น หยวน (บังคับ)
items[].quantityเนื้อ JSONจำนวน (บังคับ)
items[].image_urlเนื้อ JSONลิงก์รูป
items[].size / color / other_option / noteเนื้อ JSONตัวเลือกและหมายเหตุของสินค้า
shipping_methodเนื้อ JSONtruck_express (ค่าเริ่มต้น) · truck_ek · sea
quality_checkเนื้อ JSONtrue = ตรวจสินค้า (QC)
wooden_crateเนื้อ JSONtrue = ตีลังไม้
price_increase_limit_cnyเนื้อ JSONยอมให้ราคาต่อชิ้นเพิ่มได้ไม่เกินกี่หยวน
coupon_codeเนื้อ JSONโค้ดส่วนลด
noteเนื้อ JSONหมายเหตุถึงเจ้าหน้าที่

แจ้งแท็คกิ้งของฉัน

POST /v1/my-tracking-numbers

แจ้งเลขแท็คกิ้งจีนของพัสดุที่กำลังส่งเข้าโกดัง

สิทธิ์คีย์ที่ต้องมี track.create · ตอบ 201 พร้อมรายการที่สร้าง

พารามิเตอร์ส่งทางความหมาย
tracking_numberเนื้อ JSONเลขแท็คกิ้ง ตัวอักษรหรือตัวเลข 4-30 ตัว (บังคับ)
noteเนื้อ JSONหมายเหตุ เช่น ชื่อสินค้า

แลกเงินหยวน

POST /v1/yuan-exchanges

แลกเงินหยวนโอนเข้าบัญชีธนาคารจีน หักเงินจากกระเป๋าทันที

สิทธิ์คีย์ที่ต้องมี exchange.create · ตอบ 201 พร้อมรายการที่สร้าง

พารามิเตอร์ส่งทางความหมาย
bank_account_idเนื้อ JSONจาก GET /v1/yuan-exchanges/bank-accounts (บังคับ)
amount_cnyเนื้อ JSONจำนวนหยวน ตั้งแต่ 1 (บังคับ)
coupon_codeเนื้อ JSONโค้ดส่วนลด ใช้แล้วไม่คิดค่าบริการ
expected_total_thbเนื้อ JSONยอดบาทที่คาดไว้ ถ้าเรทเปลี่ยนจะได้ 409 price_changed แทนการหักเงิน

เติมเงิน Alipay

POST /v1/alipay-topups

เติมเงินเข้าบัญชี Alipay / WeChat หักเงินจากกระเป๋าทันที

สิทธิ์คีย์ที่ต้องมี alipay.create · ตอบ 201 พร้อมรายการที่สร้าง

พารามิเตอร์ส่งทางความหมาย
wallet_account_idเนื้อ JSONจาก GET /v1/alipay-topups/wallet-accounts (บังคับ)
amount_cnyเนื้อ JSONจำนวนหยวน ตั้งแต่ 1 (บังคับ)
coupon_codeเนื้อ JSONโค้ดส่วนลด ใช้แล้วไม่คิดค่าบริการ
expected_total_thbเนื้อ JSONยอดบาทที่คาดไว้

ฝากจ่าย

POST /v1/pay-on-behalf

ฝากจ่ายออเดอร์ร้านจีน หักเงินจากกระเป๋าทันที ค่าบริการคิดครั้งเดียวต่อบิล

สิทธิ์คีย์ที่ต้องมี helppay.create · ตอบ 201 พร้อมรายการที่สร้าง

พารามิเตอร์ส่งทางความหมาย
shop_account_idเนื้อ JSONจาก GET /v1/pay-on-behalf/shop-accounts (บังคับ)
ordersเนื้อ JSONออเดอร์ 1-50 รายการ (บังคับ)
orders[].websiteเนื้อ JSONtaobao · tmall · 1688
orders[].order_numberเนื้อ JSONเลขออเดอร์ ตัวเลข 6-24 หลัก
orders[].amount_cnyเนื้อ JSONยอดที่ต้องจ่ายร้าน หยวน
orders[].noteเนื้อ JSONหมายเหตุ
noteเนื้อ JSONหมายเหตุของบิล
expected_total_thbเนื้อ JSONยอดบาทที่คาดไว้

จัดส่ง/มารับ

POST /v1/deliveries

สร้างบิลจัดส่งหรือมารับเอง ยังไม่หักเงิน จัดส่งจะสรุปค่าส่งหลังชั่งของ

สิทธิ์คีย์ที่ต้องมี delivery.create · ตอบ 201 พร้อมรายการที่สร้าง

พารามิเตอร์ส่งทางความหมาย
methodเนื้อ JSONdelivery หรือ pickup (บังคับ)
parcel_idsเนื้อ JSONจาก GET /v1/deliveries/ready-parcels (บังคับ)
carrierเนื้อ JSONชื่อบริษัทขนส่งจาก GET /v1/deliveries/carriers (บังคับเมื่อ delivery)
recipient_address_idเนื้อ JSONจาก GET /v1/deliveries/recipient-addresses (บังคับเมื่อ delivery)
sender_address_idเนื้อ JSONจาก GET /v1/deliveries/sender-addresses ไม่ส่งคือใช้ผู้ส่งของบริษัท
noteเนื้อ JSONหมายเหตุถึงเจ้าหน้าที่

POST /v1/deliveries/recipient-addresses

สิทธิ์คีย์ที่ต้องมี delivery.create · ตอบ 201 พร้อมรายการที่สร้าง

ค้นหาสินค้า

GET /v1/products/search

ค้นสินค้า Taobao / 1688 ด้วยคำ (พิมพ์ไทย อังกฤษ หรือจีนได้ ระบบแปลเป็นจีนให้ก่อนค้น) ค่าบริการ 1 บาทต่อหน้าที่เจอสินค้า · แปลไทย +0.5 บาท

สิทธิ์คีย์ที่ต้องมี order.create

พารามิเตอร์ส่งทางความหมาย
qท้ายที่อยู่คำค้น 1-80 ตัวอักษร (บังคับ)
platformท้ายที่อยู่1688 (ค่าเริ่มต้น) หรือ taobao
pageท้ายที่อยู่หน้า 1-50
langท้ายที่อยู่th = ชื่อสินค้าเป็นไทยทุกชิ้น (+0.5 บาท) · cn = ชื่อเดิมจากร้าน · ไม่ส่ง = ชื่อไทยเฉพาะชิ้นที่มีอยู่แล้ว
rawท้ายที่อยู่1 = ค้นตามคำที่พิมพ์ ไม่แปล
sourceท้ายที่อยู่store = ค้นในคลังสินค้าของ PTCARGO อย่างเดียว (คิดเท่าค้นด้วยคำ · lang=th คิดค่าแปลเพิ่ม)

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
search_termคำที่ใช้ค้นจริง (หลังแปล)
items[].product_idเลขสินค้า
items[].titleชื่อสินค้าตาม lang
items[].title_originalชื่อเดิมจากร้าน
items[].price_cnyราคา (หยวน)
items[].product_urlลิงก์สินค้า ใช้กับ GET /v1/products/item หรือสร้างใบสั่งซื้อ
feeค่าบริการที่หักครั้งนี้ {charged_thb, wallet_balance_thb} ไม่มีช่องนี้ = ไม่เสียเงิน

GET /v1/products/item

รายละเอียดสินค้าจากลิงก์หรือเลขสินค้า ค่าบริการ 1 บาทต่อครั้งที่ดึงสำเร็จ · แปลไทย +0.5 บาท

สิทธิ์คีย์ที่ต้องมี order.create

พารามิเตอร์ส่งทางความหมาย
urlท้ายที่อยู่ลิงก์สินค้า Taobao / Tmall / 1688
platformท้ายที่อยู่1688 หรือ taobao (ใช้คู่กับ product_id แทน url)
product_idท้ายที่อยู่เลขสินค้า
freshท้ายที่อยู่1 = ดึงข้อมูลใหม่ล่าสุด (คิดค่าบริการ)
langท้ายที่อยู่th = แปลชื่อ หมวด ตัวเลือก และสเปกเป็นไทย (+0.5 บาท) · cn = ชื่อเดิม
waitท้ายที่อยู่1 = รอประเมินและแปลไทยให้ครบในคำขอเดียว (สินค้าใหม่ครั้งแรกช้า 20–60 วินาที) ไม่ส่ง = ตอบทันที ส่วนที่ยังไม่มีทำเบื้องหลัง
estimateท้ายที่อยู่ไม่ส่ง = ตอบทันที สินค้าที่ยังไม่เคยประเมินได้ status pending แล้วระบบประเมินเบื้องหลัง (ราว 20 วินาที) เรียกซ้ำภายใน 30 นาทีได้ผลครบโดยไม่คิดเงินซ้ำ · wait = รอผลในคำขอเดียว (ครั้งแรกช้า) · 0 = ไม่เอา

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
price_tiersราคาขายส่งตามจำนวน [{min_quantity, price_cny}]
cost_price_cnyราคาทุน (ถูกที่สุดที่หาได้) null = ยังไม่มี
sell_price_cnyราคาขาย (ราคาต่ำสุดที่ร้านโชว์)
sku_groupsกลุ่มตัวเลือก (สี ไซซ์) พร้อมรูป
skusราคาและสต็อกของแต่ละตัวเลือก cost_price_cny = ราคาทุนของตัวเลือกนั้น
china_shippingค่าส่งในจีนจากร้านถึงโกดัง PTCARGO {fee_cny, basis shop=ร้านแจ้ง|estimate=ประเมินจากน้ำหนัก, for_quantity, ship_from}
price_original_cny / price_promotion_cny / price_coupon_cnyราคาเต็ม (ขีดฆ่า) · ราคาโปร · ราคาหลังคูปองร้าน (Taobao)
promotion_labelsป้ายโปรของร้าน
shop_id / shop_url / shop_level / shop_medalรหัสร้าน · ลิงก์ร้าน (ถ้ามี) · ระดับร้าน · เหรียญร้าน (1688)
title_en / product_code / listed_atชื่ออังกฤษ · รหัสสินค้าของร้าน · วันที่ร้านลงสินค้า (1688)
mix_batchร้านให้คละแบบได้ {min_amount_cny, min_pieces} (1688)
free_return_7dคืนได้ใน 7 วันไม่ต้องให้เหตุผล (1688)
selling_point / certificatesจุดขาย · ใบรับรอง (1688)
description_htmlรายละเอียดสินค้าจากร้าน (HTML)
detail_imagesรูปในรายละเอียดสินค้า (รูปยาว)
translationสถานะแปลไทย (lang=th) {status ok|pending} pending = ส่วนที่ยังไม่เคยแปลยังเป็นภาษาเดิม ระบบแปลเบื้องหลัง เรียกซ้ำภายใน 30 นาทีได้ไทยครบโดยไม่คิดเงินซ้ำ
estimateน้ำหนัก/ขนาด/ประเภทนำเข้า {status ok|pending|unavailable, basis measured (ชั่งจริงจากของที่นำเข้าแล้ว)|estimated, weight_kg size_cm{l,w,h} cbm = กล่องเมื่อสั่งชิ้นเดียว, bulk_weight_kg bulk_cbm = ต่อชิ้นเมื่อสั่งจำนวนมาก, import_type, brand, permits, hs_code, confidence} pending = กำลังประเมิน เรียกซ้ำได้
specsสเปกสินค้า [{name, value}]
categoryหมวดสินค้า
videosคลิปสินค้า (1688)
white_imageรูปพื้นขาว (1688)
shop_scoresคะแนนร้าน (1688)
repeat_rateอัตราลูกค้าซื้อซ้ำ 0-1 (1688)
weight_kgน้ำหนักตามที่ร้านแจ้ง (1688)
ship_fromเมืองที่ส่ง (1688)
feeค่าบริการที่หักครั้งนี้

POST /v1/products/search-by-image

ค้นสินค้าด้วยรูป ค่าบริการ 2 บาทต่อครั้งที่เจอสินค้า · แปลไทย +0.5 บาท ไม่ต้องส่ง Idempotency-Key

สิทธิ์คีย์ที่ต้องมี order.create

พารามิเตอร์ส่งทางความหมาย
image_base64เนื้อ JSONรูป JPG PNG หรือ GIF เป็น base64 (หรือ data URL) ไม่เกิน 5 MB บังคับถ้าไม่ส่ง image_id
image_idเนื้อ JSONรหัสรูปจากคำตอบครั้งก่อน ใช้ขอหน้าถัดไปโดยไม่ต้องส่งรูปซ้ำ (เก็บไว้ราว 3 วัน)
platformเนื้อ JSON1688 (ค่าเริ่มต้น) หรือ taobao
pageเนื้อ JSONหน้า 1-20
langเนื้อ JSONth · cn · ไม่ส่ง เหมือนค้นด้วยคำ

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
image_idรหัสรูป เก็บไว้ขอหน้าถัดไป
itemsรายการสินค้า รูปแบบเดียวกับค้นด้วยคำ
feeค่าบริการที่หักครั้งนี้

ประวัติสั่งซื้อ

GET /v1/purchase-orders

รายการใบสั่งซื้อทั้งหมด ใหม่สุดก่อน

พารามิเตอร์ส่งทางความหมาย
pageท้ายที่อยู่หน้าที่ต้องการ เริ่มที่ 1
per_pageท้ายที่อยู่จำนวนต่อหน้า 1-100 (ค่าเริ่มต้น 20)
fromท้ายที่อยู่วันที่เริ่ม YYYY-MM-DD
toท้ายที่อยู่วันที่สิ้นสุด YYYY-MM-DD
statusท้ายที่อยู่กรองตามรหัสสถานะ (ดูตารางสถานะ)

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
order_noเลขใบสั่งซื้อ เช่น FC135790
order_dateวันที่สร้างใบสั่งซื้อ
statusสถานะ {code, label}
shipping_methodวิธีขนส่งจีน-ไทย {code, label}
optionsบริการเสริม ตรวจสินค้า ประกัน ตีลังไม้
yuan_rateเรทหยวนของบิล
amounts.goods_thbค่าสินค้า ค่าส่งในจีน ค่าบริการ รวมเป็นบาท
amounts.import_thbค่านำเข้า (บาท)
amounts.total_thbยอดรวมของบิล (บาท) คิดแบบเดียวกับตอนกดชำระบนเว็บ
amounts.paid_thbยอดที่ชำระแล้ว (บาท)
amounts.outstanding_thbยอดค้างชำระ (บาท) ติดลบคือจ่ายเกิน รอคืน

GET /v1/purchase-orders/{order_no}

รายละเอียดใบสั่งซื้อ พร้อมร้าน สินค้า และพัสดุ

พารามิเตอร์ส่งทางความหมาย
order_noในที่อยู่เลขใบสั่งซื้อ

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
shopsร้านในบิล เลขออเดอร์จีน เลขแท็คกิ้งในจีน ค่าส่งในจีน
productsสินค้า ลิงก์ ขนาด สี ราคาต่อชิ้น (หยวน) จำนวน
parcelsพัสดุของบิล น้ำหนัก ขนาด วันถึงโกดังจีน/ไทย ค่านำเข้า

ประวัตินำเข้า

GET /v1/imports

รายการบิลนำเข้า (บิล PT) ใหม่สุดก่อน

พารามิเตอร์ส่งทางความหมาย
pageท้ายที่อยู่หน้าที่ต้องการ เริ่มที่ 1
per_pageท้ายที่อยู่จำนวนต่อหน้า 1-100 (ค่าเริ่มต้น 20)
fromท้ายที่อยู่วันที่เริ่ม YYYY-MM-DD
toท้ายที่อยู่วันที่สิ้นสุด YYYY-MM-DD
statusท้ายที่อยู่กรองตามรหัสสถานะ (ดูตารางสถานะ)

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
import_noเลขบิลนำเข้า เช่น PT139082
import_dateวันที่ของบิล
statusสถานะ {code, label}
parcel_countจำนวนพัสดุในบิล
parcels_arrived_thailandจำนวนพัสดุที่ถึงโกดังไทยแล้ว
amounts.total_thbยอดรวมของบิล (บาท) คิดแบบเดียวกับตอนกดชำระบนเว็บ
amounts.paid_thbยอดที่ชำระแล้ว (บาท)
amounts.outstanding_thbยอดค้างชำระ (บาท) ติดลบคือจ่ายเกิน รอคืน

GET /v1/imports/{import_no}

รายละเอียดบิลนำเข้า พร้อมพัสดุทุกกล่อง

พารามิเตอร์ส่งทางความหมาย
import_noในที่อยู่เลขบิลนำเข้า

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
parcels.tracking_numbersเลขแท็คกิ้งจีนของกล่อง
parcels.arrived_china_atวันที่ถึงโกดังจีน
parcels.arrived_thailand_atวันที่ถึงโกดังไทย ว่างคือยังไม่ถึง
parcels.charge_basisคิดค่านำเข้าตาม weight / volume / piece / container / free
parcels.import_cost_thbค่านำเข้าของกล่อง (บาท)

ประวัติแลกเงินหยวน

GET /v1/yuan-exchanges

รายการแลกเงินหยวน โอนเข้าบัญชีธนาคารจีน

พารามิเตอร์ส่งทางความหมาย
pageท้ายที่อยู่หน้าที่ต้องการ เริ่มที่ 1
per_pageท้ายที่อยู่จำนวนต่อหน้า 1-100 (ค่าเริ่มต้น 20)
fromท้ายที่อยู่วันที่เริ่ม YYYY-MM-DD
toท้ายที่อยู่วันที่สิ้นสุด YYYY-MM-DD
statusท้ายที่อยู่กรองตามรหัสสถานะ (ดูตารางสถานะ)

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
exchange_noเลขรายการ เช่น T00779
requested_atวันเวลาที่แจ้ง
completed_atวันเวลาที่โอนสำเร็จ
china_bank_accountบัญชีปลายทางในจีน
amounts.requested_cnyยอดที่ขอโอน (หยวน)
amounts.transferred_cnyยอดที่โอนจริง (หยวน)
amounts.fee_cnyค่าบริการ (หยวน)
amounts.total_thbยอดรวมของบิล (บาท) คิดแบบเดียวกับตอนกดชำระบนเว็บ
amounts.paid_thbยอดที่ชำระแล้ว (บาท)
amounts.outstanding_thbยอดค้างชำระ (บาท) ติดลบคือจ่ายเกิน รอคืน

GET /v1/yuan-exchanges/bank-accounts

บัญชีธนาคารจีนที่บันทึกไว้ ใช้ bank_account_id ตอนแลกเงินหยวน

GET /v1/yuan-exchanges/{exchange_no}

รายละเอียดรายการแลกเงินหยวน

พารามิเตอร์ส่งทางความหมาย
exchange_noในที่อยู่เลขรายการ

ประวัติเติม Alipay

GET /v1/alipay-topups

รายการเติมเงิน Alipay / WeChat

พารามิเตอร์ส่งทางความหมาย
pageท้ายที่อยู่หน้าที่ต้องการ เริ่มที่ 1
per_pageท้ายที่อยู่จำนวนต่อหน้า 1-100 (ค่าเริ่มต้น 20)
fromท้ายที่อยู่วันที่เริ่ม YYYY-MM-DD
toท้ายที่อยู่วันที่สิ้นสุด YYYY-MM-DD
statusท้ายที่อยู่กรองตามรหัสสถานะ (ดูตารางสถานะ)

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
topup_noเลขรายการ เช่น R03994
walletบัญชีที่เติม {type: alipay|wechat, username}
amounts.requested_cnyยอดที่ขอเติม (หยวน)
amounts.topped_up_cnyยอดที่เติมจริง (หยวน)
amounts.total_thbยอดรวมของบิล (บาท) คิดแบบเดียวกับตอนกดชำระบนเว็บ
amounts.paid_thbยอดที่ชำระแล้ว (บาท)
amounts.outstanding_thbยอดค้างชำระ (บาท) ติดลบคือจ่ายเกิน รอคืน

GET /v1/alipay-topups/wallet-accounts

บัญชี Alipay / WeChat ที่บันทึกไว้ ใช้ wallet_account_id ตอนเติมเงิน

GET /v1/alipay-topups/{topup_no}

รายละเอียดรายการเติม Alipay

พารามิเตอร์ส่งทางความหมาย
topup_noในที่อยู่เลขรายการ

ประวัติฝากจ่าย

GET /v1/pay-on-behalf

รายการฝากจ่ายร้านจีน (Taobao / Tmall / 1688)

พารามิเตอร์ส่งทางความหมาย
pageท้ายที่อยู่หน้าที่ต้องการ เริ่มที่ 1
per_pageท้ายที่อยู่จำนวนต่อหน้า 1-100 (ค่าเริ่มต้น 20)
fromท้ายที่อยู่วันที่เริ่ม YYYY-MM-DD
toท้ายที่อยู่วันที่สิ้นสุด YYYY-MM-DD
statusท้ายที่อยู่กรองตามรหัสสถานะ (ดูตารางสถานะ)

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
bill_noเลขบิลฝากจ่าย เช่น HP00492
platform_usernameบัญชีร้านที่ใช้กดจ่าย
amounts.requested_cnyยอดที่ขอให้จ่าย (หยวน)
amounts.paid_to_seller_cnyยอดที่จ่ายร้านจริง (หยวน)
amounts.refund_thbยอดคืนที่อนุมัติแล้ว (บาท)
amounts.total_thbยอดรวมของบิล (บาท) คิดแบบเดียวกับตอนกดชำระบนเว็บ
amounts.paid_thbยอดที่ชำระแล้ว (บาท)
amounts.outstanding_thbยอดค้างชำระ (บาท) ติดลบคือจ่ายเกิน รอคืน

GET /v1/pay-on-behalf/shop-accounts

บัญชีร้าน Taobao / Tmall / 1688 ที่บันทึกไว้ ใช้ shop_account_id ตอนฝากจ่าย

GET /v1/pay-on-behalf/{bill_no}

รายละเอียดบิลฝากจ่าย พร้อมออเดอร์และรายการคืนเงิน

พารามิเตอร์ส่งทางความหมาย
bill_noในที่อยู่เลขบิลฝากจ่าย

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
ordersออเดอร์ที่ฝากจ่าย
refundsคำขอคืนเงินของบิล

ประวัติจัดส่ง/มารับ

GET /v1/deliveries

รายการจัดส่งและมารับเอง

พารามิเตอร์ส่งทางความหมาย
pageท้ายที่อยู่หน้าที่ต้องการ เริ่มที่ 1
per_pageท้ายที่อยู่จำนวนต่อหน้า 1-100 (ค่าเริ่มต้น 20)
fromท้ายที่อยู่วันที่เริ่ม YYYY-MM-DD
toท้ายที่อยู่วันที่สิ้นสุด YYYY-MM-DD
statusท้ายที่อยู่กรองตามรหัสสถานะ (ดูตารางสถานะ)
methodท้ายที่อยู่delivery = จัดส่ง pickup = มารับเอง

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
delivery_noเลขบิลจัดส่ง เช่น RE156040
methoddelivery หรือ pickup
carrierบริษัทขนส่ง ว่างเมื่อมารับเอง
carrier_tracking_numbersเลขพัสดุของบริษัทขนส่งในไทย
recipientผู้รับ ชื่อ โทร ที่อยู่
senderผู้ส่ง ว่างคือใช้ผู้ส่งตั้งต้นของบริษัท
amounts.total_thbยอดรวมของบิล (บาท) คิดแบบเดียวกับตอนกดชำระบนเว็บ
amounts.paid_thbยอดที่ชำระแล้ว (บาท)
amounts.outstanding_thbยอดค้างชำระ (บาท) ติดลบคือจ่ายเกิน รอคืน

GET /v1/deliveries/ready-parcels

พัสดุที่ยังไม่อยู่ในบิลจัดส่ง ใช้ parcel_id ตอนสร้างบิลจัดส่ง/มารับ

GET /v1/deliveries/carriers

บริษัทขนส่งที่เลือกได้ และค่าบริการต่อบิล

GET /v1/deliveries/recipient-addresses

ที่อยู่ผู้รับที่บันทึกไว้

GET /v1/deliveries/sender-addresses

ที่อยู่ผู้ส่งที่บันทึกไว้

GET /v1/deliveries/{delivery_no}

รายละเอียดบิลจัดส่ง พร้อมพัสดุในบิล

พารามิเตอร์ส่งทางความหมาย
delivery_noในที่อยู่เลขบิลจัดส่ง

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
parcelsพัสดุที่อยู่ในบิลนี้

ประวัติการเงิน

GET /v1/finance-history

รายการเงินเข้าออกของบัญชี และยอดเงินคงเหลือ

พารามิเตอร์ส่งทางความหมาย
pageท้ายที่อยู่หน้าที่ต้องการ เริ่มที่ 1
per_pageท้ายที่อยู่จำนวนต่อหน้า 1-100 (ค่าเริ่มต้น 20)
fromท้ายที่อยู่วันที่เริ่ม YYYY-MM-DD
toท้ายที่อยู่วันที่สิ้นสุด YYYY-MM-DD
statusท้ายที่อยู่กรองตามรหัสสถานะ (ดูตารางสถานะ)
reference_noท้ายที่อยู่กรองตามเลขบิลที่เกี่ยวข้อง

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
items.transaction_atวันเวลาของรายการ
items.typeชนิดรายการ {code, label}
items.reference_noเลขบิลหรือเลขรายการที่เกี่ยวข้อง
items.directionin = เงินเข้า out = เงินออก
items.amount_thbจำนวนเงิน (บาท) เป็นบวกเสมอ
wallet_balance_thbยอดเงินคงเหลือในบัญชี (บาท)

GET /v1/rates

เรทหยวน ค่าบริการปัจจุบัน และยอดเงินคงเหลือ ใช้คิดยอดก่อนสั่งทำรายการ

ประวัติเลขแท็คกิ้งของฉัน

GET /v1/my-tracking-numbers

เลขแท็คกิ้งที่แจ้งไว้

พารามิเตอร์ส่งทางความหมาย
pageท้ายที่อยู่หน้าที่ต้องการ เริ่มที่ 1
per_pageท้ายที่อยู่จำนวนต่อหน้า 1-100 (ค่าเริ่มต้น 20)
fromท้ายที่อยู่วันที่เริ่ม YYYY-MM-DD
toท้ายที่อยู่วันที่สิ้นสุด YYYY-MM-DD
statusท้ายที่อยู่กรองตามรหัสสถานะ (ดูตารางสถานะ)

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
items.tracking_numberเลขแท็คกิ้ง
items.noteหมายเหตุที่แจ้งไว้
items.registered_atวันเวลาที่แจ้ง
items.statusสถานะ {code, label}

เช็คสถานะพัสดุ

GET /v1/parcel-status/{tracking_number}

เช็คสถานะพัสดุด้วยเลขแท็คกิ้ง ค้นเฉพาะพัสดุของรหัสคุณ

พารามิเตอร์ส่งทางความหมาย
tracking_numberในที่อยู่เลขแท็คกิ้ง 4-40 ตัว

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
parcels.stageขั้นตอนปัจจุบัน {code, label}
parcels.bill_noเลขบิลที่พัสดุอยู่
parcels.deliveryข้อมูลจัดส่งในไทย ว่างคือยังไม่สร้างบิลจัดส่ง

รหัสนำเข้าส่วนตัว

GET /v1/sub-customers/prefix

ตัวอักษรนำหน้าของคุณ + รูปแบบรหัสลูกค้าย่อย เรียกก่อนเพื่อเช็คว่าพร้อมใช้ (ยังไม่ตั้ง = prefix เป็น null)

สิทธิ์คีย์ที่ต้องมี sub.read

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
prefixตัวอักษรนำหน้า 2-3 ตัว เช่น NN
readytrue = ออกรหัสลูกค้าย่อยผ่าน API ได้
sub_customersจำนวนลูกค้าย่อยที่ใช้งานอยู่
setup_urlหน้าตั้งตัวอักษรนำหน้าบนเว็บ (ต้องยืนยันตัวตนก่อน)

GET /v1/sub-customers/parcels

พัสดุของลูกค้าย่อยทุกคน (ใช้ดึงไปแสดงรวมหรือซิงก์สถานะ) กรองคนเดียวด้วย ?sub_code=

สิทธิ์คีย์ที่ต้องมี sub.read

พารามิเตอร์ส่งทางความหมาย
sub_codeท้ายที่อยู่รหัสลูกค้าย่อย
fromท้ายที่อยู่วันถึงโกดังจีน ตั้งแต่
toท้ายที่อยู่ถึง
stageท้ายที่อยู่กรองสถานะ
pageท้ายที่อยู่หน้า
per_pageท้ายที่อยู่ต่อหน้า 1-100

GET /v1/sub-customers

รายชื่อลูกค้าย่อยทั้งหมด ใหม่สุดก่อน ใช้ซิงก์ไปแสดงที่เว็บของคุณ

สิทธิ์คีย์ที่ต้องมี sub.read

พารามิเตอร์ส่งทางความหมาย
qท้ายที่อยู่ค้นรหัส ชื่อ เบอร์ อีเมล
updated_sinceท้ายที่อยู่เฉพาะที่เพิ่ม/แก้ตั้งแต่ YYYY-MM-DD หรือ YYYY-MM-DD HH:MM:SS (ซิงก์รอบถัดไป)
pageท้ายที่อยู่หน้าที่ต้องการ เริ่มที่ 1
per_pageท้ายที่อยู่จำนวนต่อหน้า 1-100 (ค่าเริ่มต้น 20)

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
sub_codeรหัสลูกค้าย่อย เช่น NN0001 ให้ลูกค้าเขียนบนกล่อง / ใส่ในที่อยู่จีน
first_nameชื่อ
last_nameนามสกุล
phoneเบอร์
emailอีเมล
addressที่อยู่ในไทย {line, subdistrict, district, province, postcode}
noteบันทึกส่วนตัวของคุณ (ลูกค้าย่อยไม่เห็น)
ratesเรทที่คุณตั้งให้ลูกค้าคนนี้ (ไว้ดูกำไร PTCARGO ไม่ใช้คิดเงิน)
sourceapi (ออกจาก API) · manual (เพิ่มในเว็บ) · import (เคยเขียนบนกล่อง) · auto (โกดังจีนเจอรหัส)
parcels.countจำนวนห่อที่เข้าโกดังด้วยรหัสนี้
china_address.copy_textที่อยู่โกดังจีนพร้อมรหัส ให้ลูกค้าย่อยก๊อปไปวางในร้านจีน

POST /v1/sub-customers

ออกรหัสลูกค้าย่อยใหม่ให้อัตโนมัติ เรียกตอนลูกค้าสมัครสมาชิกที่เว็บของคุณ ได้รหัสถัดไป (เลขรัน ไม่ซ้ำ) + ที่อยู่โกดังจีน

สิทธิ์คีย์ที่ต้องมี sub.create · ตอบ 201 พร้อมรายการที่สร้าง

พารามิเตอร์ส่งทางความหมาย
first_nameเนื้อ JSONชื่อ (บังคับ)
last_nameเนื้อ JSONนามสกุล
phoneเนื้อ JSONเบอร์ 6-30 ตัว
emailเนื้อ JSONอีเมล
addressเนื้อ JSON{line, subdistrict, district, province, postcode (5 หลัก)} หรือข้อความบรรทัดเดียว
noteเนื้อ JSONบันทึกส่วนตัว เช่น รหัสสมาชิกในเว็บของคุณ
ratesเนื้อ JSONเรทของคุณ {car_kg_1: 25, ship_cbm_1: 4500, ...} ไม่บังคับ
dedupeเนื้อ JSONค่าเริ่ม true = อีเมลหรือเบอร์ซ้ำกับลูกค้าย่อยเดิม คืนรหัสเดิม (HTTP 200, existing=true) ไม่ออกรหัสใหม่

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
sub_codeรหัสที่ออกให้ เก็บไว้ที่เว็บของคุณคู่กับสมาชิกคนนั้น
existingtrue = พบลูกค้าเดิม ไม่ได้ออกรหัสใหม่
china_address.copy_textที่อยู่โกดังจีนพร้อมรหัส แสดงให้ลูกค้าก๊อปได้ทันที

GET /v1/sub-customers/{sub_code}/parcels

พัสดุของลูกค้าย่อยคนนี้ พร้อมสถานะ (ถึงโกดังจีน → ถึงไทย → จัดส่ง)

สิทธิ์คีย์ที่ต้องมี sub.read

พารามิเตอร์ส่งทางความหมาย
sub_codeในที่อยู่รหัสลูกค้าย่อย
fromท้ายที่อยู่วันถึงโกดังจีน ตั้งแต่ YYYY-MM-DD
toท้ายที่อยู่ถึง YYYY-MM-DD
stageท้ายที่อยู่กรองสถานะ arrived_china_warehouse · arrived_thailand · awaiting_delivery · ready_for_pickup · shipped · picked_up
pageท้ายที่อยู่หน้า
per_pageท้ายที่อยู่ต่อหน้า 1-100

ช่องสำคัญในผลลัพธ์

ช่องความหมาย
stageสถานะ {code, label}
tracking_numbersเลขแท็คกิ้งจีนของกล่อง
arrived_china_atวันถึงโกดังจีน
arrived_thailand_atวันถึงโกดังไทย (null = ยังไม่ถึง)
bill_noเลขบิลของบัญชีคุณ (บิลเก็บเงินเป็นของบัญชีคุณ ไม่แยกต่อลูกค้าย่อย)
deliveryบิลจัดส่งในไทย ขนส่ง เลขพัสดุ

GET /v1/sub-customers/{sub_code}

ข้อมูลลูกค้าย่อยหนึ่งคน + ที่อยู่โกดังจีนพร้อมรหัส

สิทธิ์คีย์ที่ต้องมี sub.read

พารามิเตอร์ส่งทางความหมาย
sub_codeในที่อยู่รหัสลูกค้าย่อย เช่น NN0001

POST /v1/sub-customers/{sub_code}

แก้ข้อมูลลูกค้าย่อย ส่งเฉพาะช่องที่จะเปลี่ยน ช่องที่ไม่ส่งคงค่าเดิม รหัสเปลี่ยนไม่ได้

สิทธิ์คีย์ที่ต้องมี sub.create · ตอบ 201 พร้อมรายการที่สร้าง

พารามิเตอร์ส่งทางความหมาย
sub_codeในที่อยู่รหัสลูกค้าย่อย
first_nameเนื้อ JSONชื่อ
last_nameเนื้อ JSONนามสกุล
phoneเนื้อ JSONเบอร์
emailเนื้อ JSONอีเมล
addressเนื้อ JSONที่อยู่
noteเนื้อ JSONบันทึก
ratesเนื้อ JSONเรทของคุณ

รหัสสถานะ

ใช้กรองด้วย ?status= ได้ในเมนูที่มีตารางนั้น ค่าที่ไม่รู้จักจะได้ code = other พร้อม label เดิม

ใบสั่งซื้อ

codelabel
selectingเลือกสินค้า
awaiting_quoteรอใบเสนอราคา
awaiting_paymentรอชำระค่าสินค้า
awaiting_purchaseรอกดสั่งซื้อ
awaiting_supplier_paymentรอจ่ายร้านจีน
pre_orderพรีออเดอร์
purchasedสั่งซื้อแล้ว
awaiting_import_paymentรอชำระค่านำเข้า
choosing_deliveryเลือกการจัดส่ง
awaiting_delivery_quoteรอสรุปค่าจัดส่ง
awaiting_delivery_paymentรอชำระค่าจัดส่ง
awaiting_shipmentรอจัดส่ง
ready_for_pickupมารับได้
shippedจัดส่งแล้ว
out_of_stockสินค้าหมด
full_containerเหมาตู้
cancelledยกเลิก

บิลนำเข้า

codelabel
choosing_deliveryเลือกการจัดส่ง
awaiting_paymentรอชำระค่านำเข้า
completedเสร็จสมบูรณ์
cancelledยกเลิก

แลกเงินหยวน · เติม Alipay · ฝากจ่าย

codelabel
pendingรอยืนยัน
processingรอกดจ่าย
cancel_requestedแจ้งยกเลิก
completedยืนยัน
rejectedไม่ยืนยัน
cancelledยกเลิก

จัดส่ง / มารับ

codelabel
awaiting_quoteรอสรุปค่าจัดส่ง
awaiting_paymentรอชำระเงิน
awaiting_shipmentรอจัดส่ง
shippedจัดส่งแล้ว
awaiting_pickup_noticeรอแจ้งมารับ
ready_for_pickupรอมารับ
picked_upมารับแล้ว
returnedส่งกลับ
cancel_requestedแจ้งยกเลิก
cancelledไม่ยืนยัน

รายการการเงิน

codelabel
pendingรอยืนยัน
completedยืนยัน
rejectedไม่ยืนยัน
cancelledยกเลิก

ชนิดรายการการเงิน

codelabel
paymentชำระเงิน
top_upเติมเงิน PTPAY
refundโอนเงินคืน
withdrawalถอนเงิน PTPAY
commissionส่วนแบ่ง
pay_on_behalf_refundโอนคืนฝากจ่าย
account_transferย้ายเงิน
lucky_drawวัดดวง

เลขแท็คกิ้งของฉัน

codelabel
waitingรอดำเนินการ
receivedได้รับแล้ว
not_yoursไม่ใช่ของคุณ

ขั้นตอนพัสดุ (เช็คสถานะพัสดุ)

codelabel
registeredแจ้งเลขแท็คกิ้งแล้ว รอเข้าโกดังจีน
arrived_china_warehouseถึงโกดังจีนแล้ว
arrived_thailandถึงโกดังไทยแล้ว
awaiting_deliveryสร้างบิลจัดส่งแล้ว รอส่ง
ready_for_pickupรอมารับ
shippedจัดส่งแล้ว
picked_upมารับแล้ว