Opłacanie przesyłki
Na tej stronie
Opłacanie przesyłki
W momencie wyboru oferty, pozostałe (niewybrane) są usuwane.
Ponieważ zakup przesyłki działa asynchronicznie, serwer w odpowiedzi zwróci informacje o przesyłce nieuwzględniające zmian wywołanych przez zakup (zmiana statusu, nadanie numeru przewozowego), gdyż informacje te będą dostępne dopiero po pewnym czasie.
POST /v1/shipments/:id/buy |
Parametry
Parametr | Typ | Opis | Walidacja |
---|---|---|---|
| Integer | ID oferty, która dostępna jest dla opłacanej przesyłki. | Atrybut jest wymagany
|
Przykładowe zapytanie
curl -X POST https://api-shipx-pl.easypack24.net/v1/shipments/1/buy -H 'Authorization: Bearer token' -H 'Content-Type: application/json' -d '{
"offer_id": 1456
}' |
Odpowiedź
HTTP/1.1 200 OK
Content-Type: application/json
{
"href": "https://api-shipx-pl.easypack24.net/v1/organizations/1/shipments/1",
"id": "1",
"parcels": [
{
"id": "small package",
"template": "small",
"dimensions": {
"length": "80",
"width": "360",
"height": "640",
"unit": "mm"
},
"weight": {
"amount": "25",
"unit": "kg"
},
"tracking_number": null
}
],
"custom_attributes": {
"target_point": "KRA010",
"dropoff_point": null,
"sending_method": "parcel_locker",
"dispatch_order_id": 1
},
"sender": {
"id": "123",
"name": "Nazwa",
"company_name": "InPost S.A.",
"first_name": "Jan",
"last_name": "Nowak",
"email": "sender@email.com",
"phone": "888000000",
"address": {
"id": "123",
"street": "Malborska",
"building_number": "130",
"city": "Kraków",
"post_code": "30-624",
"country_code": "PL"
}
},
"receiver": {
"id": "123",
"name": "Nazwa",
"company_name": null,
"first_name": null,
"last_name": null,
"email": "sender@email.com",
"phone": "888000000",
"address": null
},
"created_at": "2015-09-06T19:21:00.000+02:00",
"cod_amount": {
"amount": 12.50,
"currency": "PLN"
},
"insurance": {
"amount": 25,
"currency": "PLN"
},
"reference": "Order No. 12345",
"is_return": false,
"tracking_number": null,
"external_customer_id": "8877xxx",
"offers": [
{
"id": 1456,
"carrier": {
"id": "inpost_locker",
"name": "InPost Paczkomaty",
"description": "InPost Paczkomaty - Przesyłki paczkomatowe."
},
"service": {
"id": "inpost_locker_standard",
"name": "Paczkomatowa Standardowa",
"description": "Przesyłka paczkomatowa standardowa."
},
"status": "selected",
"valid_to": null,
"rate": 2.02,
"currency": "PLN",
"unavailability_reasons": null
}
],
"selected_offer": {
"id": 1456,
"carrier": {
"id": "inpost_locker",
"name": "InPost Paczkomaty",
"description": "InPost Paczkomaty - Przesyłki paczkomatowe."
},
"service": {
"id": "inpost_locker_standard",
"name": "Paczkomatowa Standardowa",
"description": "Przesyłka paczkomatowa standardowa."
},
"status": "selected",
"valid_to": null,
"rate": 2.02,
"currency": "PLN",
"unavailability_reasons": null
},
"transactions": []
} |
Informacje obłędach
Lista błędów, które mogą wystąpić przy opłacaniu przesyłki:
resource_not_found
- może wystąpić gdy określona przesyłka nie istnieje lub użytkownik nie ma do niej dostępu,offer_unavailable
- występuje jeśli podejmowana próba opłacenia oferty w statusie innym niżavailable
alboselected
,transaction_failed
- może wystąpić jeżeli nie uda się opłacić przesyłki,offer_expired
- oferta nie może być zakupiona, ponieważ jej ważność wygasła (oferty ważne są przez 5 minut od ich przygotowania)
Asynchroniczne opłacanie przesyłki
Aby otrzymać informację o pomyślnym zakupieniu przesyłki, należy zdefiniować w konfiguracji organizacji adres url, pod który mają być wysyłane informacje dla zdarzenia shipment_confirmed
. Dzięki temu aplikacja ShipX wyśle na podany adres następujące informacje:
POST https://{{adres_podany_w_konfiguracji}}
Content-Type: application/json
{
"event_ts":"2015-12-08 19:42:42 +0100",
"event":"shipment_confirmed",
"organization_id":1,
"payload": {
"shipment_id":1234567890,
"tracking_number":"681549342531876019900138"
}
} |