@shipengine/connect-order-source-api
Version:
This is the typescript/javascript definitions for the order source api
1,529 lines • 121 kB
JSON
{
"openapi": "3.1.0",
"info": {
"title": "Orders API",
"description": "This API specification describes the canonical ShipEngine Orders module. A module which implements this specification can be integrated with the ShipEngine eCommerce Platform as an Order Source.",
"contact": {
"name": "ShipEngine Connect",
"url": "https://connect.shipengine.com/",
"email": "connect@shipengine.com"
},
"license": {
"name": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
},
"version": "2.5.0"
},
"servers": [
{
"url": "http://localhost:3005"
}
],
"security": [],
"paths": {
"/validate_connection": {
"post": {
"summary": "Validate Connection",
"description": "This method is called to validate the connection information for a given order source.",
"operationId": "OrderSource_ValidateConnection",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidateConnectionRequest"
}
}
}
},
"responses": {
"200": {
"description": "The connection is valid"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"tags": [
"Connection"
]
}
},
"/get_connection_context": {
"post": {
"summary": "GetConnectionContext",
"description": "Return any addditional connection context not collected by the connection modal or OAuth flow.",
"operationId": "OrderSource_GetConnectionContext",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetConnectionContextRequest"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetConnectionContextResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "shipmentNotificationRequest",
"tags": [
"Connection"
]
}
},
"/shipment_notification": {
"post": {
"summary": "ShipmentNotification",
"description": "Notify marketplace of a shipment",
"operationId": "OrderSource_ShipmentNotification",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShipmentNotificationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShipmentNotificationResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "shipmentNotificationRequest",
"tags": [
"Notification"
]
}
},
"/sales_orders_export": {
"post": {
"summary": "SalesOrdersExport",
"description": "Get sales orders based on filter criteria",
"operationId": "OrderSource_SalesOrdersExport",
"parameters": [],
"requestBody": {
"description": "The criteria of which sales orders to retrieve",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/SalesOrdersExportRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/SalesOrdersExportRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/SalesOrdersExportRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/SalesOrdersExportRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SalesOrdersExportResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "salesOrdersExportRequest",
"tags": [
"Sales Orders"
]
}
},
"/acknowledge_orders": {
"post": {
"summary": "AcknowledgeOrders",
"description": "Notify marketplace that an order has been imported",
"operationId": "OrderSource_AcknowledgeOrders",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AcknowledgeOrdersRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AcknowledgeOrdersResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "AcknowledgeOrdersRequest",
"tags": [
"Sales Orders"
]
}
},
"/get_products": {
"post": {
"summary": "GetProducts",
"description": "Retrieves the information for a list of products",
"operationId": "post-get_product_information",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RequestBase"
},
{
"type": "object",
"properties": {
"product_ids": {
"type": "array",
"description": "",
"items": {
"type": "string"
}
}
}
}
]
}
}
},
"required": false
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Product"
}
}
}
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "body",
"tags": [
"Products"
]
}
},
"/notification_status": {
"post": {
"summary": "NotificationStatus",
"description": "This endpoint takes a list of previously pending notifications and tries to resolve their status with the third party",
"operationId": "post-notification_statuses",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotificationStatusRequest"
}
}
},
"required": false
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotificationStatusResponse"
},
"examples": {
"example-1": {
"value": {
"notifications": [
{
"notification_id": "string",
"succeeded": true,
"confirmation_code": "string",
"failure_reason": "string",
"status": "pending",
"submission_id": "A12B2324C"
}
]
}
}
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "body",
"tags": [
"Notification"
]
}
},
"/register_delivery_options": {
"post": {
"summary": "RegisterDeliveryOptions",
"description": "Initiates registeration of a delivery options entry in the order source",
"operationId": "post-register_delivery_options",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterDeliveryOptionsRequest"
}
}
},
"required": false
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterDeliveryOptionsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "body",
"tags": [
"Delivery Options"
]
}
},
"/remove_delivery_options": {
"post": {
"summary": "RemoveDeliveryOptions",
"description": "Requests that the delivery options entry in the order source be deleted",
"operationId": "post-remove_delivery_options",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RemoveDeliveryOptionsRequest"
}
}
},
"required": false
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RemoveDeliveryOptionsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "body",
"tags": [
"Delivery Options"
]
}
},
"/verify_delivery_options": {
"post": {
"summary": "VerifyDeliveryOptions",
"description": "Verifies that the order source supports delivery options. Additionally the user has setup all required conditions to accept incoming registeration requests for delivery options.",
"operationId": "post-verify_delivery_options",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerifyDeliveryOptionsRequest"
}
}
},
"required": false
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerifyDeliveryOptionsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "body",
"tags": [
"Delivery Options"
]
}
},
"/accept_sales_order_items": {
"post": {
"summary": "AcceptSalesOrderItems",
"description": "Accept a number of items on the order for fulfillment if the marketplace supports or requires it from the shipper",
"operationId": "post-accept_sales_order_items",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AcceptSalesOrderItemsRequest"
}
}
},
"required": false
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AcceptSalesOrderItemsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "body",
"tags": [
"Sales Order Items"
]
}
},
"/cancel_sales_order_items": {
"post": {
"summary": "CancelSalesOrderItems",
"description": "Notify the order source that the sales order items will not be shipped",
"operationId": "post-cancel_sales_order_items",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CancelSalesOrderItemsRequest"
}
}
},
"required": false
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CancelSalesOrderItemsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "body",
"tags": [
"Sales Order Items"
]
}
},
"/reject_sales_order_items": {
"post": {
"summary": "RejectSalesOrderItems",
"description": "Notify the order source that the request to fulfill specific sales order items is being rejected",
"operationId": "post-reject_sales_order_items",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RejectSalesOrderItemsRequest"
}
}
},
"required": false
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RejectSalesOrderItemsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"x-codegen-request-body-name": "body",
"tags": [
"Sales Order Items"
]
}
},
"/get_packing_slip_template": {
"post": {
"summary": "GetPackingSlipTemplate",
"operationId": "post-get_packing_slips",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetPackingSlipTemplateResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"description": "This method is called after a user connects their store, it should provide html templates to use for packing slips. This method might return a static store wide template or call out to third party api's to get customer specific templates.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetPackingSlipTemplateRequest"
}
}
}
},
"tags": [
"Packing Slips"
]
},
"parameters": []
},
"/get_source_details": {
"post": {
"summary": "GetSourceDetails",
"description": "This method is called after a user connects or reconnects their store, it should return details about the store.",
"operationId": "post-get_source_details",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSourceDetailsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSourceDetailsRequest"
}
}
}
},
"tags": [
"Connection"
]
},
"parameters": []
},
"/inventory_fetch": {
"post": {
"summary": "Inventory Fetch",
"description": "This method is used to retrieve inventory levels from the order source.",
"operationId": "post-inventory_fetch",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/InventoryFetchResponseDone"
},
{
"$ref": "#/components/schemas/InventoryFetchResponsePaging"
},
{
"$ref": "#/components/schemas/InventoryFetchResponseProcessing"
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InventoryFetchRequest"
}
}
}
},
"tags": [
"Inventory"
]
},
"parameters": []
},
"/inventory_push": {
"post": {
"summary": "Inventory Push",
"description": "This method is used to sync inventory levels to the order source.",
"operationId": "post-inventory_push",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/InventoryPushResponseDone"
},
{
"$ref": "#/components/schemas/InventoryPushResponsePaging"
},
{
"$ref": "#/components/schemas/InventoryPushResponseProcessing"
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
},
"520": {
"$ref": "#/components/responses/ExternalServerError"
}
},
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InventoryPushRequest"
}
}
}
},
"tags": [
"Inventory"
]
},
"parameters": []
}
},
"components": {
"responses": {
"BadRequest": {
"description": "A response to indicate that there was either a module level client error or an external client error.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestResponse"
}
}
}
},
"Unauthorized": {
"description": "A response to indicate that the request failed to authenticate with the shipping provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedResponse"
}
}
}
},
"NotFound": {
"description": "A response to indicate that the module does not implement this endpoint.",
"content": {}
},
"TooManyRequests": {
"description": "A response indicates that the shipping service provider has denied a request due to too many requests.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RateLimitResponse"
}
}
}
},
"InternalServerError": {
"description": "A response indicating a server level error with the module.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerErrorResponse"
}
}
}
},
"ExternalServerError": {
"description": "A response indicating a server level error with the external world.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExternalServerErrorResponse"
}
}
}
}
},
"schemas": {
"Product": {
"allOf": [
{
"required": [
"name",
"product_id"
],
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "This ID of this product in the vendor API"
},
"name": {
"type": "string",
"description": "The product name"
},
"description": {
"type": "string",
"description": "The product description"
},
"identifiers": {
"type": "object",
"properties": {
"sku": {
"type": "string",
"description": "The product SKU"
},
"upc": {
"type": "string"
},
"isbn": {
"type": "string"
},
"asin": {
"type": "string"
},
"fulfillment_sku": {
"type": "string"
},
"inventory_id": {
"type": "string",
"description": "The identifier needed to set and retrieve inventory levels"
}
},
"description": "Additional identifiers associated with this product"
},
"details": {
"type": "array",
"description": "A list of details associated with this product",
"items": {
"$ref": "#/components/schemas/ProductDetail"
}
},
"unit_cost": {
"type": "number"
},
"weight": {
"$ref": "#/components/schemas/Weight"
},
"dimensions": {
"$ref": "#/components/schemas/Dimensions"
},
"urls": {
"type": "object",
"properties": {
"product_url": {
"type": "string"
},
"image_url": {
"type": "string"
},
"thumbnail_url": {
"type": "string"
}
}
},
"location": {
"type": "string",
"description": "The location the product can be found in a warehouse"
}
}
}
]
},
"SalesOrder": {
"description": "",
"allOf": [
{
"required": [
"order_id",
"requested_fulfillments",
"status"
],
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "The unique identifier of the sales order from the order source"
},
"order_number": {
"type": "string",
"description": "The customer facing identifier of the sales order"
},
"status": {
"$ref": "#/components/schemas/SalesOrderStatus"
},
"paid_date": {
"type": "string",
"format": "date-time"
},
"fulfilled_date": {
"type": "string",
"format": "date-time"
},
"original_order_source": {
"$ref": "#/components/schemas/OriginalOrderSource"
},
"requested_fulfillments": {
"type": "array",
"description": "A fulfillment is a group of items that expect to be shipped the same way",
"minItems": 1,
"items": {
"required": [
"items",
"ship_to"
],
"type": "object",
"properties": {
"requested_fulfillment_id": {
"type": "string",
"description": "Identifier for the requested fulfillment in the vendor API"
},
"ship_to": {
"type": "object",
"description": "The destination address for this sales order",
"allOf": [
{
"$ref": "#/components/schemas/Address"
}
]
},
"items": {
"type": "array",
"description": "The line items associated with this sales order",
"items": {
"$ref": "#/components/schemas/SalesOrderItem"
}
},
"extensions": {
"type": "object",
"properties": {
"custom_field_1": {
"type": "string"
},
"custom_field_2": {
"type": "string"
},
"custom_field_3": {
"type": "string"
}
}
},
"shipping_preferences": {
"type": "object",
"properties": {
"digital_fulfillment": {
"type": "boolean",
"description": "true if there are no physical items to fulfill. In this case, the ship_to may include placeholder data."
},
"additional_handling": {
"type": "boolean"
},
"bill_duties_to_sender": {
"type": "boolean"
},
"do_not_prepay_postage": {
"type": "boolean",
"description": "Pay for postage at drop off, for carriers that usually require prepaid postage."
},
"gift": {
"type": "boolean"
},
"has_alcohol": {
"type": "boolean"
},
"insurance_requested": {
"type": "boolean"
},
"non_machinable": {
"type": "boolean"
},
"saturday_delivery": {
"type": "boolean"
},
"show_postage": {
"type": "boolean",
"description": "Allow display of postage paid on the shipping label"
},
"suppress_email_notify": {
"type": "boolean"
},
"suppress_marketplace_notify": {
"type": "boolean"
},
"deliver_by_date": {
"type": "string",
"format": "date-time"
},
"hold_until_date": {
"type": "string",
"format": "date-time"
},
"ready_to_ship_date": {
"type": "string",
"format": "date-time"
},
"ship_by_date": {
"type": "string",
"format": "date-time"
},
"preplanned_fulfillment_id": {
"type": "string",
"description": "The identifer assigned by a fulfillment planning system at checkout (Delivery Options)."
},
"shipping_service": {
"type": "string"
},
"package_type": {
"type": "string"
},
"insured_value": {
"$ref": "#/components/schemas/Money"
},
"is_premium_program": {
"type": "boolean",
"description": "true if the order was placed under the terms of the order source's premium program (Amazon Prime, Walmart+, etc)"
},
"premium_program_name": {
"type": "string",
"description": "The name of the premium program, if any. This is for informational purposes. Consumers should base all logic on is_premium_program flag."
},
"requested_warehouse": {
"type": "string"
},
"documents": {
"type": "array",
"description": "Any documents relevant to shipping that the order source provides",
"items": {
"$ref": "#/components/schemas/Document"
}
}
}
},
"branding": {
"type": "object",
"properties": {
"packing_slip": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The url from which the packing slip can be downloaded"
}
},
"description": "Packing slip associated with the brand"
},
"company_name": {
"type": "string",
"description": "Company name associated with the brand"
}
},
"description": "The brand requested for a fulfillment"
},
"duties": {
"type": "object",
"description": "Contains information related to shipping duties for a requested fulfillment",
"properties": {
"duties_displayed_at_checkout": {
"type": "boolean",
"description": "Indicates whether duties were displayed to the buyer at checkout"
},
"delivered_duty_paid": {
"type": "boolean",
"description": "Indicates whether the buyer paid for the duties at checkout"
},
"duties_total": {
"type": "number",
"description": "The sum of duties associated with this fulfillment"
}
}
}
}
}
},
"buyer": {
"$ref": "#/components/schemas/Buyer"
},
"bill_to": {
"type": "object",
"allOf": [
{
"type": "object",
"description": "The billing address and contact information"
},
{
"type": "object",
"properties": {
"email": {
"type": "string"
}
}
},
{
"$ref": "#/components/schemas/Address"
}
]
},
"currency": {
"type": "string",
"description": "The three character ISO 4217 code of the currency used for all monetary amounts"
},
"tax_identifier": {
"$ref": "#/components/schemas/TaxIdentifier"
},
"payment": {
"$ref": "#/components/schemas/Payment"
},
"ship_from": {
"$ref": "#/components/schemas/Address"
},
"order_url": {
"type": "string"
},
"notes": {
"type": "array",
"description": "Additional notes associated with this sales order",
"items": {
"$ref": "#/components/schemas/Note"
}
},
"integration_context": {
"type": "string",
"description": "Data provided by the order source that should be included in calls back to the order source. This data is only meaningful to the integration and not otherwise used by the platform."
},
"created_date_time": {
"type": "string",
"format": "date-time"
},
"modified_date_time": {
"type": "string",
"format": "date-time"
},
"fulfillment_channel": {
"type": "string",
"description": "A value, specific to the order source, that indicates who is expected to fulfill the order. This value can represent whether an order will be fulfilled by seller fulfillment, merchant fulfillment or other fulfillment network."
}
}
}
]
},
"SalesOrderStatus": {
"type": "string",
"description": "The sales order status",
"enum": [
"AwaitingPayment",
"AwaitingShipment",
"Cancelled",
"Completed",
"OnHold",
"PendingFulfillment"
],
"x-enumNames": [
"AwaitingPayment",
"AwaitingShipment",
"Cancelled",
"Completed",
"OnHold",
"PendingFulfillment"
]
},
"OriginalOrderSource": {
"type": "object",
"description": "If this order came from a marketplace other than the one this integration talks to directly, information about the original marketplace goes here. For instance, if an order is placed with another 3rd party such as Amazon or Ebay but shows up in the data from the marketplace this integration talks to directly, any identifiers that link the order back to those original marketplaces goes here. If the order is not from an upstream marketplace and originates at the marketplace you are integrating with directly, do not populate these fields.",
"properties": {
"source_id": {
"type": "string",
"description": "A unique identifier for the store inside of the original marketplace."
},
"marketplace_code": {
"type": "string",
"description": "The ShipEngine API Code of the original marketplace. Check with the Engine team for allowed values."
},
"order_id": {
"type": "string",
"description": "The unique identifier for the order at the original marketplace."
}
}
},
"Note": {
"required": [
"text",
"type"
],
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of note. Example Values: 'BackOrderMessage', 'ConditionNote', 'GiftMessage', 'InternalNotes', 'InStockMessage', 'MPN', 'NotesFromBuyer', 'NotesToBuyer', 'Other', 'OutOfStockMessage', 'Reason', 'SpecialInstructions', 'WarningLabel', 'FeedbackMessage'"
},
"text": {
"type": "string",
"description": "The text of the note"
}
}
},
"SalesOrderItem": {
"allOf": [
{
"required": [
"description",
"quantity"
],
"type": "object",
"properties": {
"line_item_id": {
"type": "string",
"description": "An ID for the line item for the vendor API"
},
"description": {
"type": "string",
"description": "A description of the sales order item - which may differ from the product description"
},
"product": {
"$ref": "#/components/schemas/Product"
},
"quantity": {
"type": "integer",
"description": "The item quantity for this sales order item"
},
"unit_price": {
"$ref": "#/components/schemas/Money"
},
"taxes": {
"type": "array",
"description": "A list of tax charges. The description can convey the jurisdiction",
"items": {
"$ref": "#/components/schemas/Charge"
}
},
"shipping_charges": {
"type": "array",
"description": "A list of shipping charges.",
"items": {
"$ref": "#/components/schemas/Charge"
}
},
"adjustments": {
"type": "array",
"description": "A list of adjustments applied that influence the order total. For example, promotions/discounts/coupons. The amount should always be a quantify of currency, not a percentage.",
"items": {
"$ref": "#/components/schemas/Charge"
}
},
"item_url": {
"type": "string"
},
"modified_date_time": {
"type": "string",
"format": "date-time"
}
}
}
]
},
"Charge": {
"required": [
"amount",
"description"
],
"type": "object",
"properties": {
"amount": {
"$ref": "#/components/schemas/Money"
},
"description": {
"type": "string",
"description": "A description for display purposes only"
}
}
},
"Money": {
"type": "number",
"description": "The amount of the currency"
},
"Address": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the individual associated with this address"
},
"company": {
"type": "string",
"description": "The name of the company associated with this address"
},
"phone": {
"type": "string"
},
"address_line_1": {
"type": "string