Skip to content

Hype Custom Integration -- API Reference ​

Adapter key: hype-custom (HC) Postman docs: https://documenter.getpostman.com/view/52109283/2sBXc8oNnL


Table of Contents ​

  1. Overview
  2. Architecture
  3. Authentication
  4. Base URLs & Rate Limits
  5. Error Handling
  6. Task System
  7. Entity Reference
  8. Webhook Endpoints
  9. Integration Management
  10. Queue Management
  11. Integration & Pipeline Statuses
  12. Initial Sync Pipeline
  13. Ongoing Synchronization
  14. Quick Reference

1. Overview ​

Hype Custom is a bidirectional integration adapter within the Hype Exchange Service (HES) -- a cloud middleware that enables data synchronization between Hype POS systems (on-premise restaurant software) and third-party platforms.

The hype-custom adapter allows any external platform to:

  • Receive categories, supplements, saloons, tables, and menu items (articles) from the Hype POS
  • Send order requests (online orders) into the Hype POS
  • Synchronize delivery channels, payment types, and order statuses between platforms
  • Manage order lifecycle (create, update status, track delivery)

What is Hype? ​

Hype Software is a hospitality ERP system for bars, restaurants, and cafes. Your platform integrates with it through HES to receive catalog data, submit orders, and receive order status updates.

Key Concepts ​

ConceptDescription
HESHype Exchange Service -- the cloud middleware at es.hype-software.com that brokers all integration communication
AdapterA platform-specific plugin within HES. hype-custom is the adapter for generic third-party platforms
IntegrationA configured connection between a Hype POS account and an external platform account
TaskA unit of work created by HES for a platform to process (create/update/fetch an entity)
PipelineAn orchestrated sequence of sync steps during initial integration setup
Entity Value MappingInternal HES links between entity IDs across platforms (e.g., "Item #5 on Hype = Product #123 on your platform")
AccountEach side of an integration -- one Hype Server account and one external platform account

2. Architecture ​

How Hype Custom Fits Into HES ​

text
Your platform -> HES: fetch synchronization tasks (GET)
Your platform -> HES: submit task results (PUT)
Your platform -> HES: submit orders and changes (POST/PUT webhook)
HES -> Your platform: pending tasks, request responses, integration status

Communication Patterns ​

There are two communication patterns used by the hype-custom adapter:

1. Task Polling (HES -> Your Platform)

When Hype POS pushes data to HES (e.g., a new menu item), HES creates tasks for your platform. Your platform periodically polls for these tasks, processes them, and reports results.

HES makes catalog changes available as tasks for your platform
Your Platform  -->  GET /tasks/hype-custom/items  -->  HES returns pending tasks
Your Platform processes tasks (creates/updates records)
Your Platform  -->  PUT /tasks/hype-custom/items  -->  Reports results to HES

2. Webhook Push (Your Platform -> HES)

When your platform needs to send data to Hype (e.g., a new online order), it pushes directly to HES via webhook endpoints.

Your Platform  -->  POST /webhook/hype-custom/orderRequests  -->  HES
  HES accepts the request with 204 and handles delivery asynchronously
  Confirm the order appears in Hype; 204 alone does not confirm delivery

3. Authentication ​

All API requests require a Bearer Token in the Authorization header.

Authorization: Bearer <your_api_token>

Obtaining an API Token ​

An API token is provisioned when an integration is created between your platform and a Hype POS client. Contact the Hype support center to set up an integration. You will receive an api_token tied to your platform's account within HES.

Authentication Error ​

If the token is missing or invalid, the API returns:

HTTP/1.1 401 Unauthorized

Required Headers ​

All requests should include:

Content-Type: application/json
Accept: application/json
Authorization: Bearer <your_api_token>

4. Base URLs & Rate Limits ​

Environments ​

EnvironmentBase URL
Developmenthttps://es.dev.hype-software.com
Productionhttps://es.hype-software.com

All communication is HTTPS only. HTTP requests are redirected with 301 to their HTTPS equivalent.

Rate Limits ​

Limits apply per API token and depend on the endpoint group:

