Past Changelog
This page contains the past changelog. For the changelog of the current version, please refer to this page.
2025-01 (2025-01-09)
1. General
CHANGE | BEFORE | AFTER |
---|---|---|
Base URL | https://api.aftership.com/commerce/2024-10 | https://api.aftership.com/commerce/2025-01 |
2. Order Resource Changes
2.1 Updated Fields
order.items.*.id
BEFORE | AFTER |
---|---|
order.items.*.source_id | order.items.*.id |
Affected Endpoints (Request and Response Body)
- POST /orders (request_body.items.*.id)
Affected Endpoints (Response Body)
- GET /orders
- GET /orders/{id}
- PATCH /orders/{id}
2.2 Removed Fields
order.items.*.fulfillable_quantity
BEFORE | AFTER |
---|---|
order.items.*.fulfillable_quantity | Field deleted |
Affected Endpoints (Request and Response Body)
- POST /orders
Affected Endpoints (Response Body)
- GET /orders
- GET /orders/{id}
- PATCH /orders/{id}
2.3 Required Fields Changes
FIELD | BEFORE | AFTER |
---|---|---|
order.items.*.product_title | Field value is optional | Field value is now required |
order.items.*.product_variant_title | Field value is required | Field value is now optional |
Affected Endpoints (Request Body)
- POST /orders
3. Order Endpoints Changes
3.1 Update an order by ID (PATCH /orders/{id})
Request Body
The following fields are added to the request body to provide more control to the endpoint. The specification of each of the fields are the same as the model.
- currency
- order_total
- shipping_total
- tax_total
- discount_total
- subtotal
4. Product Resource Changes
4.1 Required Fields Changes
FIELD | BEFORE | AFTER |
---|---|---|
title | Field value is required | Field value is optional |
Affected Endpoints (Request body)
- POST /products
5. Fulfillment Resource Changes
5.1 Updated Fields
fulfillment.line_items.*.id
BEFORE | AFTER |
---|---|
fulfillment.line_items.*.source_id | fulfillment.line_items.*.id |
Affected Endpoints (Request and Response Body)
- POST /fulfillments (request_body.line_items.*.id)
Affected Endpoints (Response Body)
- GET /fulfillments
- GET /fulfillments/{id}
- PATCH /fulfillments/{id}
- POST /fulfillments/{id}/update-status
- POST /fulfillments/{id}/ship
6. New API Endpoints
New endpoints for manipulating order.items (OrderItem
resource) are added. As the OrderItem
resource is a subresource of Order
, order.id
is required during the request, which would be specified in the URL.
For the detailed endpoint specification, please refer to the API endpoint reference.
- Create an order item (POST /orders/{id}/items)
- Create a new order item to an existing order.
- Get order item by ID (GET /orders/{id}/items/{item_id})
- Get an existing order item by order ID and order item ID.
- Update order item by ID (PATCH /orders/{id}/items/{item_id})
- Update an existing order item by order ID and order item ID.
- Delete order item by ID (DELETE /orders/{id}/items/{item_id})
- Delete an existing order item by order ID and order item ID.
2024-10 (2024-10-10)
1. General
CHANGE | BEFORE | AFTER |
---|---|---|
Base URL | https://api.aftership.com/commerce/2024-07 | https://api.aftership.com/commerce/2024-10 |
2. Order Resource Changes
2.1 New Fields
order.status_timestamps
The status_timestamps
field enables you to record the exact timestamp when an order status occurs, such as when the order is canceled or placed.
When order.status
is set to canceled
, the timestamp recorded in order.status_timestamps.canceled_at
will be displayed on the history route of the branded tracking page, indicating the time when the order was canceled.
For detailed information about the model, please refer to the full specifications.
order.custom_fields
The new custom_fields
feature allows you to store limited metadata for orders using your preferred key-value pairs. This functionality provides greater control over the notification workflow, enabling you to use custom fields as triggers to determine specific branches of the notification flow.
2.2 Create an Order (POST /orders)
New Request Fields
- order.status_timestamps
- order.custom_fields
Response
See Order Resource changes.
2.3 Update an Order (PATCH /orders/{id})
New Request Fields
- order.status_timestamps
- order.custom_fields
Response
See Order Resource changes.
2.4 List Orders (GET /orders)
Response
See Order Resource changes.
2.5 Get an Order (GET /orders/{id})
Response
See Order Resource changes.
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. Order Resource Changes
4.1 New Fields
- order.delivery_method (Required)
- order.pickup_location
- order.pickup_info
- order.items.*.product_title
4.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
4.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 |
4.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"} |
4.5 Create an order (POST /orders) Changes
Behavioral Update
POST /orders
endpoint now rejects requests containing an existing order ID.
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.
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.
4.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.
4.7 Get order(s) (GET /orders and GET /orders/{order_id}) Changes
Response
See Order Resource changes.
5. Store Resource Changes
5.1 Added Fields
- store.address.coordinate
- store.address.coordinate.latitude
- store.address.coordinate.longitude
5.2 Removed Fields
- store.plan_name
- store.address.latitude
- store.address.longitude
5.1 Renamed Fields
Object | BEFORE | AFTER |
---|---|---|
store.address | address_line_1 address_line_2 address_line_3 | street_1 street_2 street_3 |
2024-04 (2024-04-11)
CHANGE | BEFORE | AFTER |
---|---|---|
Base URL | https://api.aftership.com/commerce/v1 | https://api.aftership.com/commerce/2024-04 |
as-api-version header’s value | won’t return | 2024-04 |
The definition of as-store-id has changed | The identifier of your store. You need to generate it yourself. Note that this value must consist of numbers and letters (A-Z, a-z, 0-9), and special characters can only be hyphens (-) or underscores (_). | The unique store identifier is generated by AfterShip. You can obtain this id by making a GET /stores call to get existing stores or a POST /stores to create a new store. |
Support for listing data from ecommerce platforms | You can only list data that you import through the Commerce API. | You can list data that you import through Integrations. |
New store model field | - | source_id platform |
New order model field | - | store.id |
New product model field | - | store.id |
v1.12.0 (2024-03-12)
Update | Resources |
---|---|
add fileds returnable_quantity for order items | orders |
v1.11.1 (2023-10-10)
Update | Resources |
---|---|
add fileds service_type and ship_from_address for shipments | orders |
add GET /orders | orders |
add GET/stores | stores |
v1.11.0 (2023-09-25)
Update | Resources |
---|---|
PATCH /orders/:id support to update status,financial_status,fulfillment_status | orders |
v1.10.0 (2023-08-03)
Update | Resources |
---|---|
PATCH /orders/:id support to update shipments | orders |
v1.9.0 (2023-05-09)
Update | Resources |
---|---|
Add new field to order shipment: custom_fields | orders |
v1.8.0 (2023-04-04)
Update | Resources |
---|---|
Add new field to order shipment: source_delivered_at | orders |
v1.7.0 (2023-02-24)
Update | Resources |
---|---|
Remove required validation to the following fields of orders: financial_status 、fulfillment_status 、shipping_total 、tax_total 、discount_total 、subtotal 、source_created_at 、source_updated_at | POST /orders |
Remove required validation to the following fields of orders.items: sku 、unit_weight 、unit_price | POST /orders |
Remove required validation to the following fields of orders.customers: first_name 、emails | POST /orders |
Remove required validation to the following fields of orders.shipping_address and orders.billing_address: first_name 、address_line_1 、city 、state 、country_region | POST /orders |
Remove required validation to the following fields of products: slug 、source_created_at 、source_updated_at | POST /products |
Remove required validation to the following fields of products.variants: image_urls 、compare_at_price 、allow_backorder 、options | POST /products |
Remove source_id of stores | POST /stores |
Remove required validation to the following fields of stores: timezone_identifier 、url | POST /stores |
v1.6.0 (2022-11-17)
Update | Resources |
---|---|
Add new fields to order item: product_categories 、product_tags | orders |
v1.5.0 (2022-08-03)
Update | Resources |
---|---|
Add new domain api.aftership.com to replace api.automizely.com | - |
v1.4.2 (2022-06-07)
Update | Resources |
---|---|
Add new header as-api-key to replace am-api-key | Headers |
v1.4.1 (2022-01-26)
Update | Resources |
---|---|
Add Snatshot fields validation to orders.item. Snatshot fields cannot be changed after creating in Automizely | POST /orders |
v1.4.0 (2021-11-23)
Update | Resources |
---|---|
Add new header am-api-key to replace am-app-id | Headers |
v1.3.0 (2021-10-29)
Update | Resources |
---|---|
New endpoints | PATCH /products/:id PATCH /orders/:id PATCH /stores/:id |
v1.2.0 (2021-10-08)
Update | Resources |
---|---|
Add required validation to the following fields of orders: source_id 、number 、currency 、status 、financial_status 、fulfillment_status 、order_total 、shipping_total 、tax_total 、discount_total 、subtotal 、source_created_at 、source_updated_at | POST /orders |
Add required validation to the following fields of orders.items: source_id 、sku 、quantity 、unit_weight 、unit_price 、title | POST /orders |
Add required validation to the following fields of orders.shipments: tracking_number | POST /orders |
Add required validation to the following fields of orders.customers: first_name 、emails | POST /orders |
Add required validation to the following fields of orders.shipping_address and orders.billing_address: first_name 、address_line_1 、city 、state 、country_region | POST /orders |
Add required validation to the following fields of products.variants: source_id 、sku 、title 、price 、image_urls 、compare_at_price 、allow_backorder 、options | POST /products |
v1.1.0 (2021-07-27)
Update | Resources |
---|---|
New endpoints | POST /gdpr GET /stores/:id GET /orders/:id GET /products/:id |
v1.0.0 (2021-06-02)
Update | Resources |
---|---|
Initial release | - |
New endpoints | POST /orders POST /products POST /stores POST /uninstalls |