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)

CHANGEBEFOREAFTER
Base URLhttps://api.aftership.com/commerce/2024-10https://api.aftership.com/commerce/2025-01
BEFOREAFTER
order.items.*.source_idorder.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}
BEFOREAFTER
order.items.*.fulfillable_quantityField deleted

Affected Endpoints (Request and Response Body)

  • POST /orders

Affected Endpoints (Response Body)

  • GET /orders
  • GET /orders/{id}
  • PATCH /orders/{id}
FIELDBEFOREAFTER
order.items.*.product_titleField value is optionalField value is now required
order.items.*.product_variant_titleField value is requiredField value is now optional

Affected Endpoints (Request Body)

  • POST /orders

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
FIELDBEFOREAFTER
titleField value is requiredField value is optional

Affected Endpoints (Request body)

  • POST /products
BEFOREAFTER
fulfillment.line_items.*.source_idfulfillment.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

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.

  1. Create an order item (POST /orders/{id}/items)
    • Create a new order item to an existing order.
  2. Get order item by ID (GET /orders/{id}/items/{item_id})
    • Get an existing order item by order ID and order item ID.
  3. Update order item by ID (PATCH /orders/{id}/items/{item_id})
    • Update an existing order item by order ID and order item ID.
  4. 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)

CHANGEBEFOREAFTER
Base URLhttps://api.aftership.com/commerce/2024-07https://api.aftership.com/commerce/2024-10

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.

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.

New Request Fields

  • order.status_timestamps
  • order.custom_fields

Response

See Order Resource changes.

Response

See Order Resource changes.

Response

See Order Resource changes.

2024-07 (2024-07-11)

CHANGEBEFOREAFTER
Base URLhttps://api.aftership.com/commerce/2024-04https://api.aftership.com/commerce/2024-07
  • The fulfillment related features support BOPIS (Buy Online, Pick up In Store) scenario
  • Support next_couriers for AfterShip Tracking

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.

  1. Create a Fulfillment (POST /fulfillments)
    • Supports the creation of different delivery_methods of fulfillments, including pickup and shipping .
  2. Update a Fulfillment (PATCH /fulfillments/{id})
    • Allows updating the information of a fulfillment with the fulfillment ID.
  3. Update Status (POST /fulfillments/{id}/update-status)
    • Allows updating the status based on the delivery_method of fulfillment.
  4. Ship Fulfillment (POST /fulfillments/{id}/ship)
    • Allows shipping operations for a fulfillment with a specified ID.
  5. Get Fulfillments (GET /fulfillments)
    • Retrieves a list of all fulfillments for an order.
  6. Get Fulfillment by ID (GET /fulfillments/{id})
    • Retrieves detailed information about a specific fulfillment using its ID.
  • order.delivery_method (Required)
  • order.pickup_location
  • order.pickup_info
  • order.items.*.product_title
  • 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
ObjectBEFOREAFTER
order.shipping_address
order.billing_address
address_line_1
address_line_2
address_line_3
street_1
street_2
street_3
order.items.*titleproduct_variant_title
CHANGEBEFOREAFTER
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

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.

  • order.delivery_method (Required)
  • order.pickup_location
  • order.pickup_info
  • 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
ObjectBEFOREAFTER
order.shipping_address
order.billing_address
address_line_1
address_line_2
address_line_3
street_1
street_2
street_3
order.items.*titleproduct_variant_title
CHANGEBEFOREAFTER
Structure of
order.items.*.unit_price
String
e.g. 1.2
Object
e.g. {"currency": "USD", "amount": "1.2"}

See Order Resource changes.

  • 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

See Order Resource changes.

See Order Resource changes.

  • store.address.coordinate
  • store.address.coordinate.latitude
  • store.address.coordinate.longitude
  • store.plan_name
  • store.address.latitude
  • store.address.longitude
ObjectBEFOREAFTER
store.addressaddress_line_1
address_line_2
address_line_3
street_1
street_2
street_3

2024-04 (2024-04-11)

CHANGEBEFOREAFTER
Base URLhttps://api.aftership.com/commerce/v1https://api.aftership.com/commerce/2024-04
as-api-version header’s valuewon’t return2024-04
The definition of as-store-id has changedThe 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 platformsYou 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)

UpdateResources
add fileds returnable_quantity for order itemsorders

v1.11.1 (2023-10-10)

UpdateResources
add fileds service_type and ship_from_address for shipmentsorders
add GET /ordersorders
add GET/storesstores

v1.11.0 (2023-09-25)

UpdateResources
PATCH /orders/:id support to update status,financial_status,fulfillment_statusorders

v1.10.0 (2023-08-03)

UpdateResources
PATCH /orders/:id support to update shipmentsorders

v1.9.0 (2023-05-09)

UpdateResources
Add new field to order shipment: custom_fieldsorders

v1.8.0 (2023-04-04)

UpdateResources
Add new field to order shipment: source_delivered_atorders

v1.7.0 (2023-02-24)

UpdateResources
Remove required validation to the following fields of orders: financial_statusfulfillment_statusshipping_totaltax_totaldiscount_totalsubtotalsource_created_atsource_updated_atPOST /orders
Remove required validation to the following fields of orders.items: skuunit_weightunit_pricePOST /orders
Remove required validation to the following fields of orders.customers: first_nameemailsPOST /orders
Remove required validation to the following fields of orders.shipping_address and orders.billing_address: first_nameaddress_line_1citystatecountry_regionPOST /orders
Remove required validation to the following fields of products: slugsource_created_atsource_updated_atPOST /products
Remove required validation to the following fields of products.variants: image_urlscompare_at_priceallow_backorderoptionsPOST /products
Remove source_id of storesPOST /stores
Remove required validation to the following fields of stores: timezone_identifierurlPOST /stores

v1.6.0 (2022-11-17)

UpdateResources
Add new fields to order item: product_categoriesproduct_tagsorders

v1.5.0 (2022-08-03)

UpdateResources
Add new domain api.aftership.com to replace api.automizely.com-

v1.4.2 (2022-06-07)

UpdateResources
Add new header as-api-key to replace am-api-keyHeaders

v1.4.1 (2022-01-26)

UpdateResources
Add Snatshot fields validation to orders.item. Snatshot fields cannot be changed after creating in AutomizelyPOST /orders

v1.4.0 (2021-11-23)

UpdateResources
Add new header am-api-key to replace am-app-idHeaders

v1.3.0 (2021-10-29)

UpdateResources
New endpointsPATCH /products/:id
PATCH /orders/:id
PATCH /stores/:id

v1.2.0 (2021-10-08)

UpdateResources
Add required validation to the following fields of orders: source_idnumbercurrencystatusfinancial_statusfulfillment_statusorder_totalshipping_totaltax_totaldiscount_totalsubtotalsource_created_atsource_updated_atPOST /orders
Add required validation to the following fields of orders.items: source_idskuquantityunit_weightunit_pricetitlePOST /orders
Add required validation to the following fields of orders.shipments: tracking_numberPOST /orders
Add required validation to the following fields of orders.customers: first_nameemailsPOST /orders
Add required validation to the following fields of orders.shipping_address and orders.billing_address: first_nameaddress_line_1citystatecountry_regionPOST /orders
Add required validation to the following fields of products.variants: source_idskutitlepriceimage_urlscompare_at_priceallow_backorderoptionsPOST /products

v1.1.0 (2021-07-27)

UpdateResources
New endpointsPOST /gdpr
GET /stores/:id
GET /orders/:id
GET /products/:id

v1.0.0 (2021-06-02)

UpdateResources
Initial release-
New endpointsPOST /orders
POST /products
POST /stores
POST /uninstalls