Changelog
This page contains the changelog of the current API version. For the past changelog, please refer to this page.
2024-07 (2024-07-11)
1. General
| CHANGE | BEFORE | AFTER |
|---|---|---|
| Base URL | https://api.aftership.com/commerce/2024-04 | https://api.aftership.com/commerce/2024-07 |
2. New Feature
- The fulfillment related features support BOPIS (Buy Online, Pick up In Store) scenario
- Support
next_couriersfor AfterShip Tracking
All functionalities related to
shipmentshave been moved to the new resourcefulfillmentsand its API endpoints, theshipmentsfield is no longer in use and has been removed.
3. New API Endpoint and Resource
New resource fulfillment is added. The Fulfillment model encapsulates the details of processing and delivering orders in an eCommerce context. It includes information such as fulfillment status, shipment tracking, the items to be fulfilled, and so on.
For the detailed endpoint specification, please refer to the API endpoint reference.
- Create a Fulfillment (POST /fulfillments)
- Supports the creation of different delivery_methods of fulfillments, including
pickupandshipping.
- Supports the creation of different delivery_methods of fulfillments, including
- Update a Fulfillment (PATCH /fulfillments/{id})
- Allows updating the information of a fulfillment with the fulfillment ID.
- Update Status (POST /fulfillments/{id}/update-status)
- Allows updating the status based on the delivery_method of fulfillment.
- Ship Fulfillment (POST /fulfillments/{id}/ship)
- Allows shipping operations for a fulfillment with a specified ID.
- Get Fulfillments (GET /fulfillments)
- Retrieves a list of all fulfillments for an order.
- Get Fulfillment by ID (GET /fulfillments/{id})
- Retrieves detailed information about a specific fulfillment using its ID.
4. Important Behavioral Update - "upsert" operation
All endpoints for creating new resource now reject requests containing an existing ID. All affected endpoints:
- POST /orders
- POST /products
- POST /stores
For example, in earlier versions, API users could invoke the POST /orders endpoint with an existing order ID to perform an "upsert" operation, which updates an existing order if it already exists.
Starting from version 2024-07, this behavior has been deprecated. To update an existing order, please use the PATCH /orders/{order_id} endpoint. This apply to product and store resource as well.
5. Order Resource Changes
5.1 New Fields
- order.delivery_method (Required)
- order.pickup_location
- order.pickup_info
- order.items.*.product_title
5.2 Removed Fields
- order.shipments
- order.shipping_address.tax_number
- order.shipping_address.source_id
- order.shipping_address.description
- order.billing_address.tax_number
- order.billing_address.source_id
- order.billing_address.description
5.3 Renamed Fields
| Object | BEFORE | AFTER |
|---|---|---|
| order.shipping_address order.billing_address | address_line_1 address_line_2 address_line_3 | street_1 street_2 street_3 |
| order.items.* | title | product_variant_title |
5.4 Specification Changes
| CHANGE | BEFORE | AFTER |
|---|---|---|
| Structure of order.items.*.unit_price | String e.g. 1.2 | Object e.g. {"currency": "USD", "amount": "1.2"} |
5.5 Create an order (POST /orders) Changes
New Request Fields
- order.delivery_method (Required)
- order.pickup_location
- order.pickup_info
Removed Request Fields
- order.shipments
- order.shipping_address.tax_number
- order.shipping_address.source_id
- order.shipping_address.description
- order.billing_address.tax_number
- order.billing_address.source_id
- order.billing_address.description
Renamed Request Fields
| Object | BEFORE | AFTER |
|---|---|---|
| order.shipping_address order.billing_address | address_line_1 address_line_2 address_line_3 | street_1 street_2 street_3 |
| order.items.* | title | product_variant_title |
Request Specification Updates
| CHANGE | BEFORE | AFTER |
|---|---|---|
| Structure of order.items.*.unit_price | String e.g. 1.2 | Object e.g. {"currency": "USD", "amount": "1.2"} |
Response
See Order Resource changes.
5.6 Update an order (PATCH /orders/{order_id}) Changes
Removed Request Fields
- order.shipments
- order.shipping_address.tax_number
- order.shipping_address.source_id
- order.shipping_address.description
- order.billing_address.tax_number
- order.billing_address.source_id
- order.billing_address.description
Response
See Order Resource changes.
5.7 Get order(s) (GET /orders and GET /orders/{order_id}) Changes
Response
See Order Resource changes.
6. Store Resource Changes
6.1 Added Fields
- store.address.coordinate
- store.address.coordinate.latitude
- store.address.coordinate.longitude
6.2 Removed Fields
- store.plan_name
- store.address.latitude
- store.address.longitude
6.1 Renamed Fields
| Object | BEFORE | AFTER |
|---|---|---|
| store.address | address_line_1 address_line_2 address_line_3 | street_1 street_2 street_3 |