Orders

Create new orders, request cancellation or check order status.


POST/xml/orders/

Create an Order

This endpoint allows you to create a new order. See the code examples for how to send the order to the FCP API.

Due to some limitations on how we parse the incoming orders, it is recommended that you only submit a single order per request:
  • Our parser will die at the first order that includes an error.
  • No orders are accepted if any errors are generated.
  • Only errors from the first rejected order are included in any XML responses.

Root Level Elements

Details about the remaining required and optional elements.

  • Name
    OrderSubmitRequest
    Type
    XML
    Required
    required
    Description

    The root XML element contains your API credentials and a list of orders to be submitted.

  • Name
    Version
    Type
    number
    Required
    required
    Description

    This element indicates the XML data version. To submit a test order for validation purposes use: <Version>TEST</Version>.

  • Name
    MerchantId
    Type
    integer
    Required
    required
    Description

    The unique ID number for your Fulfillment Control Panel account.

  • Name
    MerchantName
    Type
    string
    Required
    required
    Description

    The account name of reference in our system.

  • Name
    MerchantToken
    Type
    string
    Required
    required
    Description

    Security token to protect against unauthorized orders.

  • Name
    OrderList
    Type
    XML
    Required
    required
    Description

    Contains all Order elements to be submitted.

Order Level Elements

  • Name
    Order
    Type
    XML
    Required
    required
    Description

    This element contains all the detail elements for each order.

  • Name
    OrderNumber
    Type
    string
    Required
    required
    Description

    Your identifying reference number for the order. The API will not accept duplicate values.

  • Name
    ReferenceNumber
    Type
    string
    Description

    Secondary reference number such as a purchase order.

  • Name
    ShippingMethod
    Type
    string
    Required
    required
    Description

    EFS internal code for the requested shipping service. Current list of acceptable codes can be found here: https://www.efulfillmentservice.com/shippingcodes.

  • Name
    ShippingOptions
    Type
    XML
    Description

    This element contains all the shipping option elements for the order. See Shipping Options section for details.

    view shipping options element tree below
  • Name
    MarketingOptions
    Type
    XML
    Description

    This element contains optional marketing settings. CompanyName will override your FCP account name on packing slips and CompanyEmail will be used for ship confirmation emails.

  • Name
    Comments
    Type
    string
    Description

    Comments are printed on the packing slip included inside each shipment.

  • Name
    ShippingAddress
    Type
    XML
    Required
    required
    Description

    This element contains all the detail elements for the destination address.

    view address element tree below
  • Name
    BillingAddress
    Type
    XML
    Description

    This element contains all the detail elements for the billing address.

    Billing address is strictly used for reference.

    view address element tree below
  • Name
    ItemList
    Type
    XML
    Required
    required
    Description

    Contains all Item elements to be included with the order.

    view item element tree below

Shipping Options Element

  • Name
    Insurance
    Type
    integer
    Description

    The requested insured amount in whole numbers. Submitting a value of 150.50 will result in a request for $150.

  • Name
    CashOnDelivery
    Type
    integer
    Description

    The requested COD amount in whole numbers. Submitting a value of 150.50 will result in a request for $150.

  • Name
    SignatureRequired
    Type
    boolean
    Description

    If this element is set to true, we will attempt to add signature confirmation to the shipment.

  • Name
    ThirdPartyId
    Type
    integer
    Description

    The EFS assigned ID for your third party billing account.

  • Name
    HoldOrder
    Type
    XML
    Description

    This element contains all the detail elements for holding an order.

    view hold order example
  • Name
    HoldOrder.Type
    Type
    enum
    Description

    The type of hold to place on the order. Default is NONE. Use CLIENT to issue a hold.

  • Name
    HoldOrder.ReleaseDate
    Type
    string
    Description

    This string is converted to a date/time value. Examples include: +24 hours, +3 days, 2025-12-31 14:00, etc.

  • Name
    HoldOrder.Comments
    Type
    string
    Description

    Optional comments for the hold reason.

