Deliverect Orders API

Orders operations for the Deliverect Channel API.

OpenAPI Specification

deliverect-orders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Deliverect Channel Accounts Orders API
  description: Integrate ordering channels and marketplaces with Deliverect to create and cancel orders, sync menus, snooze products, update store and courier status, and exchange payment events. Authenticates with OAuth 2.0 machine-to-machine access tokens scoped via genericChannel.
  version: '1.0'
  x-generated-from: documentation
  x-source-url: https://developers.deliverect.com/reference
  x-last-validated: '2026-06-02'
  contact:
    name: Kin Lane
    email: kin@apievangelist.com
  license:
    name: All Rights Reserved
servers:
- url: https://api.deliverect.com
  description: Production
- url: https://api.staging.deliverect.com
  description: Staging
security:
- oauth2: []
tags:
- name: Orders
  description: Orders operations for the Deliverect Channel API.
paths:
  /{channelName}/order/{channelLinkId}:
    post:
      summary: Deliverect Create / Cancel Order
      description: Create a new order for a linked location.
      operationId: post_channelname_order_channellinkid
      parameters:
      - name: channelName
        in: path
        required: true
        schema:
          type: string
          default: '{channelName}'
        description: A unique scope provided to channel integrators to create orders in authorised locations
        example: '{channelName}'
      - name: channelLinkId
        in: path
        required: true
        schema:
          type: string
          default: '{channelLinkId}'
        description: The unique identifier of the channel in a specific location.
        example: '{channelLinkId}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                channelOrderId:
                  type: string
                  description: The full unique ID from the ordering channel.
                  example: 609a1b2c3d4e5f6a7b8c9d0e
                channelOrderDisplayId:
                  type: string
                  description: A humanly-readable order reference.
                  example: 609a1b2c3d4e5f6a7b8c9d0e
                validationId:
                  type: string
                  description: Validation ID returned from dispatch validation when used.
                  example: 609a1b2c3d4e5f6a7b8c9d0e
                orderType:
                  type: integer
                  description: Order type. Use 1 for pickup, 2 for delivery, 3 for eat-in, and 4 for curbside.
                  example: 1
                deliveryIsAsap:
                  type: boolean
                  example: true
                pickupTime:
                  type: string
                  example: '2026-03-15T14:30:00Z'
                deliveryTime:
                  type: string
                  example: '2026-03-15T14:30:00Z'
                placedTime:
                  type: string
                  example: '2026-03-15T14:30:00Z'
                courier:
                  type: string
                  description: Who delivers the order.
                  example: string
                ageCheck:
                  type: boolean
                  example: true
                deliveryAddress:
                  type: object
                  properties:
                    street:
                      type: string
                      example: string
                    streetNumber:
                      type: string
                      example: string
                    postalCode:
                      type: string
                      example: string
                    area:
                      type: string
                      example: string
                    city:
                      type: string
                      example: string
                    country:
                      type: string
                      example: BE
                    extraAddressInfo:
                      type: string
                      example: string
                    coordinates:
                      type: object
                      properties:
                        latitude:
                          type: number
                          format: float
                          example: 1.0
                        longitude:
                          type: number
                          format: float
                          example: 1.0
                    verification:
                      type: object
                      properties:
                        pincode:
                          type: string
                          example: string
                deliveryInfo:
                  type: object
                  properties:
                    packageSize:
                      type: string
                      example: string
                    transportType:
                      type: string
                      example: string
                decimalDigits:
                  type: integer
                  example: 1
                payment:
                  type: object
                  properties:
                    amount:
                      type: integer
                      example: 1250
                    type:
                      type: integer
                      example: 1
                    due:
                      type: integer
                      example: 1
                  required:
                  - amount
                  - type
                taxes:
                  type: array
                  items:
                    type: object
                    properties:
                      taxClassId:
                        type: integer
                        example: 1
                      name:
                        type: string
                        example: Deliverect's Pizza Place
                      total:
                        type: integer
                        example: 1250
                taxRemitted:
                  type: integer
                  example: 1
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      plu:
                        type: string
                        example: PIE1
                      name:
                        type: string
                        example: Deliverect's Pizza Place
                      price:
                        type: integer
                        example: 1250
                      quantity:
                        type: integer
                        example: 1
                      remark:
                        type: string
                        example: No salad
                      discountReferenceIds:
                        type: array
                        items:
                          type: integer
                          example: 1
                      subItems:
                        type: array
                        items:
                          type: object
                          properties:
                            plu:
                              type: string
                              example: PIE1
                            name:
                              type: string
                              example: Deliverect's Pizza Place
                            price:
                              type: integer
                              example: 1250
                            quantity:
                              type: integer
                              example: 1
                            remark:
                              type: string
                              example: No salad
                            subItems:
                              type: array
                              items:
                                type: object
                                properties:
                                  plu:
                                    type: string
                                    example: PIE1
                                  name:
                                    type: string
                                    example: Deliverect's Pizza Place
                                  price:
                                    type: integer
                                    example: 1250
                                  quantity:
                                    type: integer
                                    example: 1
                                  remark:
                                    type: string
                                    example: No salad
                                  subItems:
                                    type: array
                                    items:
                                      type: object
                includeCutlery:
                  type: boolean
                  example: true
                table:
                  type: string
                  example: string
                orderIsAlreadyPaid:
                  type: boolean
                  example: true
                note:
                  type: string
                  example: No salad
                numberOfCustomers:
                  type: integer
                  example: 1
                customer:
                  type: object
                  properties:
                    name:
                      type: string
                      example: Deliverect's Pizza Place
                    companyName:
                      type: string
                      example: Deliverect's Pizza Place
                    phoneNumber:
                      type: string
                      example: '+15555550123'
                    phoneAccessCode:
                      type: string
                      example: '+15555550123'
                    email:
                      type: string
                      example: customer@example.com
                    tin:
                      type: string
                      example: string
                    note:
                      type: string
                      example: No salad
                deliveryCost:
                  type: integer
                  example: 1250
                deliveryCostTax:
                  type: integer
                  example: 1250
                serviceCharge:
                  type: integer
                  example: 1
                serviceChargeTax:
                  type: integer
                  example: 1
                tip:
                  type: integer
                  example: 1250
                driverTip:
                  type: integer
                  example: 1250
                bagFee:
                  type: integer
                  example: 1250
                discountTotal:
                  type: integer
                  example: 1250
                discounts:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        example: string
                      provider:
                        type: string
                        example: string
                      name:
                        type: string
                        example: Deliverect's Pizza Place
                      channelDiscountCode:
                        type: string
                        example: string
                      referenceId:
                        type: integer
                        example: 1
                      value:
                        type: integer
                        example: 1
                      amount:
                        type: integer
                        example: 1250
              required:
              - channelOrderId
              - channelOrderDisplayId
              - orderType
              - courier
              - payment
            examples:
              Create Order (Tax exclusive):
                summary: Create Order (Tax exclusive)
                value:
                  channelOrderId: TEST****629
                  channelOrderDisplayId: T**629
                  validationId: 62********************3x
                  orderType: 1
                  deliveryIsAsap: true
                  pickupTime: YYYY-MM-DDTHH:mm:ss.SSSSSSZ
                  deliveryTime: YYYY-MM-DDTHH:mm:ss.SSSSSSZ
                  placedTime: YYYY-MM-DDTHH:mm:ss.SSSSSSZ
                  courier: restaurant
                  ageCheck: false
                  deliveryAddress:
                    street: Adelaide Street East
                    streetNumber: '207'
                    postalCode: M5A1N4
                    area: Distillery District
                    city: Toronto
                    country: Canada
                    extraAddressInfo: 1st floor
                    coordinates:
                      latitude: 43.65152
                      longitude: -79.37128
                    verification:
                      pincode: ''
                  deliveryInfo:
                    packageSize: small
                    transportType: bicycle
                  decimalDigits: 2
                  payment:
                    amount: 1800
                    type: 0
                    due: 0
                  taxes:
                  - taxClassId: 0
                    name: taxes
                    total: 77
                  taxRemitted: 77
                  items:
                  - plu: P-SATE
                    name: Chicken Sate
                    price: 450
                    quantity: 1
                    remark: well done
                    discountReferenceIds:
                    - 1
                    subItems:
                    - plu: RICE-01
                      name: White Rice
                      price: 450
                      quantity: 1
                      subItems:
                      - plu: SAUCE-01
                        name: Sate Sauce
                        price: 50
                        quantity: 2
                        subItems: []
                  includeCutlery: false
                  table: ''
                  orderIsAlreadyPaid: true
                  note: ''
                  numberOfCustomers: 1
                  customer:
                    name: Jane
                    companyName: Doe
                    phoneNumber: 0618776767
                    phoneAccessCode: '5040'
                    email: test@test.com
                    tin: '1234'
                    note: call once you arrive
                  deliveryCost: 300
                  deliveryCostTax: 0
                  serviceCharge: 400
                  serviceChargeTax: 0
                  tip: 200
                  driverTip: 0
                  bagFee: 0
                  discountTotal: -100
                  discounts:
                  - type: order_flat_off
                    provider: channel
                    name: Test discount
                    channelDiscountCode: test 1234
                    referenceId: 1
                    value: 100
                    amount: 100
              Create Order (Tax inclusive):
                summary: Create Order (Tax inclusive)
                value:
                  channelOrderId: TEST****628
                  channelOrderDisplayId: T**628
                  validationId: 62********************3w
                  orderType: 1
                  deliveryIsAsap: true
                  pickupTime: YYYY-MM-DDTHH:mm:ss.SSSSSSZ
                  deliveryTime: YYYY-MM-DDTHH:mm:ss.SSSSSSZ
                  placedTime: YYYY-MM-DDTHH:mm:ss.SSSSSSZ
                  courier: restaurant
                  ageCheck: false
                  deliveryAddress:
                    street: Folgate Street
                    streetNumber: '35'
                    postalCode: E1 6BX
                    area: Spitalfields
                    city: London
                    country: United Kingdom
                    extraAddressInfo: Ground Floor, near Spitalfields Market
                    coordinates:
                      latitude: 51.51942
                      longitude: -0.07771
                    verification:
                      pincode: '1234'
                  deliveryInfo:
                    packageSize: small
                    transportType: bicycle
                  decimalDigits: 2
                  payment:
                    amount: 1800
                    type: 0
                    due: 0
                  taxes: []
                  taxRemitted: 0
                  items:
                  - plu: P-SATE
                    name: Chicken Sate
                    price: 450
                    quantity: 1
                    remark: well done
                    discountReferenceIds:
                    - 1
                    subItems:
                    - plu: RICE-01
                      name: White Rice
                      price: 450
                      quantity: 1
                      subItems:
                      - plu: SAUCE-01
                        name: Sate Sauce
                        price: 50
                        quantity: 2
                        subItems: []
                  includeCutlery: false
                  table: ''
                  orderIsAlreadyPaid: true
                  note: ''
                  numberOfCustomers: 1
                  customer:
                    name: John
                    companyName: Doe
                    phoneNumber: 0618776767
                    phoneAccessCode: '2105'
                    email: test@test.com
                    tin: '1234'
                    note: call once you arrive
                  deliveryCost: 300
                  deliveryCostTax: 0
                  serviceCharge: 400
                  serviceChargeTax: 0
                  tip: 200
                  driverTip: 0
                  bagFee: 0
                  discountTotal: -100
                  discounts:
                  - type: order_flat_off
                    provider: channel
                    name: Test discount
                    channelDiscountCode: test 1234
                    referenceId: 1
                    value: 100
                    amount: 100
              Cancel Order:
                summary: Cancel Order
                value:
                  channelOrderId: '{{channelOrderId}}'
                  channelOrderDisplayId: '{{channelOrderDisplayId}}'
                  cancellationReason: CANCELLATION
                  status: 100
      responses:
        '200':
          description: Successful response
        '201':
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Created:
                  summary: Created
                  value: '{}'
          description: Created
        '400':
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Bad Request:
                  summary: Bad Request
                  value:
                    orderFieldsErrors:
                      channelOrderId: Missing from the payload.
                      channelOrderDisplayId: Missing from the payload.
                      items: Missing from the payload.
                      decimalDigits: Missing from the payload.
                    orderPaymentErrors:
                      amount: Missing from the payload.
                      type: Missing from the payload.
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Unauthorized:
                  summary: Unauthorized
                  value:
                    code: token_expired
                    description: token is expired
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Not Found:
                  summary: Not Found
                  value:
                    message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Internal Server Error:
                  summary: Internal Server Error
                  value:
                    error:
                      code: internal_server_error
                      message: Internal server error
          description: Internal Server Error
      tags:
      - Orders
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /channel/order_status:
    post:
      summary: Deliverect Order Status Update
      description: Deliverect Order Status Update
      operationId: channel_order_status
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Orders
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /channel/prep_time:
    post:
      summary: Deliverect Preparation Time Update
      description: '{{YourSetwebhookUrl}}'
      operationId: channel_prep_time
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                channelOrderId:
                  type: string
                  example: X7CESD
                orderId:
                  type: string
                  example: 5e****abc11dec0001****9b
                location:
                  type: string
                  example: 5e****abc11dec0001****0b
                status:
                  type: integer
                  example: 20
                pickupTime:
                  type: string
                  format: date-time
                  example: '2021-04-20T16:20:00Z'
            examples:
              channel_prep_time_request:
                summary: Default channel_prep_time request
                x-microcks-default: true
                value:
                  channelOrderId: X7CESD
                  orderId: 5e****abc11dec0001****9b
                  location: 5e****abc11dec0001****0b
                  status: 20
                  pickupTime: '2021-04-20T16:20:00Z'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      tags:
      - Orders
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /channel/amendments:
    post:
      summary: Deliverect Amendments
      description: When a store processes amendments for one or more items within an order, this webhook will deliver the amendment details
      operationId: channel_amendments
      deprecated: false
      tags:
      - Orders
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /{channelName}/updateRating:
    post:
      summary: Deliverect Order Rating Update
      description: Update rating for a previously placed order.
      operationId: post_channelname_updaterating
      parameters:
      - name: channelName
        in: path
        required: true
        schema:
          type: string
          default: my-channel
        description: The channelName value.
        example: my-channel
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                channelOrderId:
                  type: string
                  example: 609a1b2c3d4e5f6a7b8c9d0e
                orderDate:
                  type: string
                  format: date-time
                  example: '2026-03-15T14:30:00Z'
                channelLinkId:
                  type: string
                  example: 5e8abc11dec0001a009b
                rating:
                  type: array
                  items:
                    type: object
                    properties:
                      subject:
                        type: integer
                        example: 1
                      rating:
                        type: integer
                        example: 1
                      comment:
                        type: string
                        example: string
                      reason:
                        type: integer
                        example: 1
                    required:
                    - subject
                    - rating
              required:
              - channelOrderId
              - orderDate
              - channelLinkId
              - rating
            examples:
              Order Rating Update:
                summary: Order Rating Update
                value:
                  channelOrderId: CXTDBKMZ-1229
                  orderDate: '2021-04-13T11:53:34.453Z'
                  channelLinkId: 606d8489fcd8eddf13b121a6
                  rating:
                  - reason: 10000
                    rating: 5
                    comment: Food was amazing.
                    subject: 1
                  - rating: 5
                    subject: 2
      responses:
        '200':
          description: Successful response
      tags:
      - Orders
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /crm/{accountId}/customers/{crmProfileId}/orders:
    get:
      description: Deliverect Customer Order History
      responses:
        '200':
          description: ''
          content:
            application/json:
              examples:
                OK:
                  summary: OK
                  value:
                    total: 6
                    page: 1
                    size: 50
                    items:
                    - id: 68f******************f2f
                      crmProfileId: 68f******************24b
                      orderId: 68f******************c86
                      accountId: 68d******************bdd
                      channel: 20002
                      payment:
                        amount:
                          value: 100
                          currency: EUR
                          display: '1.00'
                      orderDisplayId: 20a2baad-2053-407c-b265-fa21c8a10758
                      orderDate: '2025-10-24T16:45:14.665000Z'
                      orderType: 2
                      itemQuantity: 1
                      locationId: 68d81e687e6400e6581fc5a9
                    - id: 68f******************f29
                      crmProfileId: 68f******************24b
                      orderId: 68f******************c76
                      accountId: 68d******************bdd
                      channel: 20002
                      payment:
                        amount:
                          value: 100
                          currency: EUR
                          display: '1.00'
                      orderDisplayId: 3dd773b1-2844-44f1-b33d-0ebc7c7fe2cf
                      orderDate: '2025-10-24T16:42:21.527000Z'
                      orderType: 2
                      itemQuantity: 1
                      locationId: 68d81e687e6400e6581fc5a9
                    - id: 68fbab62640ae0b44384af1e
                      crmProfileId: 68fb6af9a6e06e236a12824b
                      orderId: 68fbab62a8a2ab7006c48c56
                      accountId: 68d81ae5bbd981dd03137bdd
                      channel: 20002
                      payment:
                        amount:
                          value: 100
                          currency: EUR
                          display: '1.00'
                      orderDisplayId: cbb56e22-a7a4-4d99-b395-c5b01802b60b
                      orderDate: '2025-10-24T16:37:54.649000Z'
                      orderType: 2
                      itemQuantity: 1
                      locationId: 68d81e687e6400e6581fc5a9
                    - id: 68fba5ec640ae0b44384af18
                      crmProfileId: 68fb6af9a6e06e236a12824b
                      orderId: 68fba5e7a8a2ab7006c48c45
                      accountId: 68d81ae5bbd981dd03137bdd
                      channel: 20002
                      payment:
                        amount:
                          value: 100
                          currency: EUR
                          display: '1.00'
                      orderDisplayId: 29348ba1-7e64-42f5-bb9f-da09bf5eb788
                      orderDate: '2025-10-24T16:14:31.793000Z'
                      orderType: 2
                      itemQuantity: 1
                      locationId: 68d81e687e6400e6581fc5a9
                    - id: 68fba571640ae0b44384af12
                      crmProfileId: 68fb6af9a6e06e236a12824b
                      orderId: 68fba56da8a2ab7006c48c35
                      accountId: 68d81ae5bbd981dd03137bdd
                      channel: 20002
                      payment:
                        amount:
                          value: 100
                          currency: EUR
                          display: '1.00'
                      orderDisplayId: 698c81f7-02e6-4c61-a09a-a681827e69d3
                      orderDate: '2025-10-24T16:12:29.863000Z'
                      orderType: 2
                      itemQuantity: 1
                      locationId: 68d81e687e6400e6581fc5a9
                    - id: 68fba2d36b1fe97ada379842
                      crmProfileId: 68fb6af9a6e06e236a12824b
                      orderId: 68fba2cdb4275fb21083f66a
                      accountId: 68d81ae5bbd981dd03137bdd
                      channel: 20002
                      payment:
                        amount:
                          value: 100
                          currency: EUR
                          display: '1.00'
                      orderDisplayId: 389e94bd-67f3-4cd5-8973-8784992657cb
                      orderDate: '2025-10-24T16:01:16.088000Z'
                      orderType: 2
                      itemQuantity: 1
                      locationId: 68d81e687e6400e6581fc5a9
              schema:
                type: object
                properties:
                  total:
                    type: integer
                    example: 6
                    default: 0
                  page:
                    type: integer
                    example: 1
                    default: 0
                  size:
                    type: integer
                    example: 50
                    default: 0
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: 68f******************f2f
                        crmProfileId:
                          type: string
                          example: 68f******************24b
                        orderId:
                          type: string
                          example: 68f******************c86
                        accountId:
                          type: string
                          example: 68d******************bdd
                        channel:
                          type: integer
                          example: 20002
                          default: 0
                        payment:
       

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/deliverect/refs/heads/main/openapi/deliverect-orders-api-openapi.yml