All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
/customer/loyalty-events/{customerId})..prettierrc, .prettierignore for formatting.eslint.config.js).pre-commit, pre-push)..jest/setEnvVars.js.package-lock.json, including:Carrier & Adapter Updates:
Loyalty System:
Warehouse Handling:
Onboarding Enhancements:
portalUrl.Returnless & Job Scheduling:
Customer & Address Refactor:
Carrier Refactor:
Shipment Logic:
warehouseId in adapters and unified method signatures.Salesforce Integration:
Schema & Type Updates:
Platform Integration:
SHOPIFY, MAGENTO, SALESFORCE via platform and platformUrl fields on Retailer.ShopifyPlatformAdapter to auto-fulfill listings.Country-Based Filtering:
ip query param across multiple endpoints.setCountryOfOrigin to extract country from IP.API Docs:
GET /listings/skus/{skuIds} endpoint and ListingResponseWithoutCustomers schema.Webhooks:
REFUND webhook on positive or neutral feedback.platform and optional platformUrlGET /listings/product and GET /listings/product/:id endpoints now have an optional query ip allowing to specify only listings from within a country.POST /listings endpoint now requires a mandatory field called returnReason.countries.POST /regular-return:GET request to regular-return or /regular-return/:webshopOrderID.POST /listings Request and Response Updates:
quantity (integer): Specifies the quantity of the product to be added. (Example: 1)maxQuantity (integer): Defines the maximum quantity of the product (matching the order quantity). (Example: 3)New Endpoints:
POST /orders/commit:
/orders/finalize/:id.POST /orders/finalize/{orderId}:
Available, and all related data is deleted.POST /listings Response:Listing[] objects instead of a single object.POST /listings/cancel/byOrderAndSku: This endpoint has been removed.POST /warehouses/return-label Endpoint: Introduced a temporary implementation for generating return labels for warehouses.GET /carrier-contract-info Documentation: Updated to reflect the correct format.Webhook Response Models Added to Docs:
GET /orders Query Parameter:
listingWebshopOrderId to the /orders endpoint.GET /orders?listingWebshopOrderId=12345webshopOrderId.Carrier Name Changed : Changed the carrier name enum from DHL to DHL-eCommerce-Benelux.
Order and Listing Schemas:
reason field to cancelReason.cancelReason type from string to an enum with the following values:NOT_DELIVERED_BY_CARRIERCUSTOMER_BANNEDMATCHING_PERIOD_PASSEDRETURN_DEADLINE_PASSEDUSER_CANCELLED.Carrier Names Enum:
DHL with DHL-eCommerce-Benelux.Status field of Listing, Order, Shipment Enum:
Labeled to Labelled.Canceled to Cancelled.PUT /customers/ban: Updated to support banning a customer with the email provided in the request body instead of the path parameter.
New Webhook Event Types: Added the following event types to webhook configurations:
LABELED: Triggered when the order is labeled.SHIPPED: Triggered when the order is shipped.COMPLETED: Triggered when the order is completed.PUT /customers/ban/{email}: The path parameter email is no longer required. Replaced with a request body schema"email@real.com"Customer schema:firstNamelastName - `POST /orders`: carrierName field not required anymore. If not provided, first added carrier will be selected.
PUT /customers/ban/{email}: Introduced a new endpoint to ban a customer by their email.bannedEmails Field in Retailer Object: Added a bannedEmails field as an array of strings with a default empty array.GET /shipments Response: The response for fetching all shipments, or shipments by orderId or listingId, has been updated to include the corresponding warehouse object.GET /shipments/{shipmentId} Response: The response for fetching a shipment by shipmentId has been updated to include the corresponding warehouse object./shipments/delivered/{shipmentId} Endpoint: Changed the request method for this endpoint from GET to PUT./orders/{orderId}/cancel Endpoint: This endpoint has been removed.GET /orders Query Parameter: Introduced a new optional query parameter options.options=ordersDetails: Returns orders with only the fields sku, webshopOrderId, and listingWebshopOrderId, sorted by creation date.POST /shipments no longer requires the carrierName field.POST /orders now requires the carrierName field and has removed the webshopOrderItemId field.PUT /listings/{id} request body schema to reflect changes in the listing update process.PUT /orders/{id} and PUT /shipments/{id} endpoints have been removed.POST /tenant/ and DELETE /tenant/ endpoints.Custom Error Classes: Introduced custom error classes for improved error handling, including:
NotFoundErrorBadRequestErrorConflictErrorForbiddenErrorUnauthorizedErrorInternalErrorError Status Code Updates: Updated the status codes returned for different errors based on the new custom error classes.
matched boolean field now defaults to false.warehouseId field and its reference from the Listing model.getUnmatchedListings controller to getAvailableListings controller for clarity.create status to matched status in Listings, Orders, and Shipments models to reflect the updated workflow./listings/nanoid/{id} to retrieve a listing by its nanoId, enhancing security by using random IDs in email frontends.Listing information.PUT request. Please refer to the updated documentation.packageReceivedLink: Link to the feedback page for a received package.https://www.test.com/package-received/returnCancelledLink: Link to the return label generation page.https://www.test.com/return-cancelled/returnDeadlineLink: Link to the return package to the warehouse page.https://www.test.com/return-deadline/matchMadeLink: Link to the matched order details page.https://www.test.com/match-made/matchDeadlineLink: Link to the return package to the warehouse page for missed match deadlines.https://www.test.com/match-deadline/forwardRegisteredLink: Link to the forward registered page.https://www.test.com/forward-registered/status and discountRange fields. Refer to the
updated API documentation for details.GET /shipments endpoint to
the documentation, which returns all shipments for that tenant.v5.18 to v5.20.