Address Elements

  • Name
    FirstName
    Type
    string
    Required
    required
    Description
    Customer first name.
  • Name
    LastName
    Type
    string
    Required
    required
    Description
    Customer last name.
  • Name
    Company
    Type
    string
    Description

    Customer company name.

  • Name
    Address1
    Type
    string
    Required
    required
    Description
    Customer address line 1.
  • Name
    Address2
    Type
    string
    Description
    Customer address line 2.
  • Name
    City
    Type
    string
    Required
    required
    Description
    Customer city.
  • Name
    State
    Type
    string
    Description

    Customer state for US orders.

  • Name
    PostalCode
    Type
    string
    Description
    Customer postal code (where applicable).
  • Name
    Country
    Type
    string
    Required
    required
    Description

    Country code. Should match ISO 3166-1alpha-2 codes found here: http://www.iso.org/iso/country_names_and_code_elements

  • Name
    Phone
    Type
    string
    Description
    Customer phone number.
  • Name
    Email
    Type
    string
    Description
    Customer email.

Item Elements

  • Name
    Sku
    Type
    string
    Required
    required
    Description
    Item SKU (Stock Keeping Unit).
  • Name
    Quantity
    Type
    integer
    Required
    required
    Description
    Item quantity.

Example Requests

Request

POST
/xml/orders/
curl --location 'https://fcp.efulfillmentservice.com/xml/orders/' \
--header 'Content-Type: text/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<OrderSubmitRequest>
  <Version>2.0</Version>
  <MerchantId>{{CLIENT_ID}}</MerchantId>
  <MerchantName>{{CLIENT_NAME}}</MerchantName>
  <MerchantToken>{{CLIENT_TOKEN}}</MerchantToken>
  <OrderList>...order data...</OrderList>
</OrderSubmitRequest>'

Example Request / Payload

The following example shows both the minimum required data to create an order as well as all available data elements.

Request Body

<?xml version="1.0"?>
<OrderSubmitRequest>
  <Version>2.0</Version>
  <MerchantId>{{CLIENT_ID}}</MerchantId>
  <MerchantName>{{CLIENT_NAME}}</MerchantName>
  <MerchantToken>{{CLIENT_TOKEN}}</MerchantToken>
  <OrderList>
    <Order>
      <OrderNumber>#87612355</OrderNumber>
      <ShippingMethod>ECONOMY_LIGHTWEIGHT</ShippingMethod>
      <ShippingAddress>
        <FirstName>Bertrand</FirstName>
        <LastName>Humbletrack</LastName>
        <Address1>123 Main Street</Address1>
        <City>Chicago</City>
        <State>IL</State>
        <PostalCode>60601</PostalCode>
        <Country>US</Country>
      </ShippingAddress>
      <ItemList>
        <Item>
          <Sku>00-1111</Sku>
          <Quantity>1</Quantity>
        </Item>
      </ItemList>
    </Order>
  </OrderList>
</OrderSubmitRequest>

Hold Orders Example

Request

<ShippingOptions>
    <HoldOrder>
        <Type>CLIENT</Type>
        <ReleaseDate>+36 hours</ReleaseDate>
        <Comments>Hold for review</Comments>
    </HoldOrder>
</ShippingOptions>

Example Responses

Success

<OrderSubmitResponse>
    <Status>Success</Status>
    <Description>XML OK</Description>
    <OrderList>
        <Order>
            <OrderId>105970868</OrderId>
            <OrderNumber>1234-1234-1234</OrderNumber>
            <OrderStatus>Pending</OrderStatus>
        </Order>
    </OrderList>
</OrderSubmitResponse>

Error

<OrderSubmitResponse>
  <Status>Error</Status>
  <Description>Importer Verify Failed</Description>
  <Details>
      <Error>Duplicate Order Number</Error>
      <Order>1234-1234-1234</Order>
      <Value></Value>
      <Description>An order with the same order number already exists. Originally created 2025-08-25 14:52:08, XML (API v2).</Description>
  </Details>
</OrderSubmitResponse>

POST/xml/orders/status/

Retrieve Status

This endpoint allows you to retrieve the current status and tracking for one or more orders. See the code examples for how to send the request to the FCP API.

Request elements

  • Name
    OrderStatusRequest
    Type
    XML
    Required
    required
    Description

    The root XML element contains your API credentials and a list of orders to be submitted.

  • Name
    MerchantId
    Type
    integer
    Required
    required
    Description

    The unique ID number for your Fulfillment Control Panel account.

  • Name
    MerchantName
    Type
    string
    Required
    required
    Description

    The account name of reference in our system.

  • Name
    MerchantToken
    Type
    string
    Required
    required
    Description

    Security token to protect against unauthorized orders.

  • Name
    OrderList
    Type
    XML
    Required
    required
    Description

    Contains all Order elements to be submitted.

  • Name
    Order
    Type
    XML
    Required
    required
    Description

    This element contains all the detail elements for each order.

  • Name
    OrderNumber
    Type
    string
    Required
    required
    Description

    Your identifying reference number for the order.

