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_couriers
for AfterShip Tracking
All functionalities related to
shipments
have been moved to the new resourcefulfillments
and its API endpoints, theshipments
field 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
pickup
andshipping
.
- 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 |