Carrier Service
Mục Lục
Cấp phát quyền truy cập Carrier Service
Carrier Service thuộc nhóm order nên cần quyền ( permission ) read_orders, write_orders .
Xem thông tin về cấp phép quyền tại đây .
Xây dựng dịch vụ cung cấp các shipping rates cho Carrier Service
Để cài đặt được 1 Carrier Service bạn phải cung cấp 1 địa chỉ POST (public POST endpoint) thông qua callback_url để Sapo Web có thể lấy các phí ship (shipping rates) khi người dùng thanh toán. Địa chỉ này sẽ nhận các request từ Sapo Web.
Bạn đang đọc: Carrier Service
Ví dụ một request lấy những shipping rates từ Sapo Web :
POST
{ "rate": { "origin": { "country": "Việt Nam", "country_code": "VN", "province": "Hà Nội", "province_code": "04", "district": "", "district_code": "", "ward": "", "ward_code": null, "name": "Cửa hàng tiện lợi", "address1": "434 Nguyễn Chí Thanh", "address2": "", "phone": null, "email": null }, "destination": { "country": "Việt Nam", "country_code": "VN", "province": "Hà Nội", "province_code": "04", "district": "Ba Đình", "district_code": "494", "ward": null, "ward_code": null, "name": null, "address1": "43 Nguyễn Chí Thanh", "address2": null, "phone": null, "email": null }, "items": [ { "name": "Nước tăng lực", "sku": null, "quantity": 2, "grams": 300, "price": 1000000, "vendor": null, "requires_shipping": true, "product_id": 1122429712, "variant_id": 3424219217 } ], "currency": "VND" } }
Xem tác dụng
HTTP/1.1 200 Ok { "rates": [ { "service_name": "Giao hàng trong 2h", "service_code": "GH2H", "total_price": 1000000, "description": "", "currency": "VND" }, { "service_name": "Giao hàng tiêu chuẩn", "service_code": "GHTC", "total_price": 500000, "description": "", "currency": "VND" } ] }
tin tức trả về :
Khi Sapo Web request shipping rates theo callback_url của bạn, trường rates trả về phải là một mảng những object với thông tin như sau. Các trường ghi lại required phải được trả về thì mới được tính là hợp lệ
service_name ( required ) |
Tên của shipping rate, người mua hoàn toàn có thể nhìn thấy ở trang checkout . Ví dụ : Giao hàng trong 2 h |
service_code ( required ) |
Mã code để phân biệt giữa các shipping rates. Ví dụ: GH2H |
description | Mô tả cho shipping rate hiện tại |
total_price ( required ) |
Tổng phí luân chuyển của đơn hàng ( kiểu integer được nhân 100 cho việc giải quyết và xử lý phần thập phân. Tương tự cho trường price trong request ) |
currency Xem thêm: Điều hòa CARRIER 2 chiều 38/42 HVES 018 ( required ) |
Đơn vị tiền tệ của phí trả về ( Phải cùng đơn vị chức năng tiền tệ với request ) |
Caching phía server
Sapo Web sử dụng 1 tầng cache. Các thông tin sau sẽ được sử dụng cho việc cache :
- product_id, variant_id
- khối lượng item (grams), số lượng item (quantity)
- carrier service_id
- địa chỉ đầu, địa chỉ đích
Nếu một trong những thông tin trên biến hóa, request shipping rates mới sẽ được gọi sang đối tác chiến lược. Thông tin cache sẽ được expire sau 15 phút so với request success hoặc 30 s so với failure request
Bạn có thể làm gì với Carrier Service?
API Carrier Service được cho phép bạn thực thi như sau :
Các thuộc tính của Carrier Service
id |
Số duy nhất định danh cho Carrier Service . |
name |
Tên Carrier Service ( Tên này sẽ Open trong thông số kỹ thuật trang admin của chủ shop ) |
callback_url |
Đường dẫn Sapo Web cần để lấy những phí ship từ đối tác chiến lược |
active |
Trạng thái bật tắt Carrier Service |
type |
legacy hoặc api ( mặc định là api ) |
service_discovery |
Trạng thái xác lập chủ shop hoàn toàn có thể nhìn thấy những shipping rates trong thông số kỹ thuật trang admin. Các shipping rates này có được bằng việc gửi 1 request xác lập ( dummy request ) tới callback_url trong trang thông số kỹ thuật admin của chủ shop |
Endpoints
POST/admin/carrier_services.json
Tạo một Carrier Service
POST /admin/carrier_services.json
{ "carrier_service": { "name": "Demo Shipping App", "callback_url": "http://shippingrateprovider_url.com", "service_discovery": true } }
Xem kết quả
HTTP/1.1 201 Created { "carrier_service": { "id": 214144414, "name": "Demo Shipping App", "active": true, "type": "api", "service_discovery": true, "callback_url": "http://shippingrateprovider_url.com" } }
GET/admin/carrier_services.json
Lấy danh sách tất cả Carrier Service
GET /admin/carrier_services.json
Xem kết quả
HTTP/1.1 200 Ok { "carrier_services": [ { "id": 214144414, "name": "Demo Shipping App", "active": true, "type": "api", "service_discovery": false, "callback_url": "http://shippingrateprovider_url.com" } ] }
GET/admin/carrier_services/#{id}.json
Xem thêm: Willis Carrier – Wikipedia tiếng Việt
Lấy thông tin một Carrier Service
GET /admin/carrier_services/214144414.json
Xem kết quả
HTTP/1.1 200 Ok { "carrier_service": { "id": 214144414, "name": "Demo Shipping App", "active": true, "type": "api", "service_discovery": false, "callback_url": "http://shippingrateprovider_url.com" } }
DELETE/admin/carrier_services/#{id}.json
Xoá một Carrier Service
DELETE /admin/carrier_services/214144414.json
Xem kết quả
HTTP/1.1 204 No Content
Source: https://dvn.com.vn
Category : Carrier