Response Element Details

  • Name
    OrderStatusResponse
    Type
    XML
    Description

    This root element contains the Status, Description, and OrderList elements.

  • Name
    Status
    Type
    enum
    Description

    The status of the request. Possible values are Success or Error.

  • Name
    Description
    Type
    string
    Description

    This element will contain details about an Error response.

  • Name
    OrderList
    Type
    XML
    Description

    Contains all Order elements for requested OrderNumber.

  • Name
    Order
    Type
    XML
    Description

    Contains the details of each requested OrderNumber.

  • Name
    OrderNumber
    Type
    string
    Description

    Your identifying reference number from the original request.

  • Name
    OrderReference
    Type
    string
    Description

    Secondary reference number such as a purchase order.

  • Name
    OrderConfirmation
    Type
    integer
    Description

    The EFS identifier for the order.

  • Name
    OrderStatus
    Type
    enum
    Description

    The current status of the order. Possible values include Completed, Cancelled, Pending, Processing, Backorder, N/A.

  • Name
    ShippingMethod
    Type
    XML
    Description

    This element contains the details regarding a requested shipping code and actual shipping method.

  • Name
    Requested
    Type
    string
    Description

    The requested shipping code for the order.

  • Name
    Actual
    Type
    string
    Description

    The actual shipping code used for the order.

Example Request / Payload

Request

<?xml version="1.0" encoding="UTF-8"?>
<OrderStatusRequest>
    <MerchantId>{{CLIENT_ID}}</MerchantId>
    <MerchantToken>{{CLIENT_TOKEN}}</MerchantToken>
    <MerchantName>{{CLIENT_NAME}}</MerchantName>
    <OrderList>
        <Order>
            <OrderNumber>5473b</OrderNumber>
        </Order>
        <Order>
            <OrderNumber>#XWZY2ePiVc</OrderNumber>
        </Order>
        <Order>
            <OrderNumber>2025-01-20_01</OrderNumber>
        </Order>
    </OrderList>
</OrderStatusRequest>

Example Response

Response

<?xml version="1.0" encoding="UTF-8"?>
<OrderStatusResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://fcp.efulfillmentservice.com/xml/orders/status/OrderStatusResponse.xsd">
    <Status>Success</Status>
    <Description/>
    <OrderList>
        <Order>
            <OrderNumber>5473b</OrderNumber>
            <OrderReference></OrderReference>
            <OrderConfirmation>0</OrderConfirmation>
            <OrderStatus>Not Found</OrderStatus>
            <ShippingMethod/>
            <Packages/>
            <ShippingCost/>
        </Order>
        <Order>
            <OrderNumber>2025-01-07T20:46:18.577Z_626</OrderNumber>
            <OrderReference></OrderReference>
            <OrderConfirmation>15970551</OrderConfirmation>
            <OrderStatus>Completed</OrderStatus>
            <ShippingMethod>
                <Requested>USPS_PRIORITY</Requested>
                <Actual>SS_STANDARD</Actual>
            </ShippingMethod>
            <Packages>
                <Package>
                    <TrackingNumber>420513509261290367770201780849</TrackingNumber>
                    <TrackingLink></TrackingLink>
                    <Weight>1</Weight>
                    <Dimensions>5x5x5</Dimensions>
                    <Date>2025-02-21</Date>
                </Package>
            </Packages>
            <ShippingCost>
                <Amount>6.20</Amount>
                <Type>Estimated</Type>
            </ShippingCost>
        </Order>
        <Order>
            <OrderNumber>2025-05-20_0006</OrderNumber>
            <OrderReference></OrderReference>
            <OrderConfirmation>105970779</OrderConfirmation>
            <OrderStatus>Processing</OrderStatus>
            <ShippingMethod>
                <Requested>GROUND_ADVANTAGE</Requested>
                <Actual></Actual>
            </ShippingMethod>
            <Packages/>
            <ShippingCost/>
            <Serials>
                <Serial>bfjdjdjd</Serial>
                <Serial>jsjxjxjd</Serial>
            </Serials>
            <ItemList>
                <Item>
                    <SKU>00-0003</SKU>
                    <Serials>
                        <Serial>bfjdjdjd</Serial>
                        <Serial>jsjxjxjd</Serial>
                    </Serials>
                </Item>
            </ItemList>
        </Order>
    </OrderList>
