Why should you migrate to API v3?
API v3 delivers powerful new capabilities unavailable in v2, streamlining operations, especially relevant if you are shipping high-volume and handling complex shipments. A standout improvement is per-parcel customisation for multicollo shipments—allowing you to specify individual weights, dimensions, items, and insurance amounts for each parcel, removing the v2 limitation where all parcels in a shipment had to share identical attributes, thereby enhancing accuracy and flexibility. For single-collo shipments, synchronous announcements now return labels instantly within the API response, minimising the risk of rate limiting by combining shipment creation and label retrieval into a single call. This significantly reduces delays caused by multiple API requests to fetch labels. Brand ID is now decoupled from the sender address, enabling more flexible and precise branding management. Additionally, the entire workflow, from creating orders to printing labels, can be handled programmatically via API, eliminating the need for manual panel interactions and boosting automation efficiency.Exclusive v3 Features
-
Label notes (
parcel.label_notes): Print SKUs for pick-and-pack efficiency, customer delivery instructions (e.g., “Ring the blue doorbell”), or personalised thank-yous. -
SSCC tracking (
parcel.sscc): Monitor pallets or containers across the full supply chain. -
Native ZPL labels (
label_detail.mime_type): Direct carrier ZPL output prevents scanning errors common with converted formats. -
Delivery scheduling (
delivery_dates.handover_at/deliver_at): Notify carriers of planned handover times (ideal for warehouse pickups) and expected delivery to customers.
So, what changed?
Actions
Orders
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| Create an order that shows in the IOV | v2/parcels with request_label set to FALSE OR v2/integrations/{id}/shipments Only available for certified Sendcloud partners | POST https://panel.sendcloud.sc/api/v3/orders | V3 introduced a dedicated Orders API, in V2 its functionalities were spread across Integrations and Parcels APIs. |
| List incoming orders | GET https://panel.sendcloud.sc/api/v2/integrations/{integration_id}/shipments | GET https://panel.sendcloud.sc/api/v3/orders | In V2 it was possible to list shipments per integration. In V3 we simply enable listing all orders. |
| Get a specific order | Using the endpoint above fetch all shipments and then filter by external_order_id / external_reference / order number | GET https://panel.sendcloud.sc/api/v3/orders/{id} | V3 introduced a single object type |
| Update an order | Update an unannounced parcel via PUT https://panel.sendcloud.sc/api/v2/parcels/{id} OR Update the integration shipment by re-sending it (re-creating) via POST https://panel.sendcloud.sc/api/v2/integrations/{id}/shipments | PATCH https://panel.sendcloud.sc/api/v3/orders/{id} | |
| Delete / cancel an order | POST https://panel.sendcloud.sc/api/v2/integrations/{id}/shipments/delete | DELETE https://panel.sendcloud.sc/api/v3/orders/{id} |
Ship an Order
You can only create labels this way if the order already exists in Sendcloud| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| Ship an order (create labels) async | Create parcel + request label immediately: POST https://panel.sendcloud.sc/api/v2/parcels with request_label=true | POST https://panel.sendcloud.sc/api/v3/orders/create-labels-async | |
| Ship an order (create labels) sync | POST https://panel.sendcloud.sc/api/v3/orders/create-labels-sync |
Known discrepancies between Shipment V3 and Ship-an-order V3
(what Shipment V3 supports and Ship-an-order V3 not yet):- synchronous multicollo
- importing order notes
- order split
- shipping rules controls
- label creation when the order doesn’t exist in Sendcloud
- sender address support (dynamic)
- instructions on handling failures stemming from carrier validation errors
Integrations
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| List integrations (show me all connected shops/systems) | GET https://panel.sendcloud.sc/api/v2/integrations | GET https://panel.sendcloud.sc/api/v3/integrations | |
| Get a specific integration (show me the settings of one specific shop connection) | GET https://panel.sendcloud.sc/api/v2/integrations/{id} | GET https://panel.sendcloud.sc/api/v3/integrations/{id} | |
| Update integration (full) → replace all settings | PUT https://panel.sendcloud.sc/api/v2/integrations/{id} | PUT https://panel.sendcloud.sc/api/v3/integrations/{id} | |
| Update integration (partial) → change some settings without touching the rest | PATCH https://panel.sendcloud.sc/api/v2/integrations/{id} | PATCH https://panel.sendcloud.sc/api/v3/integrations/{id} | |
| Delete integration | DELETE https://panel.sendcloud.sc/api/v2/integrations/{id} | DELETE https://panel.sendcloud.sc/api/v3/integrations/{id} | |
| Additional Integration exception logs | https://panel.sendcloud.sc/api/v2/integrations/{id}/logs | - | |
| Get shop order statuses | - | GET https://panel.sendcloud.sc/api/v3/shop-order-statuses | New in v3: lets integrations read which order statuses exist |
| Create/overwrite shop order statuses | - | POST https://panel.sendcloud.sc/api/v3/shop-order-statuses | New in v3: lets integrations define or overwrite the list of statuses used by the shop/system. |
| Get custom status mapping | - | GET https://panel.sendcloud.sc/api/v3/shop-order-statuses/mapping/ | Retrieves how shop order statuses are mapped to Sendcloud’s internal status categories for a specific integration. |
| Create/update custom status mapping | - | POST https://panel.sendcloud.sc/api/v3/shop-order-statuses/mapping/ | Creates or updates the mapping between shop order statuses and Sendcloud’s internal status categories. Only supported for Prestashop v2 integrations. |
Webhook
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| Receive “integration webhook” payload | supported | supported | Sendcloud sends a webhook to your configured URL when integration-related events occur. The payload structure is the same in v2 and v3. |
| Receive “parcel status changed” payload | supported | supported | Sendcloud sends a webhook when the status of a parcel changes. |
| Receive “return created” payload | supported | supported | Sendcloud sends a webhook when a return is created. |
| Enable/disable webhooks + set webhook URL | configurable via integration settings | configurable via integration settings |
Parcels/ Shipments
All rows in blue are new features only supported in API v3| Action | Parcel API v2 | Shipments API v3 | Comment |
|---|---|---|---|
| Create a parcel without shipping rules or defaults synchronously | v2/parcels with apply_shipping_rules set to FALSE and request_label_async set to FALSE | v3/shipments/announce | |
| Create a parcel without shipping rules or defaults asynchronously | v2/parcels with apply_shipping_rules set to FALSE and request_label_async set to TRUE | v3/shipments | |
| Create a parcel with shipping rules or defaults synchronously | v2/parcels with apply_shipping_rules set to TRUE and request_label_async set to FALSE | v3/shipments/announce-with-shipping-rules | |
| Create a parcel with shipping rules or defaults asynchronously | v2/parcels with apply_shipping_rules set to TRUE and request_label_async set to TRUE | v3/shipments/create-with-shipping-rules | |
| Create multiple parcels at once | v2/parcels by sharing an array of parcels[] | NOT SUPPORTED | |
| Create a multicollo shipment | v2/parcels with quantity set to any value greater than 1 | All v3/shipments by creating more than one parcel object in the parcels array | |
| Retrieve your label after announcement - PDF label | v2/labels/label_printer OR v2/labels/label_printer/{parcel_id} OR v2/parcels/{id}/documents/label with the header set to application/pdf | v3/parcels/{id}/documents/label with the header set to application/pdf OR Directly in the response of v3/shipments/announce | Directly in the response of v3/shipments/announce only works for single-collo shipments |
| Retrieve your label after announcement - ZPL/PNG label | v2/parcels/{id}/documents/label with the header set to application/png or application/zpl | v3/parcels/{id}/documents/label with the header set to application/png or application/zpl OR Directly in the response of v3/shipments/announce | Directly in the response of v3/shipments/announce only works for single-collo shipments |
| List your parcels | GET v2/parcels OR GET v2/parcels/{id} | GET v3/shipments OR GET v3/shipments/{id} | |
| Update your parcel | PUT v2/parcels Only supported for parcels previously announced with request_label:FALSE OR That got a 200 code, but no label was returned (a carrier error was returned instead) | NOT SUPPORTED | In API v3, to fix carrier errors a new parcel needs to be created |
| Cancel a parcel | v2/parcels/{id}/cancel | v3/shipments/{id}/cancel | |
| Define what carrier service you’d like to use to ship your parcel | Using the shipment.id field To understand what ids are available for your shipment, you can use the v2/shipping_methods endpoint OR The v2/shipping-products endpoint | Using the ship_with.properties.shipping_option_code field and setting the ship_with.type to shipping_option_code To understand what shipping_option_codes are available for your shipment, you can use the v3/shipping-options endpoint | If you have hardcoded your shipping methods on your system, you can use the compatibility v3/compat/shipping-options endpoint to match your hardcoded shipping method IDs to the equivalent shipping option codes For all v2 endpoints, the from country is always required, making it hard to retrieve return-shipping-methods in batch See how each v2/shipping_methods and v2/shipping-products fields in API v2 match the fields of the v3/shipping-options endpoint |
| Understand the pricing of the carrier service you’d like to use to ship your parcel | v2/shipping-products with contract_pricing set to TRUE and the desired carrier contract ID defined in contract OR v2/shipping-price by setting the from_country, shipping_method_id, weight, weight_unit fields | v3/shipping-options endpoint | See how each v2/shipping-price and v2/shipping-products fields in API v2 match the fields of the v3/shipping-options endpoint |
| Define the address from which you’d like to ship | v2/parcels with all fields prefixed with from_ OR v2/parcels by using the sender_address field to set the sender address ID saved in the Sendcloud system | All v3/shipments with from_address using the address common model | The sender address ID is not supported in all v3/shipments See how each address field in API v2 matches the common model of API v3 |
| Define the address to which you’d like to ship | Using the name, company_name, address, house_number, address_2, postal_code, city, to_post_number, country_state, country, email, telephone fields | All v3/shipments with from_address using the address common model | See how each address field in API v2 matches the common model of API v3 |
| Define the brand you want your parcel to be associated with | v2/parcels with sender_address Note: In the Sendcloud Platform, a sender address ID can be linked to a brand. When announcing a parcel with that Sender Address ID that brand will also be linked to the parcel. The same Sender Address ID cannot have multiple brands associated with it To understand what brand_ids are available for your shipment, you can use the v2/brands endpoint | All v3/shipments with brand_id | There’s no v3/brands endpoint as the v2 version is compatible with all v3 endpoints |
| Add insurance to your single-collo shipment | v2/parcels with insured_value or total_insured_value | All v3/shipments with parcels.additional_insured_price | parcels.additional_insured_price is the amount for which you want to add additional insurance (on top of carrier insurance) equivalent to insured_value in v2/parcels total_insured_value is not supported in v3 |
| Add insurance to your multicollo shipment | v2/parcels with insured_value or total_insured_value | All v3/shipments with parcels.additional_insured_price | With v2/parcels the insurance set needs to be the same for each parcel. With all v3/shipments each parcel can have a different insurance value |
| Set parcel dimensions and weight for your single-collo shipment | v2/parcels with weight, length, width, height | All v3/shipments with parcels.weight.value and with parcels.dimensions.length, parcels.dimensions.width, parcels.dimensions.height | With all v3/shipments you can also provide parcels.weight.unit to set if your parcel is in Kg, pounds or other weight units. You can also provide parcels.dimensions.unit to set if your parcel is in cm, inches or other dimension units |
| Set parcel dimensions and weight for your multicollo shipment | v2/parcels with weight, length, width, height | All v3/shipments with parcels.weight.value and with parcels.dimensions.length, parcels.dimensions.width, parcels.dimensions.height | With v2/parcels the weight and dimensions need to be the same for each parcel. With all v3/shipments each parcel can have a different weight and dimensions |
| Set the Checkout Delivery Method so any shipping rule based on it gets applied | v2/parcels with shipping_method_checkout_name | v3/shipments/announce-with-shipping-rules and v3/shipments/create-with-shipping-rules with delivery_indicator | Not available in v3/shipments/announce or v3/shipments as shipping rules never get applied when using those endpoints |
Assign a shipment UUID to your parcel to connect your parcels with the orders created via v2/integrations/{id}/shipments Only available for certified Sendcloud partners | v2/parcels with shipment_uuid | Not applicable | Orders are automatically associated with a shipment when announced via the v3/orders/create-labels-async or v3/orders/create-labels-sync |
| Retrieve your label after announcement - Native ZPL label | NOT SUPPORTED | v3/parcels/{id}/documents/label with the header set to application/zpl OR Directly in the response of v3/shipments/announce | Directly in the response of v3/shipments/announce only works for single-collo shipments Native ZPL labels are only supported for a few selected carriers As of 1/12/2025: Asendia, Bring, BRT, Colis Privé, Colissimo, DHL eCommerce Benelux, DHL Germany, Inpost Poland, Ontime, PLX Parcel Logistics, Trunkrs, UPS |
| Define a label note to either show on the label or on be communicated to the carrier without showing on the label (depending on the carrier) | NOT SUPPORTED | All v3/shipments with parcels.label_notes | |
| Set the SSCC field when shipping a pallete | NOT SUPPORTED | All v3/shipments with parcels.sscc | |
| Define when you’d like the shipment to be picked up by the carrier | NOT SUPPORTED | All v3/shipments with delivery_dates.handover_at | |
| Define when you’d like the shipment to be delivered to your customer | NOT SUPPORTED | All v3/shipments with delivery_dates.deliver_at |
Returns
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| Create a return | v2/parcels | v3/returns | On v2 this could be both synchronous and asynchronous. On v3 it is asynchronous by default and will use v3/returns/announce-synchronously for synchronous announcement |
| Retrieve a list of Returns | v2/parcels | v3/returns | |
| Retrieve a Return | v2/parcels/{id} | v3/returns/{id} | |
| Request cancellation of a Return | v2/parcels/{id}/cancel | v3/returns/{id}/cancel | |
| Validate a Return | NOT SUPPORTED | v3/returns/validate | |
| Create a Return synchronously | v2/parcels | v3/returns/announce-synchronously | |
| Retrieve a return portal URL | v2/parcels/{id}/return_portal_url | NOT SUPPORTED | API v3 implementation is currently ongoing |
Contracts
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| List all your contracts | With GET v2/contracts OR With GET v2/contracts/{id} | With GET v3/contracts OR With GET v3/contracts/{id} | GET v3/contracts is paginated contrary to GET v2/contracts |
| Create a contract for carrier | NOT SUPPORTED | With v3/contracts | To understand what carrier contract schemas to use when creating a contract, you can use the v3/contracts/schemas endpoint |
| Update a contract | NOT SUPPORTED | With PATCH v3/contracts/{id} | Updating a contracts allows you to change the “Active” status, the “Default” status, the name of the contract and any other extra contract_data |
| Delete a contract | NOT SUPPORTED | With DELETE v3/contracts/{id} |
Pick-ups
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| Create a pick-ups for Correos Express | With v2/pickups | With v3/pickups | See how each pickups field in API v2 matches the fields in API v3 |
| Create a pick-ups for DHL | With v2/pickups | With v3/pickups | See how each pickups field in API v2 matches the fields in API v3 |
| Create a pick-ups for DHL Parcel Iberia | With v2/pickups | With v3/pickups | See how each pickups field in API v2 matches the fields in API v3 |
| Create a pick-ups for DPD | With v2/pickups | With v3/pickups | See how each pickups field in API v2 matches the fields in API v3 |
| Create a pick-ups for FedEx | With v2/pickups | With v3/pickups | See how each pickups field in API v2 matches the fields in API v3 |
| Create a pick-ups for Poste Italiane | With v2/pickups | With v3/pickups | See how each pickups field in API v2 matches the fields in API v3 |
| Create a pick-ups for UPS | With v2/pickups | With v3/pickups | See how each pickups field in API v2 matches the fields in API v3 |
| Create a pick-ups for BRT | NOT SUPPORTED | With v3/pickups | |
| Create a pick-ups for DPD AT | NOT SUPPORTED | With v3/pickups | |
| Create a pick-ups for DHL DE | NOT SUPPORTED | With v3/pickups | |
| Create a pick-ups for DHL Express | NOT SUPPORTED | With v3/pickups | |
| Create a pick-ups for DHL Parcel GB | NOT SUPPORTED | With v3/pickups | |
| Create a pick-ups for GLS Italy | NOT SUPPORTED | With v3/pickups | |
| Create a pick-ups for Hermes Germany | NOT SUPPORTED | With v3/pickups |
Tracking
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| Retrieve tracking information of a parcel | v2/tracking/{tracking_number} | v3/parcels/tracking/{tracking_number} | New structure technically endpoints are separate, parent statuses (which required mapping on the user side) are not present anymore |
| Create a tracking-only parcel | NOT SUPPORTED | v3/parcels/tracking |
Return Portal
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| Retrieve return portal settings | v2/brand/{brand_domain}/return-portal | NOT SUPPORTED | |
| Retrieve an outgoing parcel | v2/brand/{brand_domain}/return-portal/outgoing | NOT SUPPORTED | |
| Create a return | v2/brand/{brand_domain}/return-portal/incoming | NOT SUPPORTED | |
| Retrieve the status of a return | v2/brand/{brand_domain}/return-portal/label/polling | NOT SUPPORTED | |
| Retrieve a return label | v2/brand/{brand_domain}/return-portal/label/download | NOT SUPPORTED | |
| Create a file upload for the return portal | v2/brand/{brand_domain}/return-portal/uploads | NOT SUPPORTED |
Carrier Transit Times
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| Retrieve Carrier transit times | v2/insights/carriers/transit-times | NOT SUPPORTED | |
| Retrieve Shipping method transit times | v2/insights/shipping-methods/transit-times | NOT SUPPORTED |
Fields
Shipment/ Parcel level fields
| Parcel API v2 | API v3 |
|---|---|
order_number | order_number |
contract | ship_with.properties.contract_id |
total_order_value_currency | total_order_price.currency |
total_order_value | total_order_price.value |
external_reference | external_reference_id |
reference | reference |
to_service_point | to_service_point.id |
Addresses
| Parcel API v2 | API v3 |
|---|---|
name | to_address.name |
company_name | to_address.company_name |
address | to_address.address_line_1 |
house_number | to_address.house_number |
address_2 | to_address.address_line_2 |
postal_code | to_address.postal_code |
city | to_address.city |
to_post_number | to_address.po_box |
country_state | to_address.state_province_code |
country | to_address.country_code |
email | to_address.email |
telephone | to_address.phone_number |
from_name | from_address.name |
from_company_name | from_address.company_name |
from_address_1 | from_address.address_line_1 |
from_house_number | from_address.house_number |
from_address_2 | from_address.address_line_2 |
from_postal_code | from_address.postal_code |
from_city | from_address.city |
| NOT SUPPORTED | from_address.po_box |
| NOT SUPPORTED | from_address.state_province_code |
from_country | from_address.country_code |
from_email | from_address.email |
from_telephone | from_address.phone_number |
Items
| Parcel API v2 | Shipments API v3 |
|---|---|
parcel_items.hs_code | parcels.parcel_items.hs_code |
parcel_items.weight | parcels.parcel_items.weight.value |
| NOT SUPPORTED | parcels.parcel_items.weight.unit |
parcel_items.quantity | parcels.parcel_items.quantity |
parcel_items.description | parcels.parcel_items.description |
parcel_items.origin_country | parcels.parcel_items.origin_country |
parcel_items.value | parcels.parcel_items.price.value |
| NOT SUPPORTED | parcels.parcel_items.price.currency |
parcel_items.sku | parcels.parcel_items.sku |
parcel_items.product_id | parcels.parcel_items.product_id |
parcel_items.properties | parcels.parcel_items.properties |
parcel_items.item_id | parcels.parcel_items.item_id |
parcel_items.return_reason | Not applicable as returns can only be announced via v3/returns or v3/returns/announce-synchronously. More context on how to create returns |
parcel_items.return_message | Not applicable as returns can only be announced via v3/returns or v3/returns/announce-synchronously. More context on how to create returns |
parcel_items.mid_code | parcels.parcel_items.mid_code |
parcel_items.material_content | parcels.parcel_items.material_content |
parcel_items.intended_use | parcels.parcel_items.intended_use |
parcel_items.dangerous_goods | parcels.parcel_items.dangerous_goods |
Shipping Methods / Shipping Products / Shipping Options / Shipping Prices
| v2/shipping_methods | v2/shipping-products | v2/shipping-price | v3/shipping-options |
|---|---|---|---|
from_postal_code | from_postal_code | from_postal_code | from_postal_code |
is_return | returns | NOT SUPPORTED | functionalities.returns |
sender_address | NOT SUPPORTED | NOT SUPPORTED | NOT SUPPORTED |
service_point_id | NOT SUPPORTED | NOT SUPPORTED | to_service_point_id |
to_country | to_country | to_country | to_country_code |
to_postal_code | to_postal_code | to_postal_code | to_postal_code |
| NOT SUPPORTED | carrier | NOT SUPPORTED | carrier_code |
| NOT SUPPORTED | contract | contract | contract_id |
| NOT SUPPORTED | contract_pricing | Pricing is always calculated | calculate_quotes |
| NOT SUPPORTED | height | NOT SUPPORTED | parcels.dimensions.height |
| NOT SUPPORTED | height_unit | NOT SUPPORTED | parcels.dimensions.unit |
| NOT SUPPORTED | length | NOT SUPPORTED | parcels.dimensions.length |
| NOT SUPPORTED | length_unit | NOT SUPPORTED | parcels.dimensions.unit |
| NOT SUPPORTED | width | NOT SUPPORTED | parcels.dimensions.width |
| NOT SUPPORTED | width_unit | NOT SUPPORTED | parcels.dimensions.unit |
| NOT SUPPORTED | lead_time_hours | NOT SUPPORTED | lead_time |
| NOT SUPPORTED | weight | weight (Required) | parcels.weight.value |
| NOT SUPPORTED | weight_unit | weight_unit (Required) | parcels.weight.unit |
| NOT SUPPORTED | from_country (Required) | from_country (Required) | from_country_code |
| NOT SUPPORTED | NOT SUPPORTED | shipping_method_id (Required) | shipping_product_code OR shipping_option_code |
| NOT SUPPORTED | NOT SUPPORTED | NOT SUPPORTED | parcels.additional_insured_price |
| NOT SUPPORTED | NOT SUPPORTED | NOT SUPPORTED | parcels.total_insured_price |
| NOT SUPPORTED | NOT SUPPORTED | NOT SUPPORTED | functionalities |
Customs
| Parcel API v2 | Shipments API v3 |
|---|---|
customs_invoice_nr | invoice_number |
customs_shipment_type | export_reason |
export_type | export_type |
invoice_date | invoice_date |
discount_granted | discount_granted |
freight_costs | freight_costs |
insurance_costs | insurance_costs |
other_costs | other_costs |
general_notes | general_notes |
additional_declaration_statements | additional_declaration_statements |
importer_of_record | importer_of_record |
tax_numbers | tax_numbers |
return_data | Not applicable as returns can only be announced via v3/returns or v3/returns/announce-synchronously. More context on how to create returns |
Contracts (Fields)
| Contracts API v2 | Contracts API v3 |
|---|---|
carrier | carrier_code |
client_id | client_id |
country | country_code |
is_active | is_active |
name | name |
is_default | is_default_per_carrier |
Pick-ups (Fields)
| Pick-ups API v2 | Pick-ups API v3 |
|---|---|
id | NOT SUPPORTED |
carrier | carrier_code |
country | address.country_code |
city | address.city |
name | address.name |
country_state | address.state_province_code |
company_name | address.company_name |
email | address.email |
address | address.address_line_1 |
address_2 | address.address_line_2 |
postal_code | address.postal_code |
telephone | address.phone_number |
| NOT SUPPORTED | House number should be provided as part of the address field (address.house_number) |
| NOT SUPPORTED | address.po_box |
quantity | items.quantity |
total_weight | items.total_weight.value |
| NOT SUPPORTED | items.total_weight.unit |
| NOT SUPPORTED | items.container_type |
reference | reference |
special_instructions | special_instructions |
tracking_number | NOT SUPPORTED |
pickup_from | time_slots.start_at |
pickup_until | time_slots.end_at |
pickup_status | NOT SUPPORTED |
created_at | NOT SUPPORTED |
cancelled_at | NOT SUPPORTED |
contract | contract_id |
Dynamic Checkout
| Action | API v2 | API v3 | Comment |
|---|---|---|---|
| Retrieve a list of delivery options | method_id | Support for shipping_option_code has been added to checkout_identifier, replacing the method_id used in v2 | Error objects now comply with the JSON:API standard References to the Parcel API have been removed in favor of the Shipment API in the new environment, let’s also drop the beta status from the API v3 The query parameters value, weight, from_country, and to_country are now: total_order_value, weight_value, from_country_code, and to_country_code |
Sender Address
Highlighted in yellow fields that have changed.| Parcel API | Shipment API | API v2 | API v3 |
|---|---|---|---|
city | city | ||
company_name | company_name | ||
contact_name | name | ||
country | country_code | ||
country_state | state_province_code | ||
email | email | ||
house_number | house_number | ||
id | id | ||
postal_box | po_box | ||
postal_code | postal_code | ||
street | address_line_1 | ||
telephone | phone_number | ||
vat_number | tax_numbers object tax_number.name tax_number.country_code tax_number.value | ||
eori_number | tax_numbers object tax_number.name tax_number.country_code tax_number.value | ||
| NOT SUPPORTED | tax_numbers | ||
brand_id | NOT SUPPORTED | ||
| NOT SUPPORTED | label | ||
signature_full_name | signature object signature.full_name | ||
signature_initials | signature object signature.initials | ||
| NOT SUPPORTED | address_line_2 |
What stayed the same - API v2 endpoints that are compatible with API v3
This is the list of all API v2 endpoints that can be used together with any API v3 endpoint:v2/parcels/statusesv2/service-pointsv2/carriersv2/brandsv2/user/invoicesv2/reporting/parcelsv2/user