Shipping Service

This is the documentation for version v1 of the API. Last update on Jul 2, 2021.

Base URL
https://api.emporix.io/shipping

Deliverywindowvalidation

Check capacity is not fully

Check capacity is not fully

Headers
  • authorization Required / string

    Bearer token

Body
  • id string
  • deliveryDate Required / string(date-time)

    The delivery date.

  • deliveryTimeRange object

    The delivery time period within a day.

    • startTime string
    • endTime string
  • orderCycle string

    Order cycle of the delivery

  • zoneId string

    Id of the delivery zone

  • metadata object
    • id string
    • createdAt string
    • modifiedAt string
    • version integer

      Minimum value is 0.

Responses
  • 200

    Resource successfully validated.

  • 400 object

    DeliveryDate is not valid!.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 403 object

    Given authorization scopes are not sufficient and do not match required scopes.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 500 object

    Some server side error occurred.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

POST /deliveryWindowValidation
$ curl \
 -X POST https://api.emporix.io/shipping/deliveryWindowValidation \
 -H "Content-Type: application/merge-patch+json" \
 -H "authorization: string" \
 -d '{"deliveryWindowId":"25","deliveryDate":"2021-01-15T12:00:00.000Z"}'
Request payload example
# Headers
authorization: string

# Payload
{
  "deliveryWindowId": "25",
  "deliveryDate": "2021-01-15T12:00:00.000Z"
}
Response example (200)
[
  "true"
]
Response example (400)
{
  "status": 400,
  "message": "DeliveryDate: 2021-01-15T12:00:00.000Z is not in future\"",
  "moreInfo": "",
  "type": "validation_violation",
  "details": [
    {
      "field": "tenant",
      "message": "size must be between 1 and 36",
      "type": "invalid_header"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Given request does not have required scopes. It is not authorized to perform this operation.",
  "type": "insufficient_permissions"
}
Response example (500)
{
  "status": 500,
  "message": "Something went wrong while processing the request. Please contact the administrator.",
  "moreInfo": "",
  "type": "internal_service_error"
}

Findsite

This endpoint returns all the sites with zones where the postalCode matches the postalCode given in body

This endpoint returns all the sites with zones where the postalCode matches the postalCode given in body.

Path parameters
  • tenant Required / string
Query parameters
  • windowsLimit number

    Minimum value is 0.

Body
  • country string

    ISO2 or ISO3 formatted country code

  • postalCode string

    PostalCode containing numbers and/or letters.

Responses
  • 200 array[object]

    Resource successfully retrieved.

    • id string
    • zones array[object]
      • id string
      • name string
      • shipTo object
        • country string
        • postalCode string
      • methods array[object]
        • id string
        • name string
        • maxOrderValue number
        • amount number

          Minimum value is 0.

        • currency string
        • active boolean
        • fees array[object]
          • minOrderValue object
            • cost number

              Minimum value is 0.

            • amount number

              Minimum value is 0.

          • cost object
            • cost number

              Minimum value is 0.

            • amount number

              Minimum value is 0.

          • shippingGroupId string
        • shippingTaxCode string
      • actualDeliveryWindows array[object]
        • id string
        • deliveryDate Required / string(date-time)

          The delivery date.

        • deliveryTimeRange object

          The delivery time period within a day.

          • startTime string
          • endTime string
        • orderCycle string

          Order cycle of the delivery

        • zoneId string

          Id of the delivery zone

        • metadata object
          • id string
          • createdAt string
          • modifiedAt string
          • version integer

            Minimum value is 0.

    • metadata object
      • id string
      • createdAt string
      • modifiedAt string
      • version integer

        Minimum value is 0.

    • createdAt string(date-time)
    • modifiedAt string(date-time)
    • version number

      Minimum value is 0.

    • mixins object
  • 400 object

    Request syntactically incorrect. Any details will be provided within the response payload.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 403 object

    Given authorization scopes are not sufficient and do not match required scopes.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 404 object

    The requested resource does not exist.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 409 object

    Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 500 object

    Some server side error occurred.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

POST /{tenant}/findSite
$ curl \
 -X POST https://api.emporix.io/shipping/{tenant}/findSite \
 -H "Content-Type: application/json" \
 -d '{"postalCode":"70190","country":"DE"}'
Request payload example
{
  "postalCode": "70190",
  "country": "DE"
}
Response example (200)
[
  {
    "id": "main",
    "zones": [
      {
        "id": "deliveryarea",
        "name": {
          "en": "Delivery area Mordor"
        },
        "shipTo": [
          {
            "country": "DE",
            "postalCode": "70190"
          }
        ],
        "methods": [
          {
            "id": "1-2_hours_timeframe",
            "name": {
              "en": "1-2_hours_timeframe",
              "de": "1-2 Stunden Lieferzeitfenster"
            },
            "maxOrderValue": {
              "amount": 1000,
              "currency": "EUR"
            },
            "active": true,
            "fees": [
              {
                "minOrderValue": {
                  "amount": 0,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 40,
                  "currency": "EUR"
                }
              },
              {
                "minOrderValue": {
                  "amount": 0,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 0,
                  "currency": "EUR"
                },
                "shippingGroupId": "group1"
              },
              {
                "minOrderValue": {
                  "amount": 50,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 12,
                  "currency": "EUR"
                },
                "shippingGroupId": "group2"
              },
              {
                "minOrderValue": {
                  "amount": 80,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 13,
                  "currency": "EUR"
                },
                "shippingGroupId": "group3"
              }
            ],
            "shippingTaxCode": "HALF"
          },
          {
            "id": "3_hours_timeframe",
            "name": {
              "en": "3_hours_timeframe",
              "de": "3 Stunden Lieferzeitfenster"
            },
            "maxOrderValue": {
              "amount": 1000,
              "currency": "EUR"
            },
            "active": true,
            "fees": [
              {
                "minOrderValue": {
                  "amount": 0,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 30,
                  "currency": "EUR"
                }
              },
              {
                "minOrderValue": {
                  "amount": 30,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 31,
                  "currency": "EUR"
                },
                "shippingGroupId": "group1"
              },
              {
                "minOrderValue": {
                  "amount": 50,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 32,
                  "currency": "EUR"
                },
                "shippingGroupId": "group2"
              },
              {
                "minOrderValue": {
                  "amount": 80,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 33,
                  "currency": "EUR"
                },
                "shippingGroupId": "group3"
              }
            ],
            "shippingTaxCode": "HALF"
          },
          {
            "id": "4-more_hours_timeframe",
            "name": {
              "en": "4-more hours timeframe",
              "de": "4-mehr Stunden Lieferzeitfenster"
            },
            "maxOrderValue": {
              "amount": 2000,
              "currency": "EUR"
            },
            "active": true,
            "fees": [
              {
                "minOrderValue": {
                  "amount": 0,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 20,
                  "currency": "EUR"
                }
              },
              {
                "minOrderValue": {
                  "amount": 30,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 41,
                  "currency": "EUR"
                },
                "shippingGroupId": "group1"
              },
              {
                "minOrderValue": {
                  "amount": 50,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 42,
                  "currency": "EUR"
                },
                "shippingGroupId": "group2"
              },
              {
                "minOrderValue": {
                  "amount": 80,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 43,
                  "currency": "EUR"
                },
                "shippingGroupId": "group3"
              }
            ],
            "shippingTaxCode": "ZERO"
          },
          {
            "id": "pickup",
            "name": {
              "en": "pickup",
              "de": "pickup"
            },
            "maxOrderValue": {
              "amount": 1000,
              "currency": "EUR"
            },
            "active": true,
            "fees": [
              {
                "minOrderValue": {
                  "amount": 0,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 18,
                  "currency": "EUR"
                }
              },
              {
                "minOrderValue": {
                  "amount": 50,
                  "currency": "EUR"
                },
                "cost": {
                  "amount": 55,
                  "currency": "EUR"
                },
                "shippingGroupId": "group1"
              }
            ],
            "shippingTaxCode": "ZERO"
          }
        ],
        "actualDeliveryWindows": [
          {
            "id": "5b5572a71cf31a000f31eee6",
            "deliveryDate": "2020-12-08T12:00:00.000+00:00",
            "deliveryTimeRange": {
              "startTime": "15:00",
              "endTime": "22:00"
            },
            "zoneId": "deliveryarea"
          },
          {
            "id": "5b5572a71cf31a000f31eee6",
            "deliveryDate": "2020-12-15T12:00:00.000+00:00",
            "deliveryTimeRange": {
              "startTime": "15:00",
              "endTime": "22:00"
            },
            "zoneId": "deliveryarea"
          }
        ]
      }
    ],
    "metadata": {
      "createdAt": "2020-10-19T13:04:09.894Z",
      "modifiedAt": "2020-10-19T13:04:10.979Z",
      "version": 0,
      "mixins": {}
    }
  },
  {
    "id": "main2test",
    "zones": [
      {
        "id": "deliveryarea",
        "name": {
          "en": "Delivery area Mordor"
        },
        "shipTo": [
          {
            "country": "DE",
            "postalCode": "70190"
          }
        ],
        "methods": [],
        "actualDeliveryWindows": [
          {
            "id": "5b5572a71cf31a000f31eee6",
            "deliveryDate": "2020-12-08T12:00:00.000+00:00",
            "deliveryTimeRange": {
              "startTime": "15:00",
              "endTime": "22:00"
            },
            "zoneId": "deliveryarea"
          },
          {
            "id": "5b5572a71cf31a000f31eee6",
            "deliveryDate": "2020-12-15T12:00:00.000+00:00",
            "deliveryTimeRange": {
              "startTime": "15:00",
              "endTime": "22:00"
            },
            "zoneId": "deliveryarea"
          }
        ]
      }
    ],
    "metadata": {
      "createdAt": "2020-10-19T13:04:09.894Z",
      "modifiedAt": "2020-10-19T13:04:10.979Z",
      "version": 0,
      "mixins": {}
    }
  }
]
Response example (400)
{
  "status": 400,
  "message": "There are validation problems, see details section for more information",
  "moreInfo": "",
  "type": "validation_violation",
  "details": [
    {
      "field": "tenant",
      "message": "size must be between 2 and 16",
      "type": "invalid_header"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Given request does not have required scopes. It is not authorized to perform this operation.",
  "type": "insufficient_permissions"
}
Response example (404)
{
  "status": 404,
  "message": "The requested URI does not map to a single element resource.",
  "moreInfo": "",
  "type": "element_resource_non_existing"
}
Response example (409)
{
  "status": 409,
  "message": "The requested resource could not be updated due to server-side validation.",
  "moreInfo": "",
  "type": "conflict_resource"
}
Response example (500)
{
  "status": 500,
  "message": "Something went wrong while processing the request. Please contact the administrator.",
  "moreInfo": "",
  "type": "internal_service_error"
}

Root

Get actual delivery windows and optionally filter out those before cutOffTime

Get actual delivery windows and optionally filter out those before cutOffTime

Headers
  • authorization Required / string

    Bearer token

Path parameters
  • tenant Required / string

    The tenant that the caller is acting upon.

    Please note that this value is always lowercase.

  • deliveryAreaId Required / string

    Delivery area’s unique identifier.

  • cartId Required / string

    Customer cart’s unique identifier generated when a cart is created.

Query parameters
  • siteCode string

    Store’s site code.

  • afterCutOffTime boolean

    If set to true, only the delivery windows available after taking the store’s cutoff time into account are retrieved.

Responses
  • 200 array[object]

    Resource successfully retrieved.

    • id string
    • deliveryDate Required / string(date-time)

      The delivery date.

    • deliveryTimeRange object

      The delivery time period within a day.

      • startTime string
      • endTime string
    • orderCycle string

      Order cycle of the delivery

    • zoneId string

      Id of the delivery zone

    • metadata object
      • id string
      • createdAt string
      • modifiedAt string
      • version integer

        Minimum value is 0.

  • 400 object

    Request syntactically incorrect. Any details will be provided within the response payload.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 403 object

    Given authorization scopes are not sufficient and do not match required scopes.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 404 object

    The requested resource does not exist.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 409 object

    Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 500 object

    Some server side error occurred.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

GET /{tenant}/areaDeliveryTimes/{deliveryAreaId}/{cartId}
$ curl \
 -X GET https://api.emporix.io/shipping/{tenant}/areaDeliveryTimes/{deliveryAreaId}/{cartId} \
 -H "authorization: string"
Response example (200)
[
  {
    "id": "1234567890abcdef123abc0",
    "deliveryDate": "20150620",
    "deliveryTimeRange": {
      "startTime": "15:00",
      "endTime": "23:00"
    }
  },
  {
    "id": "1234567890abcdef123abc1",
    "deliveryDate": "20150624",
    "deliveryTimeRange": {
      "startTime": "12:00",
      "endTime": "16:00"
    }
  }
]
Response example (400)
{
  "status": 400,
  "message": "There are validation problems, see details section for more information",
  "moreInfo": "",
  "type": "validation_violation",
  "details": [
    {
      "field": "tenant",
      "message": "size must be between 2 and 16",
      "type": "invalid_header"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Given request does not have required scopes. It is not authorized to perform this operation.",
  "type": "insufficient_permissions"
}
Response example (404)
{
  "status": 404,
  "message": "The requested URI does not map to a single element resource.",
  "moreInfo": "",
  "type": "element_resource_non_existing"
}
Response example (409)
{
  "status": 409,
  "message": "The requested resource could not be updated due to server-side validation.",
  "moreInfo": "",
  "type": "conflict_resource"
}
Response example (500)
{
  "status": 500,
  "message": "Something went wrong while processing the request. Please contact the administrator.",
  "moreInfo": "",
  "type": "internal_service_error"
}

GET /{tenant}/actualDeliveryWindows/{cartId}

Path parameters
  • tenant Required / string
  • cartId Required / string
Query parameters
  • postalCode string
Responses
  • 200 array[object]

    Resource successfully retrieved.

    • id string
    • deliveryDate Required / string(date-time)

      The delivery date.

    • deliveryTimeRange object

      The delivery time period within a day.

      • startTime string
      • endTime string
    • orderCycle string

      Order cycle of the delivery

    • zoneId string

      Id of the delivery zone

    • metadata object
      • id string
      • createdAt string
      • modifiedAt string
      • version integer

        Minimum value is 0.

  • 400 object

    Request syntactically incorrect. Any details will be provided within the response payload.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 403 object

    Given authorization scopes are not sufficient and do not match required scopes.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 404 object

    The requested resource does not exist.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 409 object

    Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 500 object

    Some server side error occurred.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

GET /{tenant}/actualDeliveryWindows/{cartId}
$ curl \
 -X GET https://api.emporix.io/shipping/{tenant}/actualDeliveryWindows/{cartId}
Response example (200)
[
  {
    "id": "1234567890abcdef123abc0",
    "deliveryDate": "20150620",
    "deliveryTimeRange": {
      "startTime": "15:00",
      "endTime": "23:00"
    }
  },
  {
    "id": "1234567890abcdef123abc1",
    "deliveryDate": "20150624",
    "deliveryTimeRange": {
      "startTime": "12:00",
      "endTime": "16:00"
    }
  }
]
Response example (400)
{
  "status": 400,
  "message": "There are validation problems, see details section for more information",
  "moreInfo": "",
  "type": "validation_violation",
  "details": [
    {
      "field": "tenant",
      "message": "size must be between 2 and 16",
      "type": "invalid_header"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Given request does not have required scopes. It is not authorized to perform this operation.",
  "type": "insufficient_permissions"
}
Response example (404)
{
  "status": 404,
  "message": "The requested URI does not map to a single element resource.",
  "moreInfo": "",
  "type": "element_resource_non_existing"
}
Response example (409)
{
  "status": 409,
  "message": "The requested resource could not be updated due to server-side validation.",
  "moreInfo": "",
  "type": "conflict_resource"
}
Response example (500)
{
  "status": 500,
  "message": "Something went wrong while processing the request. Please contact the administrator.",
  "moreInfo": "",
  "type": "internal_service_error"
}

Zones

Create zone for given site

Create zone for given site. The caller must have the shipping.shipping_manage scope

Path parameters
  • tenant Required / string
  • site Required / string
Body
  • shipTo object
    • country string

      ISO2 or ISO3 formatted country code

    • postalCode string

      PostalCode containing numbers and/or letters. Can be incomplete and followed by single '*' to match all the postalCodes starting with the same numbers/letters.

  • name string
  • id string
Responses
  • 201 object

    Resource successfully retrieved.

    • id string

      id of the created resource

    • link string(uri)

      link to the created resource

  • 400 object

    Request syntactically incorrect. Any details will be provided within the response payload.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg shipTo[0].country, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 403 object

    Given authorization scopes are not sufficient and do not match required scopes.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 409 object

    Creation failed because there was a conflict with another resource. Any details will be provided within the response payload.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

  • 500 object

    Some server side error occurred.

    • status Required / integer

      original HTTP error code, should be consistent with the response HTTP code

      Minimum value is 100, maximum value is 599.

    • type Required / string

      classification of the error type, lower case with underscore eg validation_failure

    • message string

      descriptive error message for debugging

    • moreInfo string(uri)

      link to documentation to investigate further and finding support

    • details array[object]

      list of problems causing this error

      • field string

        a bean notation expression specifying the element in request data causing the error, eg product.variants[3].name, this can be empty if violation was not field specific

      • type Required / string

        classification of the error detail type, lower case with underscore eg missing_value, this value must be always interpreted in context of the general error type.

      • message string

        descriptive error detail message for debugging

      • moreInfo string(uri)

        link to documentation to investigate further and finding support for error detail

POST /{tenant}/{site}/zones
$ curl \
 -X POST https://api.emporix.io/shipping/{tenant}/{site}/zones \
 -H "Content-Type: application/json" \
 -d '{"shipTo":[{"country":"DE","postalCode":"70190"}],"name":"ZoneName","id":"ZoneId"}'
Request payload example
{
  "shipTo": [
    {
      "country": "DE",
      "postalCode": "70190"
    }
  ],
  "name": "ZoneName",
  "id": "ZoneId"
}
Response example (201)
{
  "id": "1",
  "link": "https://api.emporix.io/shipping/{tenant}/{site}/zones/1"
}
Response example (400)
{
  "status": 400,
  "message": "The request violates validation constraints.",
  "type": "validation_violation",
  "details": [
    {
      "field": "shipTo[0].country",
      "message": "shipTo[0].country Provided value is not a valid country code",
      "type": "invalid_field"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Given request does not have required scopes. It is not authorized to perform this operation.",
  "type": "insufficient_permissions"
}
Response example (409)
{
  "status": 409,
  "message": "A zone with id '1' already exists.",
  "type": "conflict_resource"
}
Response example (500)
{
  "status": 500,
  "message": "Something went wrong while processing the request. Please contact the administrator.",
  "moreInfo": "",
  "type": "internal_service_error"
}