</OrderStatusResponse>

POST/xml/orders/cancel/

Request Cancellation

This endpoint allows you to request cancellation for one or more orders. See the code examples for how to send the request to the FCP API.

Request Elements

  • Name
    OrderCancelRequest
    Type
    XML
    Required
    required
    Description

    The root XML element contains your API credentials and a list of orders to be submitted.

  • Name
    MerchantId
    Type
    integer
    Required
    required
    Description

    The unique ID number for your Fulfillment Control Panel account.

  • Name
    MerchantName
    Type
    string
    Required
    required
    Description

    The account name of reference in our system.

  • Name
    MerchantToken
    Type
    string
    Required
    required
    Description

    Security token to protect against unauthorized orders.

  • Name
    OrderList
    Type
    XML
    Required
    required
    Description

    Contains all Order elements to be submitted.

  • Name
    Order
    Type
    XML
    Required
    required
    Description

    This element contains all the detail elements for each order.

  • Name
    OrderNumber
    Type
    string
    Required
    required
    Description

    Your identifying reference number for the order.

Response Element Details

  • Name
    OrderCancelResponse
    Type
    XML
    Description

    This root element contains the Status, Description, and OrderList elements.

  • Name
    Status
    Type
    enum
    Description

    The status of the request. Possible values are Success or Error.

  • Name
    Description
    Type
    string
    Description

    This element will contain details about an Error response.

  • Name
    OrderList
    Type
    XML
    Description

    Contains all Order elements for requested OrderNumber.

  • Name
    Order
    Type
    XML
    Description

    Contains the details of each requested OrderNumber.

  • Name
    OrderId
    Type
    integer
    Description

    The EFS identifier for the order.

  • Name
    OrderNumber
    Type
    string
    Description

    Your identifying reference number from the original request.

  • Name
    OrderCancelStatus
    Type
    enum
    Description

    The status of the cancellation request. Possible values are Success or Error.

  • Name
    OrderCancelDescription
    Type
    string
    Description

    Error details if an order cannot be cancelled.

Example Request / Payload

Request

<?xml version="1.0" encoding="UTF-8"?>
<OrderCancelRequest>
    <MerchantId>{{CLIENT_ID}}</MerchantId>
    <MerchantName>{{CLIENT_NAME}}</MerchantName>
    <MerchantToken>{{CLIENT_TOKEN}}</MerchantToken>
    <OrderList>
        <Order>
            <OrderNumber>81120251</OrderNumber>
        </Order>
        <Order>
            <OrderNumber>2025-01-07T20:46:18.577Z_626</OrderNumber>
        </Order>
        <Order>
            <OrderNumber>2025-05-20_0006</OrderNumber>
        </Order>
    </OrderList>
</OrderCancelRequest>

Example Response

Response

<?xml version="1.0" encoding="UTF-8"?>
<OrderCancelResponse>
    <Status>Success</Status>
    <Description>Some requested cancellations could not be completed</Description>
    <OrderList>
        <Order>
            <OrderId>105970845</OrderId>
            <OrderNumber>81120251</OrderNumber>
            <OrderCancelStatus>Success</OrderCancelStatus>
            <OrderCancelDescription/>
        </Order>
        <Order>
            <OrderId>15970551</OrderId>
            <OrderNumber>2025-01-07T20:46:18.577Z_626</OrderNumber>
            <OrderCancelStatus>Error</OrderCancelStatus>
            <OrderCancelDescription>This order has been completed and cannot be cancelled</OrderCancelDescription>
        </Order>
        <Order>
            <OrderId>105970779</OrderId>
            <OrderNumber>2025-05-20_0006</OrderNumber>
            <OrderCancelStatus>Error</OrderCancelStatus>
            <OrderCancelDescription>This order has already been batched for processing and cannot be cancelled</OrderCancelDescription>
        </Order>
    </OrderList>
</OrderCancelResponse>