Checkout Service

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

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

Checkouts

Retrieve the checkouts

Retrieve the checkouts. The caller must have the checkout.checkout_manage scope assigned.

Headers
  • authorization Required / string

    Bearer token

  • saas-token Required / string

    Token used to identify logged in users. This token has an expiery date and is signed with a passphrase.

Path parameters
  • tenant Required / string

    The tenant that the caller is acting upon.

    Please note that this value is always lowercase.

Query parameters
  • orderCreated boolean

    Filters the checkouts based on the result of order creation.

  • customerId string

    Filters the checkouts which created by a particular customer.

  • checkoutCompleted boolean

    Filters the checkouts based on the result of checkout process.

  • modifiedFrom string

    The date in ISO 8601 format to get the checkouts which are modified after the specified date.

  • modifiedTo string

    The date in ISO 8601 format to get the checkouts which are modified before the specified date.

  • pageNumber integer

    The page number to be retrieved where the size of the pages must be specified by the pageSize parameter.
    The number of the first page is 1.

    Minimum value is 1. Default value is 1.

  • pageSize integer

    The number of documents being retrieved on the page.

    Minimum value is 1. Default value is 16.

  • sort string

    The list of comma-separated properties used to sort the results.
    By default, the column values are sorted in ascending order.
    Can either be in the form of fieldName or fieldName:asc,fieldName:desc.
    If you want to sort by localized attributes, you must use the following form:
    fieldName.language or fieldName.language:asc,fieldName.language:desc.

Responses
  • 200

    Request was successful.

    • Link string

      Link to the current page, the next page and the previous page. Marked accordingly with rel self, rel next and rel prev. The syntax must be conform to RFC-5988.
      The link to the current page (self) is required and must be provided always.
      The link to the next page (next) is optional. If not present, the next page is not available, as the current page is the last page of the result.
      The link to the previous page (prev) is optional. If not present, the previous page is not available, as the current page is the first page of the result.

  • 400 object

    Request was 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

    Access forbidden. The caller is not allowed to access this resource.

    • 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 exception occurred which prevented it from correctly returning the result.

    • 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}/checkouts
$ curl \
 -X GET https://api.emporix.io/checkout/{tenant}/checkouts \
 -H "authorization: string" \
 -H "saas-token: string"
