NAV
shell python
  • Introduction
  • Rate Limits
  • Authentication
  • HTTP Headers
  • Orders
  • Shipments
  • Inventory
  • Advanced Ship Notices
  • Purchase Orders
  • Returns
  • Catalog
  • Paygate Calls
  • Order Cancels
  • Vendors
  • Errors
  • Introduction

    Make sure to replace <domain> with a value appropriate for your account in all requests to the API.

    Welcome to Jazz Central API!

    You can use our API to access data and services for your Jazz Central integration.

    We have language examples for Shell and Python! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

    Rate Limits

    Here are our rate limits by endpoint below:

    Endpoint Timeout Period Rate
    /api/token 1 Hour 30 / Minute
    /api/v1/purchase-order 1 Minute 240 / Minute
    /api/v1/product/inventory 1 Minute 240 / Minute
    /api/v1/order/import 1 Minute 240 / Minute
    /api/v1/order/status 1 Hour 240 / Minute
    /api/v1/shipment/status 1 Hour 240 / Minute
    /rma/ 1 Hour 240 / Minute

    Authentication

    Make sure to replace <username>, and <password> with your own credentials.

    To request a token, use this code:

    curl -X POST \
     -d '{"username": "<username>", "password":"<password>"}' \
     -H "Content-Type: application/json" \
     https://<domain>.jazz-oms.com/api/token/
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/token/'
    token = requests.post(url, headers={
        'Content-Type': 'application/json'
    }, json={
        'username': '<username>',
        'password': '<password>'
    })
    

    The token response JSON is structured like this:

    {
      "token": "<token>"
    }
    

    A token is required to interact with API end-points.

    Tokens can be requested with credentials for an active user account.

    Tokens remain valid for 15 minutes after the last request that uses them.

    HTTP Headers

    All requests beyond /api/token/ require these HTTP headers:

    Authorization: Token 0888f9c3ac006b860d6e5aba294c9782f181a9bd

    Tenant: DEMO

    Orders

    Get Order Status

    Make sure to replace <order_number> with your own value and/or use different parameters.

    curl -X GET \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/order/status?order_number=<order_number>
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/order/status'
    token = requests.get(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, params={
        'order_number': '<order_number>'
    })
    

    The order list response JSON is structured like this:

    {
      "count": 1,
      "next": null,
      "previous": null,
      "results": [
        {
          "order_number": "<order_number>",
          "po_number": null,
          "order_date": "2018-05-15 16:21:34",
          "status": "SHIPPED",
          "qty_ordered": 1,
          "qty_canceled": 0,
          "qty_allocated": 0,
          "qty_backordered": 0,
          "qty_printed": 0,
          "qty_shipped": 1,
          "source_code": "WEB",
          "offer_code": "WEB",
          "business_type_code": "WEB",
          "detail_set": [
            {
              "line_number": 1,
              "sku_code": "DEMO-123",
              "qty_ordered": 1,
              "qty_canceled": 0,
              "qty_allocated": 0,
              "qty_backordered": 0,
              "qty_printed": 0,
              "qty_new": 0,
              "qty_shipped": 1,
              "qty_returned": 0
            }
          ]
        }
      ]
    }
    

    This endpoint retrieves order statuses with various filters.

    HTTP Request

    GET https://<domain>.jazz-oms.com/api/v1/order/status

    Query Parameters

    Parameter Default Description
    limit 10 The number of results to return per page.
    order_number null If provided, the result will be limited to a specific order.
    order_date null If provided, the result will be limited to orders from a specific date.
    po_number null If provided, the result will be limited to orders for a specific PO
    start_date null If set, the result will be limited to orders since the input date.
    end_date null If set, the result will be limited to orders up to the input date.
    status null Possible values = NEW, SHIPPED, PRINTED, ALLOCATED, CANCELED

    Import Order

    curl -X POST \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/order/import
     --data '{
       "order_number": "ORD1234",
       "order_date": "2018-07-19 16:32",
       "ship_date": "2018-07-19",
       "attributes": {
         "allocation_facility": "FBF01"
       },
       "cancel_date": "2018-07-30",
       "po_number": null,
       "source_code": "SOURCE_001",
       "customer": {
         "customer_number": "1",
         "first_name": "First",
         "last_name": "Last",
         "email": "[email protected]",
         "address1": "#1 Example Ave",
         "address2": "Suite #1",
         "city": "Dallas",
         "state": "TX",
         "zipcode": "75240",
         "country": "US",
         "attributes": None,
         "mia_attributes": None,
         "company": "Example Corp",
         "phone_number": "(999) 999-9999",
       },
       "shipto": [
         {
           "shipto_number": "1",
           "first_name": "First",
           "last_name": "Last",
           "address": {
             "customer_number": "1",
             "first_name": "First",
             "last_name": "Last",
             "email": "[email protected]",
             "address1": "#1 Example Ave",
             "address2": "Suite #1",
             "city": "Dallas",
             "state": "TX",
             "zipcode": "75240",
             "country": "US",
             "attributes": None,
             "mia_attributes": None,
             "company": "Example Corp",
             "phone_number": "(999) 999-9999",
           },
           "ship_code": "SHP_001",
           "shipping": 5,
           "store_number": "12345",
           "distribution_center_number": "12345",
           "detail_set": [
             {
               "sku": "SKU_144",
               "qty_ordered": 2,
               "current_price": "5.59",
               "local_tax": 0,
               "state_tax": 0,
               "county_tax": 0,
               "goods_and_services_tax": 0,
               "attributes": {
                 "final_sale": true,
                 "allocation_facility": "FBF01"
               }
             },
             {
               "sku": "SKU_143",
               "qty_ordered": 1,
               "current_price": "5.59",
               "local_tax": 0,
               "state_tax": 0,
               "county_tax": 0,
               "goods_and_services_tax": 0,
               "attributes": {
                 "final_sale": true
               }
             }
           ],
           "tax_percentage": 0,
           "shipping_tax": 0,
           "subtotal_amount": "16.77",
           "discounts_amount": "0.00",
           "credits_debits_amount": "0.00",
           "tax_amount": "0.00",
           "total_amount": "21.77",
           "packer_instructions": "Poly-bag before packing",
           "attributes": {
             "carton_contents_required": False,
             "carrier_account_number": "XXX",
             "cpf_number" "XXX"
           }
         }
       ],
       "payment": [
         {
           "payment_number": "1",
           "first_name": "First",
           "last_name": "Last",
           "address": {
             "customer_number": "1",
             "first_name": "First",
             "last_name": "Last",
             "email": "[email protected]",
             "address1": "#1 Example Ave",
             "address2": "Suite #1",
             "city": "Dallas",
             "state": "TX",
             "zipcode": "75240",
             "country": "US",
             "attributes": None,
             "mia_attributes": None,
             "company": "Example Corp",
             "phone_number": "(999) 999-9999",
           },
           "card_code": "VS",
           "token": "0000",
           "last4": "9999",
           "authorization": [
             {
               "auth_code": "12345",
               "amount": "21.77"
             }
           ]
         }
       ]
     }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/order/import'
    token = requests.post(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
      "order_number": "ORD1234",
      "order_date": "2018-07-19 16:32",
      "ship_date": "2018-07-19",
      "attributes": {
        "allocation_facility": "FBF01"
      },
      "cancel_date": "2018-07-30",
      "po_number": null,
      "source_code": "SOURCE_001",
      "customer": {
        "customer_number": "1",
        "first_name": "First",
        "last_name": "Last",
        "email": "[email protected]",
        "address1": "#1 Example Ave",
        "address2": "Suite #1",
        "city": "Dallas",
        "state": "TX",
        "zipcode": "75240",
        "country": "US",
        "attributes": None,
        "mia_attributes": None,
        "company": "Example Corp",
        "phone_number": "(999) 999-9999",
      },
      "shipto": [
        {
          "shipto_number": "1",
          "first_name": "First",
          "last_name": "Last",
          "address": {
            "customer_number": "1",
            "first_name": "First",
            "last_name": "Last",
            "email": "[email protected]",
            "address1": "#1 Example Ave",
            "address2": "Suite #1",
            "city": "Dallas",
            "state": "TX",
            "zipcode": "75240",
            "country": "US",
            "attributes": None,
            "mia_attributes": None,
            "company": "Example Corp",
            "phone_number": "(999) 999-9999",
          },
          "ship_code": "SHP_001",
          "shipping": 5,
          "store_number": "12345",
          f"distribution_center_number": "12345",
          "detail_set": [
            {
              "sku": "SKU_144",
              "qty_ordered": 2,
              "current_price": "5.59",
              "local_tax": 0,
              "state_tax": 0,
              "county_tax": 0,
              "goods_and_services_tax": 0
            },
            {
              "sku": "SKU_143",
              "qty_ordered": 1,
              "current_price": "5.59",
              "local_tax": 0,
              "state_tax": 0,
              "county_tax": 0,
              "goods_and_services_tax": 0
            }
          ],
          "tax_percentage": 0,
          "shipping_tax": 0,
          "subtotal_amount": "16.77",
          "discounts_amount": "0.00",
          "credits_debits_amount": "0.00",
          "tax_amount": "0.00",
          "total_amount": "21.77",
          "packer_instructions": "Poly-bag before packing",
          "attributes": {
            "carton_contents_required": False
            "carrier_account_number": "XXX"
          }
        }
      ],
      "payment": [
        {
          "payment_number": "1",
          "first_name": "First",
          "last_name": "Last",
          "address": {
            "customer_number": "1",
            "first_name": "First",
            "last_name": "Last",
            "email": "[email protected]",
            "address1": "#1 Example Ave",
            "address2": "Suite #1",
            "city": "Dallas",
            "state": "TX",
            "zipcode": "75240",
            "country": "US",
            "attributes": None,
            "mia_attributes": None,
            "company": "Example Corp",
            "phone_number": "(999) 999-9999",
          },
          "card_code": "VS",
          "token": "0000",
          "last4": "9999",
          "authorization": [
            {
              "auth_code": "12345",
              "amount": "21.77"
            }
          ]
        }
      ]
    }
    )
    

    The order import response JSON is structured like this:

    {
      "order_number": "ORD1234",
      "po_number": null,
      "attributes": null,
      "order_date": "2018-07-19 16:33:25",
      "customer": {
        "customer_number": "1",
        "first_name": "First",
        "last_name": "Last",
        "email": "[email protected]",
        "address1": "#1 Example Ave",
        "address2": "Suite #1",
        "city": "Dallas",
        "state": "TX",
        "zipcode": "75240",
        "country": "US",
        "attributes": null,
        "mia_attributes": null,
        "company": "Example Corp",
        "phone_number": "(999) 999-9999"
      },
      "shipto": [
        {
          "shipto_number": "1",
          "first_name": "First",
          "last_name": "Last",
          "company": null,
          "address": {
            "customer_number": "1",
            "address1": "#1 Example Ave",
            "address2": "Suite #1",
            "city": "Dallas",
            "state": "TX",
            "zipcode": "75240",
            "country": "US",
            "attributes": null,
            "email": "[email protected]",
            "phone_number": "(999) 999-9999"
          },
          "ship_code": "SHP_001",
          "shipping": "5.0000",
          "local_tax": "0.0000",
          "county_tax": "0.0000",
          "state_tax": "0.0000",
          "goods_and_services_tax": "0.0000",
          "shipping_tax": "0.0000",
          "detail_set": [
            {
              "line_number": 1,
              "sku": "SKU_144",
              "sku_description": "SKU #144",
              "sku_cost": 5.24,
              "qty_ordered": 2,
              "qty_canceled": 0,
              "qty_allocated": 0,
              "qty_backordered": 0,
              "qty_printed": 0,
              "qty_new": 2,
              "qty_shipped": 0,
              "current_price": "5.59",
              "discount": "0.00",
              "local_tax": "0.0000",
              "county_tax": "0.0000",
              "state_tax": "0.0000",
              "attributes": null,
              "total": "11.18",
              "item_code": "ITEM_029",
              "override_reason_code": null,
              "override_price": null,
              "facilities": [],
              "pick_ticket_numbers": [],
              "qty_returned": 0,
              "sku_color": "",
              "sku_size": "",
              "kit_detail": null,
              "kit_lines": [],
              "is_kit": false,
              "is_waved": false
            },
            {
              "line_number": 2,
              "sku": "SKU_143",
              "sku_description": "SKU #143",
              "sku_cost": 5.24,
              "qty_ordered": 1,
              "qty_canceled": 0,
              "qty_allocated": 0,
              "qty_backordered": 0,
              "qty_printed": 0,
              "qty_new": 1,
              "qty_shipped": 0,
              "current_price": "5.59",
              "discount": "0.00",
              "local_tax": "0.0000",
              "county_tax": "0.0000",
              "state_tax": "0.0000",
              "attributes": null,
              "total": "5.59",
              "item_code": "ITEM_029",
              "override_reason_code": null,
              "override_price": null,
              "facilities": [],
              "pick_ticket_numbers": [],
              "qty_returned": 0,
              "sku_color": "",
              "sku_size": "",
              "kit_detail": null,
              "kit_lines": [],
              "is_kit": false,
              "is_waved": false
            }
          ],
          "packer_instructions": "Poly-bag before packing",
          "attributes": {
            "carton_contents_required": false
          },
          "ship_date": null,
          "ship_code_description": "Ship Code #1",
          "tax_percentage": "0.0000",
          "tax_amount": "0.00",
          "total_amount": "21.77",
          "subtotal_amount": "16.77",
          "discounts_amount": "0.00",
          "credits_debits_amount": "0.00"
        }
      ],
      "payment": [
        {
          "payment_number": "1",
          "first_name": "First",
          "last_name": "Last",
          "company": null,
          "card_type": {
            "code": "VS",
            "name": "Visa",
            "description": "Visa"
          },
          "last4": "9999",
          "token": "0000",
          "address": {
            "customer_number": "1",
            "address1": "#1 Example Ave",
            "address2": "Ste 115",
            "city": "Dallas",
            "state": "TX",
            "zipcode": "75240",
            "country": "US",
            "attributes": null,
            "email": "[email protected]",
            "phone_number": "(999) 999-9999"
          },
          "attributes": null,
          "authorization": [
            {
              "auth_code": "12345",
              "amount": "21.77",
              "attributes": null
            }
          ],
          "non_settling": false
        }
      ],
      "notes": [],
      "total": "21.77",
      "shipping": "5.00",
      "tax": "0.00",
      "subtotal": "16.77",
      "qty_ordered": 3,
      "qty_canceled": 0,
      "qty_allocated": 0,
      "qty_backordered": 0,
      "qty_printed": 0,
      "qty_shipped": 0,
      "status": "New",
      "holds": [],
      "salesperson": null,
      "source_code": "SOURCE_001",
      "discount": "0.00",
      "cancel_date": null,
      "qty_returned": 0,
      "order_appeasements": [],
      "credits_debits": "0.00",
      "offer_code": "OFFER_001",
      "business_type_code": "Web",
      "shipping_tax": "0.00",
      "client_order_date": "2018-07-19T16:32:00Z"
    }
    

    This endpoint imports orders.

    HTTP Request

    POST https://<domain>.jazz-oms.com/api/v1/order/import

    Payload

    Key Default Description
    order_number null The order number for this order. If removed from the payload an order number will by assigned by Jazz.
    order_date null Order timestamp.
    ship_date null Optional ship by date.
    cancel_date null Optional cancel by date.
    source_code null A unique identifier for the source of this order.
    customer null A JSON representation of a customer.
    shipto null A JSON array of ShipTo objects.
    payment null A JSON array of Payment objects.

    Payload Objects

    ShipTo

    Key Default Description
    shipto_number null A unique identifier for this address.
    first_name null The first name of the customer.
    last_name null The last name of the customer.
    address null An address object.
    ship_code null A code describing the shipping method.
    shipping null The price of shipping.
    detail_set null An array of Shipment Details.
    tax_percentage null The percentage of tax applied to this order.
    shipping_tax null The tax applied for shipping.
    subtotal_amount null The subtotal of the order.
    discounts_amount null The total amount of discounts applied to the order.
    credits_debits_amount null The total credits and debits applied to the order.
    tax_amount null The total amount of tax applied to the order.
    total_amount null The sum of charges applied to the order.
    store_number null Used for certain integrations.
    distribution_center_number null Used for certain integrations.
    packer_instructions null Free-form text instructions to the packer.
    attributes null JSON object describing any additional attributes that apply to the order.

    ShipTo Attributes

    Key Default Description
    carton_contents_required false A boolean field to determine if a carton content label is printed.
    carrier_account_number null Small Parcel Carrier Account Number specific to this order.

    Address

    Key Default Description
    customer_number null The numeric id of this customer.
    first_name null The first name of the recipient.
    last_name null The last name of the recipient.
    email null The email address of the recipient.
    company null The name of the company of the recipient.
    phone_number null The phone number of the recipient.
    address1 null The destination address line 1.
    address2 null The destination address line 2.
    city null The destination city.
    state null The abbreviation of the destination state.
    zipcode null The destination postal code.
    country null The destination country.
    attributes null JSON object describing any additional attributes that apply to this address.
    mia_attributes null JSON object describing any additional mia attributes that apply to this address.

    Shipment Detail

    Key Default Description
    sku null The sku code of the item.
    qty_ordered 0 The number of units ordered.
    current_price null The unit price.
    local_tax 0 The local tax applied to the units.
    state_tax 0 The state tax applied to the units.
    county_tax 0 The county tax applied to the units.
    goods_and_services_tax 0 The goods and services tax applied to the units.

    Payment

    Key Default Description
    payment_number null The numeric id of this payment.
    first_name null The first name of the customer.
    last_name null The last name of the customer.
    address null The billing address of this payment method.
    card_code null The identified for this payment type.
    token null The token for this payment.
    last4 null The last 4 digits of the payment method.
    authorization null An array of authorization objects.

    Authorization

    Key Default Description
    auth_code null The authorization code of this authorization.
    amount null The amount authorized.

    Shipments

    Get Shipment List

    Make sure to replace <order_number> with your own value and/or use different parameters.

    curl -X GET \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/shipment/status?order_number=<order_number>
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/shipment/status'
    token = requests.get(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, params={
        'order_number': '<order_number>'
    })
    

    The shipment list response JSON is structured like this:

    {
      "count": 1,
      "next": null,
      "previous": null,
      "results": [
        {
          "shipment_number": "1000001",
          "status": "confirmed",
          "created_at": "2021-06-10T16:45:59.958134Z",
          "ship_date": "2018-04-13",
          "weight": "2.94",
          "carton_number": "1000001",
          "carton_code": "100001",
          "tracking_number": "1234567890123456",
          "return_tracking_number": "1234567890123456",
          "ship_code": "fedex_ground",
          "ship_code_description": "FedEx Ground",
          "source_code": "source",
          "shipment_detail": [
            {
              "order_line_number": "1",
              "pick_line_number": "1",
              "sku_code": "DEMO-123",
              "qty_shipped": 1,
              "line_attributes": {
                "custom_value": "insert detail"
              }
          ],
          "pick_ticket_number": "1000000001",
          "bill_of_lading_number": "0000000000245179812",
          "order_number": "<order_number>"
        }
      ]
    }
    

    This endpoint retrieves order statuses with various filters.

    HTTP Request

    GET https://<domain>.jazz-oms.com/api/v1/shipment/status

    Query Parameters

    Parameter Default Syntax Description
    limit 10 10 The number of results to return per page.
    shipment_number null A100 If provided, the result will be limited to a specific shipment.
    order_number null A100 If provided, the result will be limited to a specific order.
    ship_date null YYYY-MM-DD If provided, the result will be limited to shipments from a specific date.
    po_number null A100 If provided, the result will be limited to orders for a specific PO
    start_date null YYYY-MM-DDTHH:MM:SS-0600 If set, the result will be limited to shipments since the input date.
    end_date null YYYY-MM-DDTHH:MM:SS-0600 If set, the result will be limited to shipments up to the input date.

    Inventory

    Get Inventory Levels

    curl -X GET \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/product/inventory?limit=10
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/product/inventory'
    token = requests.get(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, params={
        'limit': 10
    })
    

    The inventory response JSON is structured like this:

    {
      "count": 1,
      "next": null,
      "previous": null,
      "results": [
        {
          "item_code": "DEMO",
          "sku_code": "DEMO",
          "facility_code": "FBF01",
          "total_quantity": 1437,
          "available_quantity": 1337,
          "inbound_quantity": 100,
          "on_hand_quantity": 1337,
          "attributes": {
            "hts_code_1": null,
            "harmonized_cd": "1776.07.0400",
            "hazmat_cd": null,
            "size_class": 0.0357,
          },
          "barcode": "1234567890",
          "business_type_code": null
        },
      ]
    }
    

    This endpoint retrieves inventory by SKU, Facility, Business Type.

    HTTP Request

    GET https://<domain>.jazz-oms.com/api/v1/product/inventory

    Query Parameters

    Parameter Default Description
    limit 10 The number of results to return per page.
    sku__sku_code null If provided, the result will be limited to a single SKU.
    facility_code null If provided, the result will be limited to inventory levels from a specific Facility.
    business_type_code null If provided, the result will be limited to a single Business Type
    since null If set to a valid ISO 8601 datestamp, the result will only contain inventory levels for SKUs that have had inventory transactions since the input date (e.g. 2018-05-21T00:00:00-05:00).

    Pix Transactions

    curl -X GET \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/product/pix?limit=10
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/product/pix'
    token = requests.get(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, params={
        'limit': 25
    })
    

    The inventory response JSON is structured like this:

    {
        "count": 50,
        "next": "https://fbflurry.jazz-oms.com/api/v1/product/pix?limit=25&offset=50",
        "previous": "https://fbflurry.jazz-oms.com/api/v1/product/pix?limit=25&offset=0",
        "results": [
            {
                "id": "43949981",
                "sku_code": "SKU_CODE",
                "facility_code": "FACILITY_CODE",
                "business_type_code": null,
                "quantity": 2,
                "reason_code": "REASON_CODE",
                "transaction_id": null,
                "transaction_type": "TRANSACTION_TYPE",
                "po_number": null,
                "order_number": null,
                "lot_number": null,
                "lot_expiration": null,
                "created_at": "2024-01-25T14:18:23.625117-06:00",
                "shipment_number": null,
                "rma_reference": null,
                "return_to_inventory": true,
                "saleability": "SALEABILITY",
                "note": null,
                "case_number": null
            }
        ]
    }
    

    This endpoint retrieves inventory by SKU, Facility, Business Type. The 3 types of TRANSACTION_TYPEs located in the response are below:

    TRANSACTION_TYPE Description
    100 Receipts
    200 Returns
    300 Adjustments
    Key Default Description
    sku_code - The sku code for this detail line.
    reason_code - For most transactions, this will show the reason code related to the move.
    po_number null If transaction_type is 100, this will show the purchase order received against if there was one.
    order_number null If the transaction can be related to an order, the order number will show here.
    shipment_number null If transaction_type is 100, this will show the ASN shipment number provided on the receipt.
    rma_reference null If transaction_type is 200, this will show the RMA referenced with the return.
    saleability null Options are "Saleable", "Damaged", "Nonsaleable". Assume NULL = "Saleable".
    case_barcode null If transaction_type is 100, this will show the container barcode received.
    line_number null The line number for this shipment detail.

    HTTP Request

    GET https://<domain>.jazz-oms.com/api/v1/product/pix

    Query Parameters

    Parameter Default Description
    limit 10 The number of results to return per page.
    transaction_type null If provided, the results will be limited to the transaction_type indicated.
    sku__sku_code null If provided, the result will be limited to a single SKU.
    transaction_id null If provided, the result will be limited to a single transaction.
    search null If provided, the result will be limited to transaction ids including the provided value
    since null If set to a valid ISO 8601 datestamp, the result will only contain inventory transactions for SKUs that have had inventory transactions since the input date (e.g. 2018-05-21T00:00:00-05:00).

    Advanced Ship Notices

    This endpoint serves for both regular inbound shipment records as well as ASN receiving by barcode records.

    Import ASN/Shipment

    curl -X POST \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/shipping/asn
     --data '{
         "shipment_number": "3160111",
         "facility_code": "FBF01",
         "po_number": null,
         "load_number": null,
         "vendor": "ABC123",
         "seal_number": null,
         "arrival_at": "2020-02-22",
         "shipped_at": "2020-02-20",
         "details":
           [{
               "sku_code": "210642386548765",
               "po_number": null,
               "case_barcode": null,
               "line_number": "001001",
               "quantity": 33,
               "country_of_origin": "US"
           }]
     }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/shipping/asn'
    token = requests.post(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
        "shipment_number": "3160111",
        "facility_code": "FBF01",
        "po_number": null,
        "load_number": null,
        "seal_number": null,
        "arrival_at": "2020-02-22",
        "shipped_at": "2020-02-20",
        "details":
          [{
              "sku_code": "210642386548765",
              "po_number": null,
              "case_barcode": null,
              "line_number": "001001",
              "quantity": 33,
              "country_of_origin": "US"
          }]
    })
    

    The asn import response JSON is structured like this:

    {
        "arrival_at": "2020-04-22T09:20:08-05:00",
        "carrier_number": null,
        "created_at": "2020-03-11T18:30:16.026529Z",
        "created_by": 2,
        "facility": 1,
        "id": 96,
        "load_number": null,
        "seal_number": null,
        "ship_code": null,
        "po_number": null,
        "shipped_at": "2020-04-20T09:20:08Z",
        "shipment_number": "10050",
        "status": "open",
        "updated_at": null,
        "updated_by": null,
        "shipment_type": "asn",
        "details": [{
          "advance_ship_notice": 96,
          "status": "open",
          "sku": 440496,
          "quantity": 33,
          "received": 0,
          "line_number": "001001",
          "po_number": null,
          "case": 13800,
          "po_number": null,
          "case_barcode": "r9"
        }]
    }
    

    This endpoint imports ASNs.

    HTTP Request

    POST https://<domain>.jazz-oms.com/api/v1/shipping/asn

    Payload Keys

    Key Default Description
    shipment_number 1 A unique identifier for the shipment.
    facility_code FBF01 The facility for the shipment.
    load_number null The load number for the shipment. Can be left null.
    vendor null Vendor code for the origin vendor.
    seal_number null The seal number for the shipment. Can be left null.
    arrival_at null The expected arrival date of the shipment.
    shipped_at null The date that the shipment shipped.
    detail null A JSON Array of purchase order details.

    Payload Objects

    Shipment Detail

    Key Default Description
    sku_code 1 The sku code for this detail line.
    po_number null The Purchase Order tied to this shipment detail. Can be left null.
    case_barcode null To allow for ASN receiving, a barcode must be provided for the quantity. Can be left null for normal shipment records.
    line_number null The line number for this shipment detail.
    quantity null The number of units to ship.
    Country of Origin null Sets the COO for the Case/Detail line.

    Update ASN/Shipment

    curl -X PATCH \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/shipping/asn/<shipment_number>
     --data '{
         "load_number": null,
         "seal_number": null,
         "arrival_at": "2020-02-22",
         "shipped_at": "2020-02-20",
         }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/shipping/asn/<shipment_number'
    token = requests.patch(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
        "load_number": null,
        "seal_number": null,
        "arrival_at": "2020-02-22",
        "shipped_at": "2020-02-20",
        })
    

    This endpoint updates ASNs.

    HTTP Request

    PATCH https://<domain>.jazz-oms.com/api/v1/shipping/asn/<shipment_number>

    Payload Keys

    Key Default Description
    load_number null The load number for the shipment. Can be left null.
    seal_number null The seal number for the shipment. Can be left null.
    arrival_at null The expected arrival date of the shipment.
    shipped_at null The date that the shipment shipped.

    Retrieve ASNs

    curl -X GET \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/shipping/asn/<shipment-number>
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/shipping/asn/<shipment-number>'
    token = requests.get(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    })
    

    The ASN response JSON is structured like this:

    {
        "arrival_at": "2020-06-19T05:00:00Z",
        "carrier_number": null,
        "created_at": "2020-06-19T22:11:29.533753Z",
        "created_by": 213,
        "facility_code": "FBF01",
        "facility": 1,
        "id": 164,
        "load_number": null,
        "po_number": null,
        "seal_number": null,
        "ship_code": "SMRTT",
        "shipped_at": "2020-06-19T05:00:00Z",
        "shipment_number": "SHIPMENT_X",
        "status": "open",
        "updated_at": "2020-06-19T22:11:29.653474Z",
        "updated_by": null,
        "shipment_type": "inbound",
        "cases": [],
        "detail": [
            {
                "id": 13885,
                "item_code": "ITEM_X",
                "description": "Description",
                "size_desc": "Size",
                "color_desc": "Color",
                "shipment_number": "SHIPMENT_X",
                "po_number": null,
                "sku_code": "SKU_CODE",
                "barcode": "BARCODE",
                "quantity": 15,
                "received": 0,
                "case_barcode": null,
                "facility": "FBF01",
                "line_number": "1",
                "status": "open",
                "is_virtual": false
            }
        ],
        "on_hold": false,
        "attributes": {}
    }
    

    This endpoint retrieves ASNs using the shipment number. It call also be used with the query parameters below as in /api/v1/shipping/asn?query=XXX

    Query Parameters

    Parameter Format Description
    status open, closed, receiving Return ASNs under the current status.
    shipped_since Date Gives all ASNs with a shipment since date.
    created_since Date Gives all ASNs created since date.
    updated_since Date Gives all ASNs updated since date.
    arrived_since Date Gives all ASNs with an arrival since date.

    HTTP Request

    GET https://<domain>.jazz-oms.com/api/v1/shipping/asn/<shipment-number>

    Purchase Orders

    Make sure to replace <purchase_order_number> with your own value and/or use different parameters.

    Retrieve Purchase Orders

    curl -X GET \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/purchase-order?search=<purchase_order_number>
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/purchase-order'
    token = requests.get(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, params={
        'search': '<purchase_order_number>'
    })
    

    The purchase order response JSON is structured like this:

    {
        "count": 1,
        "next": null,
        "previous": null,
        "results": [
            {
                "po_number": "001",
                "facility_code": "FBF01",
                "order_date": "2018-05-02",
                "expected_date": "2018-05-01",
                "attributes": null,
                "detail": [
                    {
                        "line_number": 1,
                        "sku_code": "0249953",
                        "qty_ordered": 6,
                        "description": "Long Sleeve Tuck In Shirt",
                        "attributes": null,
                        "color_description": "Red",
                        "size_description": "Medium",
                        "qty_received": 0,
                        "status": "CLOSED",
                        "expected_date": null,
                        "item_code": "0249953",
                        "requires_lot_number": false,
                        "sku": {
                            "id": 3745,
                            "sku_code": "0249953",
                            "description": "Long Sleeve Tuck In Shirt",
                            "barcode": "718020133065",
                            "color_code": "100",
                            "color_description": "Red",
                            "size_code": "1000",
                            "size_description": "Medium",
                            "original_price": "16.03",
                            "current_price": "16.03",
                            "cost": "4.00",
                            "backorderable": false,
                            "clearance": false,
                            "attributes": null,
                            "status": "ACTIVE",
                            "inventory_threshold": 0,
                            "mia_attributes": {},
                            "uses_inventory": true,
                            "tenant": 3,
                            "item": 9
                        }
                    }
                ],
                "vendor_code": "01",
                "vendor": "A Manufacturing Co",
                "status": "OPEN"
            }
        ]
    }
    

    This endpoint retrieves purchase orders by full or partial purchase order numbers.

    HTTP Request

    GET https://<domain>.jazz-oms.com/api/v1/purchase-order

    Query Parameters

    Parameter Default Description
    status OPEN/CLOSED Return POs under the current status.
    created_since Date Gives all POs created since date.
    updated_since Date Gives all POs updated since date.
    search null If provided, the result will be limited those which fully or partially match the provided value.

    Import Purchase Order

    curl -X POST \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/purchase-order
     --data '{
      "po_number": "001",
      "order_date": "2018-07-01",
      "expected_date": "2018-07-01",
      "business_type_code": "web",
      "vendor_code": "VEND",
      "facility_code": "FBF01",
      "detail": [
        {
          "vendor_part_num": "TEST",
          "client_line_num": "1"
          "sku_code": "SKU_001",
          "qty_ordered": 100,
          "attributes": "",
          "expected_date": "2018-07-01"
        }
      ]
    }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/purchase-order'
    token = requests.post(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
      "po_number": "001",
      "order_date": "2018-07-01",
      "expected_date": "2018-07-01",
      "business_type_code": "web",
      "vendor_code": "VEND",
      "facility_code": "FBF01",
      "detail": [
        {
          "vendor_part_num": "TEST",
          "client_line_num": "1",
          "sku_code": "SKU_001",
          "qty_ordered": 100,
          "attributes": "",
          "expected_date": "2018-07-01"
        }
      ]
    })
    

    The purchase order import response JSON is structured like this:

    {
      "po_number": "001",
      "facility_code": "FBF01",
      "order_date": "2018-07-01",
      "expected_date": "2018-07-01",
      "attributes": null,
      "detail": [
        {
          "line_number": 1,
          "sku_code": "SKU_001",
          "qty_ordered": 100,
          "description": "SKU #1",
          "attributes": null,
          "color_description": "",
          "size_description": "",
          "qty_received": 0,
          "status": "OPEN",
          "expected_date": "2018-07-01",
          "item_code": "ITEM_001",
          "requires_lot_number": false,
          "sku": {
            "id": 2,
            "sku_code": "SKU_001",
            "description": "SKU #1",
            "barcode": "BAR_001",
            "color_code": "",
            "color_description": "",
            "size_code": "",
            "size_description": "",
            "original_price": "8.57",
            "current_price": "8.57",
            "cost": "8.64",
            "backorderable": false,
            "clearance": false,
            "attributes": null,
            "status": "ACTIVE",
            "inventory_threshold": 0,
            "mia_attributes": null,
            "uses_inventory": true,
            "tenant": 2,
            "item": 2
          }
        }
      ],
      "vendor_code": "VEND",
      "vendor": "Vendor",
      "status": "OPEN"
    }
    

    This endpoint imports purchase orders.

    HTTP Request

    POST https://<domain>.jazz-oms.com/api/v1/purchase-order

    Payload Keys

    Key Default Description
    vendor_code null A unique identifier for the vendor.
    po_number null A unique identifier for this purchase order.
    order_date null The date of the purchase order.
    expected_date null The date the purchase order is expected to arrive.
    business_type_code null Specify the Business Type inventory should be received into.
    facility_code null A unique identifier for the facility of this purchase order.
    detail null A JSON Array of purchase order details.

    Payload Objects

    Purchase Order Detail

    Key Default Description
    vendor_part_num null The vendor part number for this detail line.
    client_line_num null Line number for customer reference that is different than the PO line number.
    sku_code null The sku code of the ordered units.
    qty_ordered null The number of units ordered.
    attributes null JSON object describing any additional attributes for this order.
    expected_date null The expected date of delivery.

    Returns

    Make sure to supply complete and correct data and/or use different parameters.

    Return Material Authorizations

    curl -X POST \
      -H "Tenant: DEMO" \
      -H "Content-Type: application/json" \
      -H "Authorization: Token <token>" \
      https://<domain>.jazz-oms.com/api/v1/order/return-merchandise-authorization
      --data '{
        "order_number": "ORD1234",
        "integration": "Jazz RMA",
        "reference": "RMAREF123",
        "details": [{
          "sku_code": "SKU_CODE",
          "quantity": "1",
          "reason_code": "REASON_CODE",
          "tracking_number": "TRACKING123"
        }]
    }'
    

    The RMA import response JSON is structured like this:

    {
      "id": 621,
      "reference": "RMAREF1234",
      "order_number": "EHP14156",
      "status": "open",
      "details": [
        {
          "id": 395,
          "created_at": "2021-02-02T16:15:32.604025Z",
          "updated_at": null,
          "detail_id": 324874,
          "quantity": 1,
          "qty_returned": 0,
          "reason_code": "REASON_CODE",
          "reason_description": "Return",
          "attributes": { "sku": "SKU_CODE" },
          "vendor_code": null
        }
      ],
      "from_address": 190072,
      "attributes": {},
      "integration": "JazzRMA"
    }
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/order/return-merchandise-authorization'
    token = requests.post(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
     "order_number": "ORD1234",
     "integration": "JazzRMA",
     "reference": "RMAREF123",
     "details": [{
       "sku_code": "SKU_CODE",
       "quantity": "1",
       "reason_code": "REASON_CODE",
       "tracking_number": "TRACKING123"
     }]
    })
    

    This endpoint creates Return Material Authorizations. RMAs processed through this endpoint will be available in Jazz to return against.

    HTTP Request

    POST https://<domain>.jazz-oms.com/api/v1/order/return-merchandise-authorization

    Payload Keys

    Key Default Description
    order_number null The order number that the RMA is in reference to.
    integration null The integration that this RMA will use to return results.
    reference null The RMA number or reference number.

    Payload Objects

    Details

    Key Default Description
    sku_code null The sku_code of the SKU to Return.
    quantity 0 The quantity of that SKU to Return.
    reason_code null The return reason code to indicate why it was returned.
    tracking_number null The tracking number given to this RMA.

    Returns Processing

    curl -X POST \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/shipping/return
     --data '{
        "facility_code": "FBF01",
        "order_number": "TEST",
        "items": [{
            "barcode": "TEST",
            "quantity": 1,
            "reason_code": "TEST"
        }]
    }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/shipping/return'
    token = requests.post(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
        "facility_code": "FBF01",
        "order_number": "TEST",
        "items": [{
            "barcode": "TEST",
            "quantity": 1,
            "reason_code": "TEST"
        }]
    })
    

    This endpoint processes Returns. Returns processed through this endpoint will never add inventory to the warehouse indicated and will always process the return as 'scrap'.

    HTTP Request

    POST https://<domain>.jazz-oms.com/api/v1/shipping/return

    Payload Keys

    Key Default Description
    facility_code null The Facility Code for the facility that the return will be mailed to.
    order_number null The order number that the return is in reference to.
    items null A JSON Array of items to return.

    Payload Objects

    Items

    Key Default Description
    barcode null The Barcode of the SKU to Return.
    quantity 0 The quantity of that SKU to Return.
    reason_code null The return reason code to indicate why it was returned.

    SmartPost Returns Labels

    curl -X POST \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/shipping/return-label/get-label
     --data '{
      "full_name": "First Last",
      "company_name": "Example Corp",
      "phone_number": "999-999-9999",
      "address1": "123 Main St",
      "address2": "Suite 100",
      "city": "Dallas",
      "state_abbr": "TX",
      "zipcode": "75200",
      "country_code": "US",
      "country_full": "United States",
      "reference": "ABC 123",
      "label_image_type": "PNG"
    }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/shipping/return-label/get-label'
    token = requests.post(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
      "full_name": "First Last",
      "company_name": "Example Corp",
      "phone_number": "999-999-9999",
      "address1": "123 Main St",
      "address2": "Suite 100",
      "city": "Dallas",
      "state_abbr": "TX",
      "zipcode": "75200",
      "country_code": "US",
      "country_full": "United States",
      "reference": "ABC 123",
      "label_image_type": "PNG"
    })
    

    The return label response JSON is structured like this:

    {
      "tracking_number": "02393000043424375158",
      "label_image": <base64-encoded image data in the requested format>
    }
    

    If an error occurs, the response JSON will look something like this:

    {
      "errors": ["full_name value is required", "address1 value is required"]
    }
    

    This endpoint provides tracking numbers and FedEx SmartPost Returns labels for return shipments to the FBFlurry warehouse.

    HTTP Request

    POST https://<domain>.jazz-oms.com/api/v1/shipping/return-label/get-label

    Payload Keys

    FedEx requires complete address and contact information for the sender of the package; i.e., the customer sending the return.

    Key Default Description
    full_name null The first and last name of the sender.
    company_name null The company name of the sender -- this may be empty.
    phone_number null The phone number of the sender.
    address1 null The first address line for the sender.
    address2 null The second address line for the sender -- this may be empty.
    city null The city name for the sender.
    state_abbr null The 2-character state abbreviation for the sender.
    zipcode null The ZIP code for the sender.
    country_code null The 2-character country code for the sender.
    country_full null The full country name for the sender. If this is empty, Jazz will attempt to determine it from the country_code.
    reference null A reference string for the return shipment. This will appear on the return label.
    label_image_type null The format for the label image. Supported options are PNG and PDF; PNG is the default.

    Catalog

    Create Items

    curl -X POST \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/product/item
     --data '{
        "status": "ACTIVE",
        "item_code": "item_code",
        "description": "item_desc",
        "original_price": "5",
        "cost": "4",
        "inventory_minimum": null,
        "free_shipping": "0",
        "non_taxable": "0",
        "is_gift_card": "0",
        "send_shipping_confirmation": "0",
        "drop_ship": "0",
        "is_hazardous_material": "0",
        "vendor_code": null,
        "attributes": {
          "department_code": null,
          "class_code": null,
          "hts_code_1": "100.00.0000",
          "brand": null,
          "class_description": null,
          "unit_weight": 0,
          "dimension_1": 0,
          "lot_number_required": false,
          "country_of_origin": "US",
        }
    }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/product/item'
    token = requests.post(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
        "status": "ACTIVE",
        "item_code": "item_code",
        "description": "item_desc",
        "original_price": "5",
        "cost": "4",
        "inventory_minimum": null,
        "free_shipping": "0",
        "non_taxable": "0",
        "is_gift_card": "0",
        "send_shipping_confirmation": "0",
        "drop_ship": "0",
        "is_hazardous_material": "0",
        "vendor_code": null,
        "attributes": {
          "department_code": null,
          "class_code": null,
          "hts_code_1": "100.00.0000",
          "brand": null,
          "class_description": null,
          "unit_weight": 0,
          "dimension_1": 0,
          "lot_number_required": false,
          "country_of_origin": "US",
        }
    })
    

    This endpoint imports Items.

    HTTP Request

    POST https://<domain>.jazz-oms.com/api/v1/product/item

    Payload Keys

    Key Default Description
    Status null 'ACTIVE' or 'INACTIVE' to set the status of the item.
    item_code null The Item Code to be used for the item.
    description null The description of the item.
    original_price null The original Price of the item.
    cost null The Cost of the item.
    inventory_minimum null The minimum level of inventory to keep for this item.
    free_shipping 0 1 or 0 to set True / False.
    non_taxable 0 1 or 0 to set True / False.
    is_gift_card 0 1 or 0 to set True / False.
    send_shipping_confirmation 0 1 or 0 to set True / False.
    drop_ship 0 1 or 0 to set True / False.
    is_hazardous_material 0 1 or 0 to set True / False.
    vendor_code 0 The Vendor Code for this item.
    attributes null A JSON Array of attributes.

    Payload Objects

    Attributes

    Key Default Description
    hts_code_1 null Current location to indicate a Harmonized Code.
    brand null The Brand of the item.
    class_code null The Class Code for tax purposes.
    class_description null The description of the class.
    department_code null The department code of the item.
    unit_weight 0 The gross weight of 1 unit.
    dimension_1 0 The dimensions of 1 unit in inches.
    lot_number_required false true / false Boolean setting that sets whether the item uses Lot Numbers.
    country_of_origin null The Country Code of the Country of Origin.

    Create SKUs

    curl -X POST \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/product/sku
     --data '{
        "sku_code": "sku_code",
        "description": "sku_desc",
        "barcode": "barcode",
        "original_price": "5",
        "current_price": "4",
        "cost": "3",
        "color_code": "08",
        "color_description": "Red",
        "size_code": "05",
        "size_description": "Large",
        "backorderable": true,
        "inventory_threshold": null,
        "box_quantity": "1",
        "uses_inventory": true,
        "clearance": null,
        "status": "ACTIVE",
        "is_kit": null,
        "item_code": "item_code",
        "attributes": {
          "unit_weight": 0,
          "dimension_1": 0,
          "tax_code": "PC040100",
          "web_size": "12/14"
        }
    }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/product/sku'
    token = requests.post(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
        "sku_code": "sku_code",
        "description": "sku_desc",
        "barcode": "barcode",
        "original_price": "5",
        "current_price": "4",
        "cost": "3",
        "color_code": "08",
        "color_description": "Red",
        "size_code": "05",
        "size_description": "Large",
        "backorderable": true,
        "inventory_threshold": null,
        "box_quantity": "1",
        "uses_inventory": true,
        "clearance": null,
        "status": "ACTIVE",
        "is_kit": null,
        "item_code": "item_code",
        "attributes": {
          "unit_weight": 0,
          "dimension_1": 0,
          "tax_code": "PC040100",
          "web_size": "12/14"
        }
    })
    

    This endpoint imports SKUs. You must have the appropriate Item already in Jazz to import the SKU.

    HTTP Request

    POST https://<domain>.jazz-oms.com/api/v1/product/sku

    Payload Keys

    Key Default Description
    sku_code null The Sku Code to be used for the item.
    description null The description for the sku.
    barcode null The unique barcode for the sku.
    original_price 0 The original Price of the sku.
    current_price 0 The Current price of the sku.
    cost 0 The Cost of the sku.
    color_code null The color code for the sku.
    color_description null The color description for the sku.
    size_code null The size code for the sku.
    size_description null The size description for the sku.
    backorderable true true / false Boolean setting which sets whether the sku is backorderable or not.
    inventory_threshold 0 The minimum level of inventory to keep for the sku.
    box_quantity 1 The quantity per box for the sku.
    uses_inventory true true / false Boolean setting which sets whether the sku uses inventory or not.
    status null 'ACTIVE' or 'INACTIVE' to set the status of the sku.
    is_kit null Set to 'yes' if the sku is a KIT sku.
    item_code null The item code to tie the sku to. The item must already be set up in Jazz.
    attributes null A JSON Array of attributes.

    Payload Objects

    Attributes

    Key Default Description
    unit_weight 0 The gross weight of 1 unit.
    dimension_1 0 The dimensions of 1 unit in inches.
    tax_code null The individual tax code for the sku.
    web_size null Web facing size code for the sku.

    Update SKUs

    curl -X PATCH \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/product/sku/sku_code
     --data '{
        "sku_code": "sku_code",
        "description": "sku_desc",
        "barcode": "barcode",
        "original_price": "5",
        "current_price": "4",
        "cost": "3",
        "color_code": "08",
        "color_description": "Red",
        "size_code": "05",
        "size_description": "Large",
        "backorderable": true,
        "inventory_threshold": null,
        "box_quantity": "1",
        "uses_inventory": true,
        "clearance": null,
        "status": "ACTIVE",
        "is_kit": null,
        "item_code": "item_code",
        "attributes": {
          "unit_weight": 0,
          "dimension_1": 0,
          "tax_code": "PC040100",
          "web_size": "12/14"
        }
    }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/product/sku/sku_code'
    token = requests.patch(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
        "sku_code": "sku_code",
        "description": "sku_desc",
        "barcode": "barcode",
        "original_price": "5",
        "current_price": "4",
        "cost": "3",
        "color_code": "08",
        "color_description": "Red",
        "size_code": "05",
        "size_description": "Large",
        "backorderable": true,
        "inventory_threshold": null,
        "box_quantity": "1",
        "uses_inventory": true,
        "clearance": null,
        "status": "ACTIVE",
        "is_kit": null,
        "item_code": "item_code",
        "attributes": {
          "unit_weight": 0,
          "dimension_1": 0,
          "tax_code": "PC040100",
          "web_size": "12/14"
        }
    })
    

    This endpoint to update SKUs. The only required fields for this endpoint are sku_code and barcode.

    HTTP Request

    PATCH https://<domain>.jazz-oms.com/api/v1/product/sku/sku_code

    Payload Keys

    Key Default Description
    sku_code null The Sku Code to be used for the item.
    description null The description for the sku.
    barcode null The unique barcode for the sku.
    original_price 0 The original Price of the sku.
    current_price 0 The Current price of the sku.
    cost 0 The Cost of the sku.
    color_code null The color code for the sku.
    color_description null The color description for the sku.
    size_code null The size code for the sku.
    size_description null The size description for the sku.
    backorderable true true / false Boolean setting which sets whether the sku is backorderable or not.
    inventory_threshold 0 The minimum level of inventory to keep for the sku.
    box_quantity 1 The quantity per box for the sku.
    uses_inventory true true / false Boolean setting which sets whether the sku uses inventory or not.
    status null 'ACTIVE' or 'INACTIVE' to set the status of the sku.
    is_kit null Set to 'yes' if the sku is a KIT sku.
    item_code null The item code to tie the sku to. The item must already be set up in Jazz.
    attributes null A JSON Array of attributes.

    Payload Objects

    Attributes

    Key Default Description
    unit_weight 0 The gross weight of 1 unit.
    dimension_1 0 The dimensions of 1 unit in inches.
    tax_code null The individual tax code for the sku.
    web_size null Web facing size code for the sku.

    Get SKU Info

    Make sure to replace <sku_code> with your own value and/or use different parameters.

    curl -X GET \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/product/sku?sku_code=<sku_code>
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/product/sku'
    token = requests.get(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, params={
        'sku_code': '<sku_code>'
    })
    

    The sku list response JSON is structured like this:

    {
        "count": 1,
        "next": null,
        "previous": null,
        "results": [
            {
                "sku_code": "demo1",
                "is_kit": false,
                "description": "demo1",
                "barcode": "demo1",
                "attributes": null,
                "item_code": "CVMERCH9527",
                "barcodes": [
                    {
                        "id": 604053,
                        "sku": 546008,
                        "barcode": null,
                        "case_quantity": 100,
                        "type": "MASTER",
                        "dimension_1": null,
                        "dimension_2": null,
                        "dimension_3": null,
                        "tenant": 11,
                        "case_weight": null
                    },
                    {
                        "id": 604052,
                        "sku": 546008,
                        "barcode": null,
                        "case_quantity": 5,
                        "type": "INNER",
                        "dimension_1": null,
                        "dimension_2": null,
                        "dimension_3": null,
                        "tenant": 11,
                        "case_weight": null
                    },
                    {
                        "id": 604050,
                        "sku": 546008,
                        "barcode": "demo1",
                        "case_quantity": 1,
                        "type": "XREF",
                        "dimension_1": null,
                        "dimension_2": null,
                        "dimension_3": null,
                        "tenant": 11,
                        "case_weight": null
                    }
                ],
                "color_code": null,
                "color_description": null,
                "size_code": null,
                "size_description": null,
                "original_price": "1.00",
                "current_price": "1.00",
                "cost": "1.00",
                "backorderable": false,
                "clearance": false,
                "uses_inventory": true,
                "status": "ACTIVE",
                "inventory_threshold": 0,
                "mia_attributes": {},
                "lot_number_required": false,
                "serial_required": false,
                "created_at": "2019-11-12 11:49:25",
                "updated_at": "2019-11-12 11:49:25",
                "box_quantity": 1,
                "is_virtual": false
            }
        ]
    }
    

    This endpoint retrieves sku details with various filters.

    HTTP Request

    GET https://<domain>.jazz-oms.com/api/v1/product/sku

    Query Parameters

    Parameter Default Description
    limit 10 The number of results to return per page.
    sku_code null If provided, the result will be limited to a specific sku code.
    barcode null If provided, the result will be limited to a specific sku barcode.
    item__item_code null If provided, the result will be limited to a specific item code.
    color_code null If provided, the result will be limited to a specific color code.
    size_code null If set, the result will be limited to a specific size code.

    Paygate Calls

    Payment Authorization

    curl -X POST https://<domain>.jazz-oms.com/soap/ver15 \
    --data '<?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://jazz-oms.com/paygate">
      <SOAP-ENV:Body>
        <ns1:authorize>
          <encrypted_key>{{ API_KEY }}</encrypted_key>
          <mode>prod</mode>
          <ident>{{ USERNAME }}</ident>
          <name>
            <first>Christopher</first>
            <last>Walken</last>
            <phone>2140123456</phone>
            <email>[email protected]</email>
          </name>
          <address>
            <line1>10300 Sanden Dr</line1>
            <line2>Suite 200</line2>
            <city>Dallas</city>
            <province>TX</province>
            <postalcode>75238</postalcode>
            <country>US</country>
          </address>
          <card>
            <type>VS</type>
            <number>4111111111111111</number>
            <expiry_year>2021</expiry_year>
            <expiry_month>04</expiry_month>
            <cvv>123</cvv>
          </card>
          <amount>40.99</amount>
          <reference>TEST20200311195539</reference>
          <auxiliary/>
          <ship_info>
            <shipfirst>Christopher</shipfirst>
            <shiplast>Walken</shiplast>
            <shipphone>2140123456</shipphone>
            <shipemail>[email protected]</shipemail>
            <shipline1>10300 Sanden Dr</shipline1>
            <shipline2>Suite 100</shipline2>
            <shipcity>Dallas</shipcity>
            <shipprovince>TX</shipprovince>
            <shippostalcode>75238</shippostalcode>
            <shipcountry>US</shipcountry>
          </ship_info>
          <storecardexpdate/>
        </ns1:authorize>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>'
    

    The payment auth response XML is structured like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://jazz-oms.com/paygate">
      <SOAP-ENV:Body>
        <ns1:authorizeResponse>
          <authorizeReturn>
            <transaction_id>0000000000245179812</transaction_id>
            <remote_transaction_id>60139125246</remote_transaction_id>
            <response_code>200</response_code>
            <auth_code>RDE0R4</auth_code>
            <avs>Y</avs>
            <csc>P</csc>
            <amount>40.99</amount>
            <auxiliary/>
            <storage_transaction_id/>
          </authorizeReturn>
        </ns1:authorizeResponse>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

    Use this endpoint to retrieve payment auth tokens via Paygate for use in Jazz Central. All requests to this endpoint MUST come from white-listed IPs. Please contact us for details.

    API_KEY and USERNAME to be provided as needed.

    Available Domains

    Domain Description
    pg-qa01 Testing environment.
    pg Production environment.

    Order Cancels

    Get Order Cancel Transactions

    This endpoint provides cancel transaction records. Records can be filtered by SKU, Order Number, and Reason Code. A transaction ID can be provided to return only the given transaction.

    Get the first 10 cancels using curl

    curl -X GET \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/order/cancels?limit=10
    

    Get the first 10 cancels for SKU 12345 using Python

    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/order/cancels'
    token = requests.get(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, params={
        'limit': 10,
            'sku_code': '12345'
    })
    

    Example response:

    {
      "count": 1,
      "next": null,
      "previous": null,
      "results": [
          {
              "transaction_id": 1234567,
              "created_at": "2021-04-26T23:29:20.225975-06:00",
              "order_number": "123456789",
              "line_number": "1",
              "sku_code": "SKU12345",
              "barcode": "1234567890",
              "reason_code": "012",
              "quantity": 1
          }
      ]
    }
    

    HTTP Request

    GET https://<domain>.jazz-oms.com/api/v1/order/cancels

    Query Parameters

    Parameter Default Description
    limit 10 The number of results to return per page.
    since null If set to a valid ISO 8601 datestamp, the results will be limited to transactions occurring on or after the given date and time.
    order_number null If provided, the results will be limited to transactions for the given order.
    reason_code null If provided, the result will be limited to transactions for the given reason.
    sku_code null If provided, the results will be limited to transactions for the given SKU.

    Vendors

    Add Vendors

    curl -X POST \
     -H "Tenant: DEMO" \
     -H "Content-Type: application/json" \
     -H "Authorization: Token <token>" \
     https://<domain>.jazz-oms.com/api/v1/vendor
     --data '{
        "vendor_code": "ABC123",
        "name": "Vendor A",
        "address1": "10300 Sanden Dr",
        "address2": "Ste 100",
        "city": "Dallas",
        "state": "TX",
        "zipcode": "75244",
        "country": "US",
        "terms": "net30",
        "ship_code": "FEDEX"
    }'
    
    import requests
    
    url = 'https://<domain>.jazz-oms.com/api/v1/product/sku'
    token = requests.post(url, headers={
        'Tenant': 'DEMO',
        'Content-Type': 'application/json',
        'Authorization': 'Token <token>'
    }, json={
        "vendor_code": "ABC123",
        "name": "Vendor A",
        "address1": "10300 Sanden Dr",
        "address2": "Ste 100",
        "city": "Dallas",
        "state": "TX",
        "zipcode": "75244",
        "country": "US",
        "terms": "net30",
        "ship_code": "FEDEX"
    })
    

    This endpoint imports vendors.

    HTTP Request

    POST https://<domain>.jazz-oms.com/api/v1/vendor

    Payload Keys

    Key Default Description
    vendor_code null This is the code to use for the vendor.
    name null Name of the vendor
    address1 null Address line 1
    address2 null Address line 2
    city null Vendor city
    state null Vendor state
    zipcode null Vendor zipcode
    country null Vendor country
    terms null Vendor terms
    ship_code null Shipping method

    Errors

    Jazz Central API uses the following HTTP status codes to indicate problems:

    Error Code Meaning
    400 Bad Request -- Your request is invalid.
    401 Unauthorized -- You are not authorized.
    403 Forbidden -- You do not have permission to access the requested resource.
    404 Not Found -- The specified resource could not be found.
    405 Method Not Allowed -- You tried to access a resource with an invalid method.
    406 Not Acceptable -- You requested a format that isn't JSON.
    410 Gone -- You requested a deprecated feature.
    429 Too Many Requests -- You're making too many requests! Slow down!
    500 Internal Server Error -- We had a problem with our server. Try again later.
    503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.