EndpointsLimit
/tasks/hype-custom/* and /webhook/hype-custom/*1000 requests per minute
/api/hype-custom/* (integrations and queue jobs)60 requests per minute

Exceeding a limit returns 429 Too Many Requests.

Response HeaderDescription
X-RateLimit-LimitMaximum requests allowed per minute
X-RateLimit-RemainingRequests remaining in the current window

These headers are sent on requests within the limit. A 429 response does not include Retry-After or X-RateLimit-Reset, so wait before retrying (the window is one minute), for example with exponential backoff.


5. Error Handling ​

Authentication, routing, rate-limit, and unexpected server errors return the HTTP status code with this JSON body:

json
{
  "error": 1,
  "message": "Error description text"
}
Status CodeMeaning
401Unauthorized -- missing or invalid Bearer token
404Unknown task entity in /tasks/hype-custom/{entity}, unknown entity_task_id, or unknown integration
429Too Many Requests -- rate limit exceeded
500Internal server error. Also returned for queue-job requests on an integration outside your account and for a task result without entity_task_id

HES does not validate request bodies synchronously, so these endpoints never return 422:

  • Webhooks (/webhook/hype-custom/{entity}) accept any JSON body with 204 No Content and process it asynchronously. A malformed payload fails later; check the integration's queue jobs for the error.
  • A webhook for an unsupported entity name does not return 404: POST returns 500, and the other methods return 200 with {"error": "Resource can't be found"}. Check the entity name in the URL whenever a webhook returns anything other than 204.
  • A task result without status is recorded as failed.

6. Task System ​

The task system is the core mechanism for synchronizing data from Hype POS to your platform. HES creates tasks that your platform must fetch, process, and report back on.

How It Works ​

  1. HES creates tasks when entities change on the Hype POS side (or during initial sync)
  2. Your platform polls for pending tasks via GET /tasks/hype-custom/{entity}
  3. Your platform processes each task (creates, updates, or fetches records in your system)
  4. Your platform reports results via PUT /tasks/hype-custom/{entity}

Task Object Structure ​

Every task returned by a GET request has this structure:

json
{
  "id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
  "request": { ... },
  "status": 0,
  "meta": {
    "source_account": {
      "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
      "name": "Local",
      "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
      "platform_name": "Hype Server",
      "platform_key": "hype-server"
    }
  },
  "type": "POST"
}
FieldTypeDescription
idUUID stringTask identifier -- needed when reporting the result back
requestobject/arrayThe entity data to process. For GET tasks it carries the integration settings stored for your account, or [] when there are none; you do not need to act on it.
statusintegerAlways 0 (new/unprocessed) when fetched
metaobjectsource_account describes the Hype Server account the change came from: id, name, platform_id, platform_name, platform_key
typestringThe operation to perform: GET = send all records of this type from your system, POST = create a new record, PUT = update an existing record

Task Type Semantics ​

TypeMeaningYour Action
GETHES needs all records of this entity type from your platformReturn all records in your response
POSTA new entity was created in Hype -- create it in your systemCreate the record, return it with your platform's ID
PUTAn existing entity was updated in Hype -- update it in your systemUpdate the record, return the updated version

HES does not currently send DELETE tasks. When a mapped record is deleted in Hype, you receive a PUT task for it with its fields reset to empty or zero values (for example "name": ""). Check for this case before applying a PUT, and delete the record instead if you mirror deletions.

Reporting Task Results ​

After processing tasks, report results with a PUT request. The body is an array of task results:

json
[
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "response": { ... },
    "status": 201
  }
]
FieldTypeDescription
entity_task_idUUID stringThe id from the original task
responseobject/arrayThe result of processing. Successful non-GET tasks should include id -- your platform's ID for the entity. Successful GET tasks should return an array of all records for that entity type.
statusintegerHTTP status code indicating result: 200 = updated, 201 = created, 4xx/5xx = error

A successful PUT returns 204 No Content.

For successful non-GET tasks, return your platform's id whenever your platform created or matched a real entity. HES uses that id to build entity mappings for later synchronization.

For successful GET tasks, return a JSON array in response. Each item should use the same schema as that entity and include your platform's stable id. HES uses these arrays during initial sync to collect your order statuses, delivery channels, and payment types for manual pairing in the Hype Server back-office UI after activation. Return an empty array only when your platform has no records for that entity.

Saloons/tables exception: If your integration does not model venue floor plans and does not need saloon/table mappings, you may acknowledge successful saloon or table tasks with an empty response object:

json
[
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "response": {},
    "status": 200
  }
]

This advances the integration but does not create a saloon/table ID mapping. If you use this option, do not include tableId when creating order requests for Hype Server because HES will not be able to translate that table reference.


7. Entity Reference ​

7.1 Items ​

Items represent menu articles (sellable items) in the Hype POS -- dishes, drinks, etc.

Schema ​

FieldTypeRequiredDescription
idstring/integerYes (on PUT/response)Your platform's unique identifier for this item
namestringYesItem name
categoryIdstring/integerYesCategory ID mapped to your platform's category entity
pricenumberYesItem price
preparationTimeintegerNoPreparation time in minutes. Tasks send 0 when Hype has no value.
barCodestringNoBarcode value
modifiersarrayNoList of modifier IDs (not used yet)
supplementsarrayNoAlways empty ([]) in PUT tasks and absent from POST tasks. Use the standalone supplements entity.
quantityintegerNoAlways 1. It is not stock or availability.
activebooleanYesWhether the item is active/visible

Note: Item tasks do not carry supplement data. Supplements, their mappings, and order-item supplement references come from the standalone supplements entity.

Endpoints ​

MethodURLDescription
GET/tasks/hype-custom/itemsFetch pending item tasks
PUT/tasks/hype-custom/itemsReport item task results

Example: Fetch Item Tasks ​

Request:

GET /tasks/hype-custom/items
Authorization: Bearer <token>
Content-Type: application/json
Accept: application/json

Response: 200 OK

json
[
  {
    "id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "request": {
      "name": "Маргарита 20",
      "categoryId": 31,
      "price": 4.33,
      "preparationTime": 20,
      "barCode": "812345679",
      "modifiers": [],
      "quantity": 1,
      "active": true
    },
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "POST"
  },
  {
    "id": "9a101f76-f1c8-47c2-a19f-439150bb58ab",
    "request": {
      "id": "87001",
      "name": "Coca Cola",
      "categoryId": 31,
      "price": 2.5,
      "preparationTime": 0,
      "barCode": "712345689",
      "modifiers": [],
      "supplements": [],
      "quantity": 1,
      "active": true
    },
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "PUT"
  }
]

Example: Report Item Task Results ​

Request:

PUT /tasks/hype-custom/items
Authorization: Bearer <token>
Content-Type: application/json
Accept: application/json

Body:

json
[
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "response": {
      "id": "87008",
      "name": "Маргарита 20",
      "categoryId": 31,
      "price": 4.33,
      "preparationTime": 20,
      "barCode": "812345679",
      "modifiers": [],
      "supplements": [],
      "quantity": 1,
      "active": true
    },
    "status": 201
  },
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-439150bb58ab",
    "response": {
      "id": "87001",
      "name": "Coca Cola",
      "categoryId": 31,
      "price": 2.5,
      "preparationTime": 0,
      "barCode": "712345689",
      "modifiers": [],
      "supplements": [],
      "quantity": 1,
      "active": true
    },
    "status": 200
  }
]

Response: 204 No Content


7.2 Categories ​

Categories group menu items. Hype uses a two-level hierarchy: main categories and menu categories.

Schema ​

FieldTypeRequiredDescription
idstring/integerYes (on PUT/response)Your platform's unique identifier
namestringYesCategory name
orderintegerYesSort order

Endpoints ​

MethodURLDescription
GET/tasks/hype-custom/categoriesFetch pending category tasks
PUT/tasks/hype-custom/categoriesReport category task results

Example: Fetch Category Tasks ​

Request:

GET /tasks/hype-custom/categories
Authorization: Bearer <token>

Response: 200 OK

json
[
  {
    "id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "request": {
      "name": "Сандвичи",
      "order": 1
    },
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "POST"
  },
  {
    "id": "9a101f76-f1c8-47c2-a19f-439150bb58ab",
    "request": {
      "name": "Пици",
      "order": 2
    },
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "POST"
  },
  {
    "id": "9a101f76-f1c8-47c2-a19f-489150bb62b1",
    "request": {
      "id": 234,
      "name": "Бира",
      "order": 3
    },
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "PUT"
  }
]

Example: Report Category Task Results ​

Request:

PUT /tasks/hype-custom/categories
Authorization: Bearer <token>

Body:

json
[
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "response": {
      "id": "3011",
      "name": "Сандвичи",
      "order": 1
    },
    "status": 201
  },
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-439150bb58ab",
    "response": {
      "id": "135",
      "name": "Пици",
      "order": 2
    },
    "status": 201
  }
]

Response: 204 No Content


7.3 Supplements ​

Each supplement record links an add-on to one item, with its price for that item. Supplements reach your platform through their own tasks; item tasks don't carry them. Order payloads reference them by id in orderDetails.items[].supplements[].

Supplement tasks appear during initial sync and whenever a supplement is added or changed in Hype.

Schema ​

FieldTypeRequiredDescription
idstring/integerYes (on PUT/response)Your platform's unique menu-scoped supplement identifier
articleIdstring/integerYesYour platform's item identifier for the related article
pricenumberYesSupplement sale price for this item
namestringNoSupplement name. Tasks always include it; it matches supplement.name.
supplementobjectYesNested supplement details

Nested: supplement ​

FieldTypeDescription
namestringSupplement name

Endpoints ​

MethodURLDescription
GET/tasks/hype-custom/supplementsFetch pending supplement tasks
PUT/tasks/hype-custom/supplementsReport supplement task results

Example: Fetch Supplement Tasks ​

Response: 200 OK

json
[
  {
    "id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "request": {
      "articleId": "item-101",
      "price": 2.5,
      "name": "Extra cheese",
      "supplement": {
        "name": "Extra cheese"
      }
    },
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "POST"
  }
]

Example: Report Supplement Task Results ​

Body:

json
[
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "response": {
      "id": "supplement-301",
      "articleId": "item-101",
      "price": 2.5,
      "supplement": {
        "name": "Extra cheese"
      }
    },
    "status": 201
  }
]

Response: 204 No Content


7.4 Saloons ​

Saloons represent venue rooms or zones in the Hype POS floor plan, such as Main Hall, Garden, or Bar Area.

Saloon tasks appear during initial sync and whenever a saloon is added or changed in Hype.

Schema ​

FieldTypeRequiredDescription
idstring/integerUsually (on PUT/response)Your platform's unique saloon identifier
namestringYesSaloon name
widthintegerYesFloor plan width
heightintegerYesFloor plan height
orderintegerYesSort order

Endpoints ​

MethodURLDescription
GET/tasks/hype-custom/saloonsFetch pending saloon tasks
PUT/tasks/hype-custom/saloonsReport saloon task results

Example: Fetch Saloon Tasks ​

Response: 200 OK

json
[
  {
    "id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "request": {
      "name": "Main Hall",
      "width": 2400,
      "height": 1400,
      "order": 1
    },
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "POST"
  }
]

Example: Report Saloon Task Results ​

Body:

json
[
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "response": {
      "id": "saloon-11",
      "name": "Main Hall",
      "width": 2400,
      "height": 1400,
      "order": 1
    },
    "status": 201
  }
]

Response: 204 No Content

If your platform does not store saloons, you can acknowledge a successful saloon task with status: 200 and response: {}. This lets the initial sync continue without creating a saloon mapping.


7.5 Tables ​

Tables represent non-virtual physical tables in the venue layout. They depend on saloons, so saloon mappings must exist before table tasks can be fully processed.

Table tasks appear during initial sync and whenever a table is added or changed in Hype.

Schema ​

FieldTypeRequiredDescription
idstring/integerUsually (on PUT/response)Your platform's unique table identifier
namestringYesTable name
saloonIdstring/integerYesYour platform's saloon ID, already translated by HES, or 0 if you acknowledged the saloon with {}
xintegerYesX coordinate in the saloon layout
yintegerYesY coordinate in the saloon layout
widthintegerYesTable width in the layout
heightintegerYesTable height in the layout

Notes:

  • Only non-virtual tables are synchronized.
  • Table payloads include position and dimensions, but do not include styling or settings data.
  • If your platform does not store tables, you can acknowledge successful table tasks with status: 200 and response: {}. This advances initial sync without creating table mappings; in that case, do not send tableId in order request webhooks.

Endpoints ​

MethodURLDescription
GET/tasks/hype-custom/tablesFetch pending table tasks
PUT/tasks/hype-custom/tablesReport table task results

Example: Fetch Table Tasks ​

Response: 200 OK

json
[
  {
    "id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "request": {
      "name": "T12",
      "saloonId": "saloon-11",
      "x": 320,
      "y": 180,
      "width": 96,
      "height": 96
    },
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "POST"
  }
]

Example: Report Table Task Results ​

Body:

json
[
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "response": {
      "id": "table-88",
      "name": "T12",
      "saloonId": "saloon-11",
      "x": 320,
      "y": 180,
      "width": 96,
      "height": 96
    },
    "status": 201
  }
]

Response: 204 No Content


7.6 Order Requests ​

Order requests represent incoming orders from your platform to the Hype POS. This is the most complex entity, containing nested objects for payment, delivery, client details, and order items.

Schema ​

FieldTypeRequiredDescription
idstring/integerYesYour platform's unique order ID
tableIdstring/integerNoYour platform's table identifier. If provided, it must already be mapped through the standalone tables sync.
discountnumberNoTotal discount amount
tipnumberNoGross tip amount. Sent to Hype Server as an order-level surcharge. Missing tip is treated as 0.
paymentTypesarrayYesPayment methods used (see below)
orderCommentstringNoGeneral comment for the order
deliveryChannelobjectYesDelivery method details (see below). Its id must be mapped during setup. Without deliveryChannel, HES still returns 204 but cannot deliver the order to Hype.
statusobjectYesCurrent order status (see below)
clientDetailsobjectNoCustomer information (see below)
orderDetailsobjectYesOrder line items (see below)
totalnumberYesTotal order amount (after discounts, including delivery and tip)
subTotalnumberYesSubtotal before discounts/delivery

Nested: paymentTypes[] ​

FieldTypeDescription
idstring/integerPayment type ID (mapped via initial sync)
namestringPayment type name
amountnumberAmount paid with this method
statusstringPayment status. Use "completed" when the amount is already collected and "pending" when the method is selected but unpaid. Any other value is treated as unpaid by Hype Server.

Hype Server applies paymentTypes[].status when the order is attached to a table account (accepted). Until then, while the order is still new, an update webhook replaces paymentTypes, so payment changes sent before acceptance take effect. Payment-status changes sent after the order is attached are ignored.

Nested: deliveryChannel ​

FieldTypeDescription
idstring/integerDelivery channel ID (mapped via initial sync)
namestringChannel name
deliveryPricenumberDelivery fee

Nested: status ​

FieldTypeDescription
idstring/integerStatus ID (mapped via initial sync)
namestringStatus name (e.g., "New", "Accepted")

Nested: clientDetails ​

FieldTypeDescription
firstNamestringCustomer first name
lastNamestringCustomer last name
phonestringPhone number
citystringCity
postCodestringPostal code
addressstringStreet address
formattedstringFull formatted address string

Nested: orderDetails ​

FieldTypeDescription
itemsarrayArray of order line items (see below)

Note: Use orderDetails.items for both create and update requests.

Nested: orderDetails.items[] ​

FieldTypeDescription
idstring/integerItem/article ID (mapped via initial sync from items entity)
namestringItem name
modifierIdsarrayArray of modifier IDs (not supported yet)
supplementsarrayOptional supplement objects with required id, optional per-unit price, and optional quantity (defaults to 1). Supplement IDs are mapped through the menu-scoped supplements sync.
commentstringItem-specific comment
quantityintegerQuantity ordered
orderPricenumberPrice per unit at time of order

Nested: orderDetails.items[].supplements[] ​

FieldTypeDescription
idstring/integerYour platform's supplement identifier
pricenumberOptional per-unit supplement price for a single supplement unit on this order item
quantityintegerOptional supplement quantity for this order item. Defaults to 1 when omitted.

Note: supplements[].price is a unit price, not a line total. If you need the total supplement amount for the order item, calculate price * quantity.

Endpoints ​

Task endpoints (for receiving order request updates from Hype):

MethodURLDescription
GET/tasks/hype-custom/orderRequestsFetch pending order request tasks
PUT/tasks/hype-custom/orderRequestsReport order request task results

Webhook endpoints (for sending orders to Hype):

MethodURLDescription
POST/webhook/hype-custom/orderRequestsCreate a new order request
PUT/webhook/hype-custom/orderRequestsUpdate an existing order request

Example: Create Order Request (Webhook) ​

Request:

POST /webhook/hype-custom/orderRequests
Authorization: Bearer <token>
Content-Type: application/json

Body:

json
{
  "id": 1,
  "tableId": 42,
  "discount": 3.45,
  "tip": 2.5,
  "paymentTypes": [
    {
      "id": 1,
      "name": "Stripe",
      "amount": 12.75,
      "status": "completed"
    }
  ],
  "orderComment": "Коментар към поръчката",
  "deliveryChannel": {
    "id": 1,
    "name": "За плажа",
    "deliveryPrice": 2.5
  },
  "status": {
    "id": 1,
    "name": "Нова"
  },
  "clientDetails": {
    "firstName": "Иван",
    "lastName": "Иванов",
    "phone": "+12345",
    "city": "Бургас",
    "postCode": "8000",
    "address": "кв. Възраждане, 111",
    "formatted": "Бургас, 8000, кв. Възраждане, 111"
  },
  "orderDetails": {
    "items": [
      {
        "id": 255653,
        "name": "Маргарита 20",
        "modifierIds": [],
        "supplements": [
          {
            "id": 3,
            "price": 2.0,
            "quantity": 1
          }
        ],
        "comment": "Да няма нищо зелено, като рукола зелени маслини или чушки",
        "quantity": 2,
        "orderPrice": 4.33
      }
    ]
  },
  "total": 12.75,
  "subTotal": 8.67
}

Response: 204 No Content

Example: Update Order Request (Webhook) ​

Use this to replace the current snapshot of a pending order request. Send the same payload shape as create when the order is still new and not yet attached/accepted in Hype.

Request:

PUT /webhook/hype-custom/orderRequests
Authorization: Bearer <token>
Content-Type: application/json

Body:

json
{
  "id": 1,
  "tableId": 42,
  "discount": 3.45,
  "tip": 2.5,
  "paymentTypes": [
    {
      "id": 1,
      "name": "Stripe",
      "amount": 12.75,
      "status": "completed"
    }
  ],
  "orderComment": "Коментар към поръчката",
  "deliveryChannel": {
    "id": 1,
    "name": "За плажа",
    "deliveryPrice": 2.5
  },
  "status": {
    "id": 2,
    "name": "Приета"
  },
  "clientDetails": {
    "firstName": "Иван",
    "lastName": "Иванов",
    "phone": "+12345",
    "city": "Бургас",
    "postCode": "8000",
    "address": "кв. Възраждане, 118",
    "formatted": "Бургас, 8000, кв. Възраждане, 118"
  },
  "orderDetails": {
    "items": [
      {
        "id": 255653,
        "name": "Маргарита 20",
        "modifierIds": [],
        "supplements": [
          {
            "id": 3,
            "price": 2.0,
            "quantity": 1
          }
        ],
        "comment": "Да няма нищо зелено, като рукола, зелени маслини или чушки",
        "quantity": 2,
        "orderPrice": 4.33
      }
    ]
  },
  "total": 12.75,
  "subTotal": 8.67
}

Response: 204 No Content

Notes:

  • PUT /webhook/hype-custom/orderRequests accepts the same fields as the create webhook (tableId, paymentTypes, deliveryChannel, clientDetails, orderDetails.items, tip, totals, and status).
  • In the current Hype Server flow, those full-field updates are applied while the order request is still new and not attached to a table account.
  • After the order is attached/accepted in Hype, PUT processing becomes status-driven. In practice, status is the field you should rely on for later updates.

Example: Fetch Order Request Tasks (from Hype) ​

When the Hype POS updates an order status (e.g., changes it to "Accepted"), HES creates a PUT task for your platform.

Request:

GET /tasks/hype-custom/orderRequests
Authorization: Bearer <token>

Response: 200 OK

json
[
  {
    "id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "request": {
      "id": 1,
      "status": {
        "id": 2,
        "name": "Приета"
      }
    },
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "PUT"
  }
]

Notes:

  • Hype refreshes the mapped order status. Other fields may be retained from earlier stored order data; they are not a fresh order snapshot. The example shows only the id and status your handler needs.
  • Use the outer status field in the report payload for your processing result (for example 200 on success).

Example: Report Order Request Task Results ​

Request:

PUT /tasks/hype-custom/orderRequests
Authorization: Bearer <token>

Body:

json
[
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "response": {
      "id": 1,
      "status": {
        "id": 2,
        "name": "Приета"
      }
    },
    "status": 200
  }
]

Response: 204 No Content


7.7 Order Delivery Channels ​

Delivery channels represent how orders are fulfilled (e.g., "Dine-in", "Takeaway", "Beach delivery"). These are synchronized during initial setup only so HES can map delivery method IDs between platforms.

⚠️ Those are not automatically mapped. Once the integration is active, manual mapping for delivery channels, payment types, and order status must be done in the POS platform.

Schema ​

FieldTypeRequiredDescription
idstring/integerYesYour platform's delivery channel ID
namestringYesChannel name
deliveryPricenumberNoDefault delivery fee

Endpoints ​

Task endpoints:

MethodURLDescription
GET/tasks/hype-custom/orderDeliveryChannelsFetch pending delivery channel tasks
PUT/tasks/hype-custom/orderDeliveryChannelsReport delivery channel task results

Webhook endpoints:

MethodURLDescription
POST/webhook/hype-custom/orderDeliveryChannelsCreate a delivery channel
PUT/webhook/hype-custom/orderDeliveryChannelsUpdate a delivery channel

Example: Fetch Delivery Channel Tasks ​

Response: 200 OK

json
[
  {
    "id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "request": [],
    "status": 0,
    "meta": {
      "source_account": {
        "id": "a0fa1fe5-feda-4753-9f23-691343e3828c",
        "name": "Local",
        "platform_id": "4d410b0e-ee37-497e-8362-478a383d68ee",
        "platform_name": "Hype Server",
        "platform_key": "hype-server"
      }
    },
    "type": "GET"
  }
]

A GET type task means HES is requesting all delivery channels from your platform.

Example: Report Delivery Channel Task Results ​

Body:

json
[
  {
    "entity_task_id": "9a101f76-f1c8-47c2-a19f-259150bb62e0",
    "response": [
      {
        "id": 1,
        "name": "Takeaway"
      },
      {
        "id": 2,
        "name": "Delivery"
      }
    ],
    "status": 200
  }
]

Response: 204 No Content

Example: Create Delivery Channel (Webhook) ​

Request:

POST /webhook/hype-custom/orderDeliveryChannels
Authorization: Bearer <token>
Content-Type: application/json

Body:

json
{
  "id": 1,
  "name": "За плажа",
  "deliveryPrice": 2.5
}

Response: 204 No Content

Example: Update Delivery Channel (Webhook) ​

Body:

json
{
  "id": 1,
  "name": "За плажа",
  "deliveryPrice": 2.2
}

Response: 204 No Content


7.8 Order Payment Types ​

Payment types represent how customers pay (e.g., "Stripe", "Cash", "PayPal"). Synchronized during initial setup only for ID mapping.

Schema ​

FieldTypeRequiredDescription
idstring/integerYesYour platform's payment type ID
namestringYesPayment type name

Endpoints ​

Task endpoints:

MethodURLDescription
GET/tasks/hype-custom/orderPaymentTypesFetch pending payment type tasks
PUT/tasks/hype-custom/orderPaymentTypesReport payment type task results

Webhook endpoints:

MethodURLDescription
POST/webhook/hype-custom/orderPaymentTypesCreate a payment type
PUT/webhook/hype-custom/orderPaymentTypesUpdate a payment type

Example: Create Payment Type (Webhook) ​

Body:

json
{
  "id": 1,
  "name": "Stripe"
}

Response: 204 No Content

Example: Update Payment Type (Webhook) ​

Body:

json
{
  "id": 1,
  "name": "Stripe 2"
}

Response: 204 No Content


7.9 Order Request Status ​

Order statuses define the lifecycle of an order (e.g., "New", "Accepted", "Preparing", "Delivered"). Synchronized during initial setup only for ID mapping.

Schema ​

FieldTypeRequiredDescription
idstring/integerYesYour platform's status ID
namestringYesStatus name

Endpoints ​

Task endpoints:

MethodURLDescription
GET/tasks/hype-custom/orderRequestStatusFetch pending status type tasks
PUT/tasks/hype-custom/orderRequestStatusReport status type task results

Webhook endpoints:

MethodURLDescription
POST/webhook/hype-custom/orderRequestStatusCreate a status type
PUT/webhook/hype-custom/orderRequestStatusUpdate a status type

Example: Create Order Request Status (Webhook) ​

Body:

json
{
  "id": 1,
  "name": "Нова"
}

Response: 204 No Content

Example: Update Order Request Status (Webhook) ​

Body:

json
{
  "id": 1,
  "name": "Изчакваща"
}

Response: 204 No Content


8. Webhook Endpoints ​

All webhook endpoints use the same URL pattern with the entity name as a path parameter:

POST /webhook/hype-custom/:entity    -- Create an entity
PUT  /webhook/hype-custom/:entity    -- Update an entity
:entity ValueEntity Type
orderRequestsOrder Requests
orderDeliveryChannelsDelivery Channels
orderPaymentTypesPayment Types
orderRequestStatusOrder Request Statuses

Notes:

  • All webhook endpoints return 204 No Content on success
  • Items, Categories, Supplements, Saloons, and Tables flow from Hype to your platform via the task system. Do not send them through hype-custom webhooks: the webhook endpoint accepts items, categories, and supplements payloads with 204, but HES does not forward them to Hype
  • Order Requests flow bidirectionally: your platform pushes via webhooks, and Hype pushes updates via tasks
  • Delivery Channels, Payment Types, and Statuses are pushed via webhooks primarily during initial synchronization

9. Integration Management ​

These endpoints let you inspect the state of your integrations with Hype POS clients.

Get All Integrations ​

GET /api/hype-custom/integrations
Authorization: Bearer <token>

Response:

json
[
  {
    "id": "9b57a2e7-48e3-4173-9bcd-11a831a6f111",
    "status": "syncing"
  }
]

Get Integration Details ​

The default response contains id and status. Request include=accountOne,pipeline for the expanded example below, or include=pipeline for synchronization progress. If no pipeline exists, pipeline is omitted.

GET /api/hype-custom/integrations/:integrationId?include=accountOne,pipeline
Authorization: Bearer <token>

Response:

json
{
  "id": "9b57a2e7-48e3-4173-9bcd-11a831a6f111",
  "status": "syncing",
  "accountOne": {
    "id": "9a583928-13d9-4a0f-bb7f-c02b847a927c",
    "name": "demo.hype-software.com",
    "status": "active",
    "api_token": "9a583928-0e98-418a-940c-6650faf12163",
    "foreign_account_id": "157",
    "client_id": 157,
    "settings": [],
    "platform": {
      "id": "4d410b0e-ee37-497e-8362-478a383d68ee",
      "name": "Hype Server",
      "key": "hype-server",
      "prefix": "HS"
    }
  },
  "pipeline": {
    "id": "9b57a2e7-dd9b-428f-be5a-3173b77aebad",
    "status": "processing",
    "progress": {
      "step": 6,
      "from": 11,
      "task_id": "9b57a3a2-6cf6-4c06-9037-cea260069b6f"
    },
    "message": null
  }
}

Integration Details Fields ​

FieldDescription
idIntegration UUID
statusCurrent integration status -- see Integration & Pipeline Statuses
accountOneThe Hype Server account connected to this integration
accountOne.platformPlatform metadata (always "Hype Server" for this side)
pipelineLatest pipeline, requested with include=pipeline; omitted if none exists
pipeline.progress.stepCurrent sync step number (1-indexed). Once the pipeline is synced, it stays at the last step's index, which is from - 1.
pipeline.progress.fromTotal number of sync steps (11 for a standard hype-custom integration)
pipeline.progress.task_idUUID of the EntityTask currently being processed in this step
pipeline.statusPipeline status: "pending", "processing", "synced", "failed", "stopped"
pipeline.messageError message text (populated on failure, null otherwise)

10. Queue Management ​

Queue jobs are the internal processing units within HES that create sync tasks. When entity dependencies are not yet synchronized, jobs can fail or be paused.

Get Queue Jobs ​

GET /api/hype-custom/integrations/:integrationId/queue-jobs
Authorization: Bearer <token>

Response:

json
[
  {
    "id": "1f6cc4e9-222f-4ee1-95fd-517e9b28dde8",
    "entity": "CategoryEntity",
    "request_method": "POST",
    "payload": {
      "id": 53,
      "name": "TEST 4",
      "color": "#674AEF",
      "order": 9007199254740991,
      "createdAt": "2024-04-15T12:15:37.013Z",
      "updatedAt": "2024-04-15T12:15:57.000Z",
      "mainCategoryId": null
    },
    "source": {
      "id": "9a583928-13d9-4a0f-bb7f-c02b847a927c",
      "name": "demo.hype-software.com"
    },
    "status": "failed",
    "error_msg": "The entity with name TEST 4, which the platform is attempting to update, has not yet been fully synchronized between the two platforms."
  },
  {
    "id": "5de7fd5e-9fb0-4e19-9c01-8763a90094a3",
    "entity": "OrderRequestStatusEntity",
    "request_method": "POST",
    "payload": {
      "id": 1,
      "translationKey": "NEW",
      "src_status": {}
    },
    "source": {
      "id": "9a583928-13d9-4a0f-bb7f-c02b847a927c",
      "name": "hype-fe.stage.scalewest.com"
    },
    "status": "pending",
    "error_msg": null
  }
]

Queue Job Fields ​

FieldTypeDescription
idUUIDQueue job identifier
entitystringEntity class name (e.g., "CategoryEntity", "OrderRequestStatusEntity")
request_methodstringHTTP method from the originating webhook (POST, PUT, DELETE)
payloadobjectRaw entity data from the source platform
sourceobjectThe source account that sent this data
statusstring"failed" or "pending"
error_msgstring/nullError context if status is "failed"

Common Failure Reason ​

Jobs fail when they reference entities that haven't been synchronized yet. For example, an order request referencing an item that doesn't have an entity value mapping yet. HES pauses the queue and retries when the missing entity is synchronized.

Delete Queue Job(s) ​

DELETE /api/hype-custom/integrations/:integrationId/queue-jobs/:jobId
Authorization: Bearer <token>
ParameterRequiredDescription
:integrationIdYesIntegration UUID
:jobIdNoSpecific job UUID. If omitted, all jobs in the queue are deleted.

11. Integration & Pipeline Statuses ​

Integration Statuses ​

StatusDescription
inactiveIntegration exists but has not started syncing
syncingInitial sync pipeline is running
activeInitial pipeline completed; manual status/channel/payment mappings in the Hype Server back office are still required before order traffic
abortedPipeline failed or was manually aborted
errorIntegration is in an error state
text
Create integration -> inactive -> syncing -> active
                                    |
                                    +-> aborted on failure or cancellation

After active, complete the manual mapping described below before enabling orders. failed is a pipeline status; an integration whose pipeline fails becomes aborted.

Pipeline Statuses ​

StatusDescription
pendingPipeline created but not yet started
processingPipeline is actively working through its steps
syncedAll steps completed successfully
failedA step failed -- pipeline stopped
stoppedPipeline was manually stopped

12. Initial Sync Pipeline ​

When a new integration is created, HES runs a pipeline -- a strictly sequential series of steps that synchronize all entities between the Hype POS and your platform. The pipeline is built from both platform adapter configurations and filtered by the entity mappings defined for the integration.

Pipeline Steps (11 steps) ​

A standard hype-custom integration has 11 pipeline steps executed in this exact order:

Phase 1: Collect Hype data (steps 1-8)

HES fetches entities from Hype. Steps 1-5 create tasks for your platform; steps 6-8 store Hype values for manual mapping. The default status/channel/payment mappings do not define automatic record creation on the other platform.

StepEntityWhat Happens
1CategoriesHES fetches all categories from Hype POS, creates POST tasks for your platform. You poll, create them in your system, report back with your IDs.
2SaloonsHES fetches all saloons from Hype POS, creates POST tasks for your platform.
3TablesHES fetches all non-virtual tables from Hype POS, creates POST tasks for your platform. Tables reference saloons synced in step 2.
4Articles (Items)HES fetches all menu items from Hype POS, creates POST tasks for your platform. Items reference categories synced in step 1. Item tasks carry no supplement data.
5SupplementsHES fetches all menu-scoped supplements from Hype POS, creates POST tasks for your platform. These mappings are later reused for order item supplement references.
6Order Request StatusesHES stores Hype's order statuses as choices for manual pairing after activation.
7Order Delivery ChannelsHES stores Hype's delivery channels as choices for manual pairing after activation.
8Order Payment TypesHES stores Hype's payment types as choices for manual pairing after activation.

Phase 2: Collect your platform's values (steps 9-11)

HES requests your platform's values through GET-type tasks and stores them as the other side of the choices for manual mapping. This does not automatically pair the values or create them in Hype POS.

StepEntityWhat Happens
9Order Request StatusesAnswer the GET task on orderRequestStatus with an array of your order statuses, including stable IDs. HES stores these choices for manual pairing.
10Order Delivery ChannelsAnswer the GET task on orderDeliveryChannels with an array of your delivery channels, including stable IDs. HES stores these choices for manual pairing.
11Order Payment TypesAnswer the GET task on orderPaymentTypes with an array of your payment types, including stable IDs. HES stores these choices for manual pairing.

Why This Order Matters ​

  • Categories before Articles (steps 1 and 4): Articles reference categories via categoryId. The category entity value mapping must exist before HES can resolve category references in articles.
  • Articles before Supplements (steps 4 and 5): Supplement payloads reference item mappings via articleId, so HES must synchronize items before menu-scoped supplements.
  • Saloons before Tables (steps 2 and 3): Tables reference saloons via saloonId. The saloon entity value mapping must exist before HES can resolve table location references.
  • Both sides before manual mapping: Steps 6-8 collect Hype's statuses, channels, and payment types; steps 9-11 collect yours. Both sets must be available before a person pairs them in the back office.

How Steps Advance ​

The pipeline processes one step at a time. From your platform's perspective:

  1. Poll every enabled /tasks/hype-custom/{entity} endpoint.
  2. Process each task according to its type and submit the result with PUT /tasks/hype-custom/{entity}.
  3. Return stable IDs for records you create or match. HES records the results and establishes the corresponding ID mappings.
  4. HES advances only after all work for the current step has finished. Monitor progress through GET /api/hype-custom/integrations/{id}?include=pipeline.
  5. When all steps complete, the pipeline becomes synced and the integration becomes active. Complete the manual mappings below before sending orders.

The pipeline waits indefinitely. If your platform stops polling or reporting results, synchronization can remain in processing. If your side has no pending tasks but progress remains stalled, contact Hype support with the integration ID and pipeline message.

Your Responsibilities During Initial Sync ​

  1. Poll frequently for tasks on all entity types during initial sync. The pipeline advances one entity type at a time, so tasks will appear sequentially -- first on /tasks/hype-custom/categories, then /tasks/hype-custom/saloons, /tasks/hype-custom/tables, /tasks/hype-custom/items, /tasks/hype-custom/supplements, etc.

  2. Process every task promptly. The pipeline cannot advance to the next step until the source task response has been processed and every task produced by the current step is marked as synced via PUT responses.

  3. Include your platform's id whenever an entity exists. This is critical -- HES uses these IDs to create entity value mappings that enable the bidirectional ID translation used in order processing. The only supported no-entity ACK for Hype Custom is saloon/table tasks when your platform does not model floor plans; if you ACK them with response: {}, do not send table references in later order requests.

  4. For GET-type tasks (steps 9-11): Return all records of that entity type from your system in the response body. HES needs these as choices for the manual mapping step after activation.

  5. Monitor progress via GET /api/hype-custom/integrations/:id?include=pipeline -- check pipeline.progress.step and pipeline.progress.from.

Manual Mapping After Activation ​

After the pipeline becomes synced and the integration becomes active, open the integration in the Hype Server back-office UI. Pair and save the corresponding values for:

  • order request statuses
  • order delivery channels
  • order payment types

Cover every value used by orders or status updates. The pipeline collects the records; it does not choose these pairs automatically, even when names match. If a required value is missing, correct the source records or bootstrap responses and refresh them before mapping.

Do not enable order traffic until these mappings are saved and a test order has reached Hype with a status update returned to your platform. Review the mappings whenever new values are introduced.

Pipeline Failure & Recovery ​

No rollback. If a step fails, already-synced entities from previous steps remain in place. The pipeline simply stops.

On failure:

  • The failing EntityTask is marked as ERROR with the error message
  • The pipeline status becomes failed, the message field contains the error
  • The integration status becomes aborted

Queue pause for missing dependencies: During ongoing sync (after the pipeline), if a sync job encounters an entity reference that hasn't been mapped yet (e.g., an order references an item not yet synced), the integration queue pauses for 60 seconds and automatically retries. This handles race conditions where entities arrive slightly out of order.

Recovery options (performed by Hype support):

  • Re-triggering the full sync process

13. Ongoing Synchronization ​

Begin normal order traffic after the initial pipeline completes, the integration reaches active, the manual mappings are saved in the Hype Server back-office UI, and an end-to-end order check succeeds.

Hype -> Your Platform (entity changes) ​

text
1. A catalog change becomes available through HES as a task of type PUT.
2. Your platform polls: GET /tasks/hype-custom/items.
3. Your platform applies the change, keeping the record's existing ID.
4. Your platform reports: PUT /tasks/hype-custom/items (status: 200).

Your Platform -> Hype (new order) ​

text
1. A customer places an order on your platform.
2. Send POST /webhook/hype-custom/orderRequests with mapped IDs.
3. HES returns 204 and handles delivery asynchronously.
4. Confirm the order appears in Hype.
5. Poll GET /tasks/hype-custom/orderRequests for order status changes.
6. Apply each status change in your platform.
7. Submit the task result with PUT /tasks/hype-custom/orderRequests.

14. Quick Reference ​

All Endpoints ​

#MethodURLDescription
1GET/tasks/hype-custom/itemsFetch pending item tasks
2PUT/tasks/hype-custom/itemsReport item task results
3GET/tasks/hype-custom/categoriesFetch pending category tasks
4PUT/tasks/hype-custom/categoriesReport category task results
5GET/tasks/hype-custom/supplementsFetch pending supplement tasks
6PUT/tasks/hype-custom/supplementsReport supplement task results
7GET/tasks/hype-custom/saloonsFetch pending saloon tasks
8PUT/tasks/hype-custom/saloonsReport saloon task results
9GET/tasks/hype-custom/tablesFetch pending table tasks
10PUT/tasks/hype-custom/tablesReport table task results
11GET/tasks/hype-custom/orderRequestsFetch pending order request tasks
12PUT/tasks/hype-custom/orderRequestsReport order request task results
13GET/tasks/hype-custom/orderDeliveryChannelsFetch pending delivery channel tasks
14PUT/tasks/hype-custom/orderDeliveryChannelsReport delivery channel task results
15GET/tasks/hype-custom/orderPaymentTypesFetch pending payment type tasks
16PUT/tasks/hype-custom/orderPaymentTypesReport payment type task results
17GET/tasks/hype-custom/orderRequestStatusFetch pending order status tasks
18PUT/tasks/hype-custom/orderRequestStatusReport order status task results
19POST/webhook/hype-custom/orderRequestsCreate an order request
20PUT/webhook/hype-custom/orderRequestsUpdate an order request
21POST/webhook/hype-custom/orderDeliveryChannelsCreate a delivery channel
22PUT/webhook/hype-custom/orderDeliveryChannelsUpdate a delivery channel
23POST/webhook/hype-custom/orderPaymentTypesCreate a payment type
24PUT/webhook/hype-custom/orderPaymentTypesUpdate a payment type
25POST/webhook/hype-custom/orderRequestStatusCreate an order status
26PUT/webhook/hype-custom/orderRequestStatusUpdate an order status
27GET/api/hype-custom/integrationsList all integrations
28GET/api/hype-custom/integrations/:idGet integration details
29GET/api/hype-custom/integrations/:id/queue-jobsList queue jobs
30DELETE/api/hype-custom/integrations/:id/queue-jobs/:jobIdDelete queue job(s)

Entity Types Summary ​

EntityDirectionTask URL SegmentWebhook URL Segment
ItemsHype -> Externalitems--
CategoriesHype -> Externalcategories--
SupplementsHype -> Externalsupplements--
SaloonsHype -> Externalsaloons--
TablesHype -> Externaltables--
Order RequestsBidirectionalorderRequestsorderRequests
Delivery ChannelsBidirectional (initial sync)orderDeliveryChannelsorderDeliveryChannels
Payment TypesBidirectional (initial sync)orderPaymentTypesorderPaymentTypes
Order StatusesBidirectional (initial sync)orderRequestStatusorderRequestStatus

This document is maintained in the Hype Exchange Service repository and serves as the customer-facing reference for implementing the hype-custom integration adapter.

Hype Exchange Service API