Response example (200)
# Headers
Link: string
Response example (400)
{
  "status": 400,
  "message": "There are validation problems, see details section for more information",
  "moreInfo": "",
  "type": "validation_violation",
  "details": [
    {
      "field": "pageNumber",
      "message": "must be a positive number",
      "type": "invalid_query_parameter"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Not allowed to access this resource",
  "moreInfo": "",
  "type": "insufficient_permissions"
}
Response example (500)
{
  "status": 42,
  "type": "string",
  "message": "string",
  "moreInfo": "https://example.com",
  "details": [
    {
      "field": "string",
      "type": "string",
      "message": "string",
      "moreInfo": "https://example.com"
    }
  ]
}

Delete all checkouts of the tenant

Delete all checkouts of the tenant. The caller must have the checkout.checkout_delete_all scope assigned.

Headers
  • authorization Required / string

    Bearer token

  • saas-token Required / string

    Token used to identify logged in users. This token has an expiery date and is signed with a passphrase.

Path parameters
  • tenant Required / string

    The tenant that the caller is acting upon.

    Please note that this value is always lowercase.

Query parameters
  • orderCreated boolean

    Filters the checkouts based on the result of order creation.

  • customerId string

    Filters the checkouts which created by a particular customer.

  • checkoutCompleted boolean

    Filters the checkouts based on the result of checkout process.

  • modifiedFrom string

    The date in ISO 8601 format to get the checkouts which are modified after the specified date.

  • modifiedTo string

    The date in ISO 8601 format to get the checkouts which are modified before the specified date.

  • pageNumber integer

    The page number to be retrieved where the size of the pages must be specified by the pageSize parameter.
    The number of the first page is 1.

    Minimum value is 1. Default value is 1.

  • pageSize integer

    The number of documents being retrieved on the page.

    Minimum value is 1. Default value is 16.

  • sort string

    The list of comma-separated properties used to sort the results.
    By default, the column values are sorted in ascending order.
    Can either be in the form of fieldName or fieldName:asc,fieldName:desc.
    If you want to sort by localized attributes, you must use the following form:
    fieldName.language or fieldName.language:asc,fieldName.language:desc.

Responses
  • 200

    Request was successful.

    • Link string

      Link to the current page, the next page and the previous page. Marked accordingly with rel self, rel next and rel prev. The syntax must be conform to RFC-5988.
      The link to the current page (self) is required and must be provided always.
      The link to the next page (next) is optional. If not present, the next page is not available, as the current page is the last page of the result.
      The link to the previous page (prev) is optional. If not present, the previous page is not available, as the current page is the first page of the result.

  • 204

    All the checkouts have been deleted successfully.

  • 400 object

    Request was 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

    Access forbidden. The caller is not allowed to access this resource.

    • 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

DELETE /{tenant}/checkouts
$ curl \
 -X DELETE https://api.emporix.io/checkout/{tenant}/checkouts \
 -H "authorization: string" \
 -H "saas-token: string"
Response example (200)
# Headers
Link: string
Response example (400)
{
  "status": 400,
  "message": "There are validation problems, see details section for more information",
  "moreInfo": "",
  "type": "validation_violation",
  "details": [
    {
      "field": "pageNumber",
      "message": "must be a positive number",
      "type": "invalid_query_parameter"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Not allowed to access this resource",
  "moreInfo": "",
  "type": "insufficient_permissions"
}

Validate the product inventory

Validate the product inventory, price match, and coupon match. Capture the payment and create an order.

Headers
  • authorization Required / string

    Bearer token

  • saas-token Required / string

    Token used to identify logged in users. This token has an expiery date and is signed with a passphrase.

Path parameters
  • tenant Required / string

    The tenant that the caller is acting upon.

    Please note that this value is always lowercase.

Responses
  • 200 string

    The request has succeeded. A unique order ID is returned.

  • 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

    Access forbidden. The caller is not allowed to access this resource.

    • 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

  • 415 object

    Unsupported Media Type due to Invalid Content Type.

    • 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 exception occurred which prevented it from correctly returning the result.

    • 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}/checkouts/order
$ curl \
 -X POST https://api.emporix.io/checkout/{tenant}/checkouts/order \
 -H "Content-Type: application/json" \
 -H "authorization: string" \
 -H "saas-token: string" \
 -d '{"$schema":"http://json-schema.org/draft-04/schema#","title":"error","description":"Schema for API specified errors.","type":"object","properties":{"status":{"type":"integer","description":"original HTTP error code, should be consistent with the response HTTP code","minimum":100,"maximum":599},"type":{"type":"string","description":"classification of the error type, lower case with underscore eg validation_failure","pattern":"[a-z]+[a-z_]*[a-z]+"},"message":{"type":"string","description":"des...}'
Request payload example
# Headers
authorization: string
saas-token: string
Response example (200)
{
  "orderId": "3635352442",
  "checkoutId": "4DEE123421"
}
Response example (400)
{
  "status": 400,
  "message": "There are validation problems, see details section for more information",
  "moreInfo": "",
  "type": "validation_violation",
  "details": [
    {
      "field": "client-owner",
      "message": "must be between 3 and 16 characters",
      "type": "invalid_header"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Not allowed to access this resource",
  "moreInfo": "",
  "type": "insufficient_permissions"
}
Response example (415)
{
  "status": 42,
  "type": "string",
  "message": "string",
  "moreInfo": "https://example.com",
  "details": [
    {
      "field": "string",
      "type": "string",
      "message": "string",
      "moreInfo": "https://example.com"
    }
  ]
}
Response example (500)
{
  "status": 42,
  "type": "string",
  "message": "string",
  "moreInfo": "https://example.com",
  "details": [
    {
      "field": "string",
      "type": "string",
      "message": "string",
      "moreInfo": "https://example.com"
    }
  ]
}

Retry

Retry a specific checkout to successfully create an order

Retry a specific checkout to successfully create an order. The caller must have the checkout.checkout_manage scope assigned.

Headers
  • authorization Required / string

    Bearer token

  • saas-token Required / string

    Token used to identify logged in users. This token has an expiery date and is signed with a passphrase.

Path parameters
  • tenant Required / string

    The tenant that the caller is acting upon.

    Please note that this value is always lowercase.

Responses
  • 200

    The request has succeeded. The order is submitted to the Order Service.

  • 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

    Access forbidden. The caller is not allowed to access this resource.

    • 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

  • 415 object

    Unsupported Media Type due to Invalid Content Type.

    • 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 exception occurred which prevented it from correctly returning the result.

    • 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}/checkouts/{id}/retry
$ curl \
 -X POST https://api.emporix.io/checkout/{tenant}/checkouts/{id}/retry \
 -H "authorization: string" \
 -H "saas-token: string"
Response example (200)
{
  "orderId": "3635352442"
}
Response example (400)
{
  "status": 400,
  "message": "There are validation problems, see details section for more information",
  "moreInfo": "",
  "type": "validation_violation",
  "details": [
    {
      "field": "client-owner",
      "message": "must be between 3 and 16 characters",
      "type": "invalid_header"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Not allowed to access this resource",
  "moreInfo": "",
  "type": "insufficient_permissions"
}
Response example (415)
{
  "status": 42,
  "type": "string",
  "message": "string",
  "moreInfo": "https://example.com",
  "details": [
    {
      "field": "string",
      "type": "string",
      "message": "string",
      "moreInfo": "https://example.com"
    }
  ]
}
Response example (500)
{
  "status": 42,
  "type": "string",
  "message": "string",
  "moreInfo": "https://example.com",
  "details": [
    {
      "field": "string",
      "type": "string",
      "message": "string",
      "moreInfo": "https://example.com"
    }
  ]
}

Root

Retrieve a specific checkout

Retrieve a specific checkout. The caller must have the checkout.checkout_manage scope assigned.

Headers
  • authorization Required / string

    Bearer token

  • saas-token Required / string

    Token used to identify logged in users. This token has an expiery date and is signed with a passphrase.

Path parameters
  • tenant Required / string

    The tenant that the caller is acting upon.

    Please note that this value is always lowercase.

Responses
  • 200 string

    The request has succeeded. Returns the checkout data.

  • 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

    Access forbidden. The caller is not allowed to access this resource.

    • 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 exception occurred which prevented it from correctly returning the result.

    • 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}/checkouts/{id}
$ curl \
 -X GET https://api.emporix.io/checkout/{tenant}/checkouts/{id} \
 -H "authorization: string" \
 -H "saas-token: string"
Response example (200)
{
  "id": "chk100234",
  "yrn": "urn:yaas:hybris:checkout:checkoutId:myShop;chk100234",
  "paymentMethods": [
    {
      "provider": "stripe",
      "paymentMethodYrn": "urn:yaas:hybris:payment:paymentMethodId:myshop;creditcard",
      "method": "creditcard",
      "amount": 10
    }
  ],
  "payment": {
    "paymentId": "stripe",
    "status": "success",
    "paidAmount": 115.0,
    "currency": "CAD",
    "transactionId": "ch_234902834",
    "paymentMethod": "VISA"
  },
  "order": {
    "orderId": "order12398234",
    "status": "success",
    "yrn": "urn:yaas:hybris:order:order:myShop;order12398234"
  },
  "coupons": [
    {
      "code": "WINTER_SALE",
      "status": "success"
    }
  ],
  "status": "created",
  "retryAttempts": 0,
  "addresses": [
    {
      "contactName": "Peter Priceless",
      "companyName": "Hybris",
      "street": "Maisonneuve",
      "streetNumber": "999",
      "streetAppendix": "west",
      "zipCode": "H3A 3L4",
      "city": "Montreal",
      "country": "CA",
      "state": "QC",
      "contactPhone": "1-976-334-3398",
      "type": "BILLING",
      "metadata": {
        "mixins": {
          "billingAddressMixin1": "https://res.cloudinary.com/saas-ag/raw/upload/schemata/CAAS/addressMixin.json"
        }
      },
      "mixins": {
        "billingAddressMixin1": {
          "message": "Custom Message"
        }
      }
    },
    {
      "contactName": "Peter Priceless",
      "companyName": "Hybris",
      "street": "Maisonneuve",
      "streetNumber": "999",
      "streetAppendix": "west",
      "zipCode": "H3A 3L4",
      "city": "Montreal",
      "country": "CA",
      "state": "QC",
      "contactPhone": "1-976-334-3398",
      "type": "SHIPPING",
      "metadata": {
        "mixins": {
          "secondaryContactPhone": "https://res.cloudinary.com/saas-ag/raw/upload/schemata/CAAS/contact-number.json"
        }
      },
      "mixins": {
        "secondaryContactPhone": {
          "number": "+86 334 0033 9934"
        }
      }
    }
  ],
  "customer": {
    "id": "123456",
    "yrn": "urn:yaas:hybris:customer:customerId:myShop;123456",
    "title": "Mr.",
    "name": "Peter Priceless",
    "firstName": "Peter",
    "middleName": "O.",
    "lastName": "Priceless",
    "email": "user@example.com",
    "company": "Hybris",
    "metadata": {
      "mixins": {
        "additionalCode": "https://res.cloudinary.com/saas-ag/raw/upload/schemata/CAAS/customerCode.json"
      }
    },
    "mixins": {
      "additionalCode": {
        "code": "DFG-334-98330-X"
      }
    }
  },
  "metadata": {
    "createdAt": "2015-01-28T15:49:25.293Z",
    "modifiedAt": "2015-01-28T15:49:25.293Z",
    "version": 1
  },
  "cart": {
    "id": "cart134598",
    "yrn": "urn:yaas:hybris:cart:cartId:myShop;cart134598",
    "siteCode": "usa",
    "currency": "USD",
    "subTotalPrice": 100.0,
    "deliveryWindowId": "5b5572a31cf31a000f31eee2",
    "shipping": {
      "methodId": "UPS",
      "amount": 10.0
    },
    "totalUnitsCount": 1.0,
    "totalTax": 15.0,
    "totalDiscount": 10.0,
    "totalPrice": 115.0,
    "taxDescription": "blabla",
    "metadata": {
      "mixins": {
        "cartComment": "https://res.cloudinary.com/saas-ag/raw/upload/schemata/CAAS/cartComment.json"
      }
    },
    "mixins": {
      "cartComment": {
        "comment": "Some cart comment."
      }
    },
    "cartItems": [
      {
        "id": "0",
        "yrn": "urn:yaas:hybris:cart:cartId-itemId:myShop;cart134598;0",
        "product": {
          "yrn": "urn:yaas:hybris:product:product:myShop;sku3",
          "description": "sku3",
          "id": "sku3",
          "sku": "sku3",
          "name": "sku3",
          "metadata": {
            "mixins": {
              "productComment": "https://res.cloudinary.com/saas-ag/raw/upload/schemata/CAAS/productComment.json"
            }
          },
          "mixins": {
            "productComment": {
              "comment": "Some product comment."
            }
          },
          "pictures": [
            {
              "id": "img0001",
              "url": "http://status.emporix.io"
            }
          ]
        },
        "itemPrice": 100.0,
        "quantity": 1.0,
        "taxCode": "A400",
        "itemTaxes": [
          {
            "rate": 15.0,
            "name": "tax override off 15%",
            "value": 15.0
          }
        ],
        "unitPrice": {
          "value": 100.0,
          "priceId": "558c3db209eeea511e089251",
          "yrn": "urn:yaas:hybris:price:priceId:myShop;558c3db209eeea511e089251",
          "itemYrn": "urn:yaas:hybris:product:product:myShop;sku1",
          "originalAmount": 100.0,
          "currency": "USD"
        }
      }
    ],
    "discounts": [
      {
        "id": "abc",
        "yrn": "urn:yaas:hybris:cart:cartId-discountId:myShop;cart134598;abc",
        "couponYrn": "urn:yaas:hybris:coupon:coupon:myShop;abc",
        "code": "THANKSGIVING10",
        "amount": 10.0,
        "currency": "CAD",
        "name": "Thanks giving coupon for all orders",
        "sequenceId": 1,
        "calculationType": "ApplyDiscountBeforeTax",
        "links": [
          {
            "title": "THANKSGIVING10",
            "rel": "validate",
            "type": "application/json",
            "href": "https://api.emporix.io/coupon/tenantname/coupons/THANKSGIVING10"
          },
          {
            "title": "THANKSGIVING10 redeem",
            "rel": "redeem",
            "type": "application/json",
            "href": "https://api.emporix.io/coupon/tenantname/coupons/THANKSGIVING10/redemptions"
          }
        ]
      }
    ],
    "taxAggregate": {
      "lines": [
        {
          "name": "tax override off 15%",
          "rate": 15.0,
          "amount": 15.0,
          "taxable": 100.0
        }
      ]
    }
  }
}
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 3 and 16",
      "type": "invalid_header"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Not allowed to access this resource",
  "moreInfo": "",
  "type": "insufficient_permissions"
}
Response example (500)
{
  "status": 42,
  "type": "string",
  "message": "string",
  "moreInfo": "https://example.com",
  "details": [
    {
      "field": "string",
      "type": "string",
      "message": "string",
      "moreInfo": "https://example.com"
    }
  ]
}

Delete a specific checkout for a given checkout ID

Delete a specific checkout for a given checkout ID. The caller must have the checkout.checkout_manage scope assigned.

Headers
  • authorization Required / string

    Bearer token

  • saas-token Required / string

    Token used to identify logged in users. This token has an expiery date and is signed with a passphrase.

Path parameters
  • tenant Required / string

    The tenant that the caller is acting upon.

    Please note that this value is always lowercase.

Responses
  • 204

    The specific checkout has been deleted successfully.

  • 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

    Access forbidden. The caller is not allowed to access this resource.

    • 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

DELETE /{tenant}/checkouts/{id}
$ curl \
 -X DELETE https://api.emporix.io/checkout/{tenant}/checkouts/{id} \
 -H "authorization: string" \
 -H "saas-token: string"
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 3 and 16",
      "type": "invalid_header"
    }
  ]
}
Response example (403)
{
  "status": 403,
  "message": "Not allowed to access this resource",
  "moreInfo": "",
  "type": "insufficient_permissions"
}