Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Uwierzytelnianie

Dostęp do zasobu wymaga podania prawidłowego i ważnego access tokenu.


Na tej stronie

Table of Contents

Opłacanie przesyłki

W momencie wyboru oferty, pozostałe (niewybrane) są usuwane.

Info

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.

Code Block
languagejson
POST /v1/shipments/:id/buy

Parametry

Parametr

Typ

Opis

Walidacja

offer_id

Integer

ID oferty, która dostępna jest dla opłacanej przesyłki.

Atrybut jest wymagany

  • Oferta musi mieć status available lub selected (jeśli wcześniej podjęta była próba zakupu zakończona niepowodzeniem).

Przykładowe zapytanie

Code Block
languagejson
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ź

Code Block
languagejson
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": []
}
Warning

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 albo selected,

  • 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:

Code Block
languagejson
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"
	}
}