Overview & Architecture
3 min
Expressoft exposes one developer API, built on GraphQL. You use it for two kinds of integrations:
Integration | What you use it for | What it supports |
|---|---|---|
Delivery APIDelivery API | Locations, products, prices, customers, addresses, companies, and orders for delivery integrations | Queries, mutations and webhooks |
CRM & Loyalty APICRM & Loyalty API | Customers, points balance, wallet, vouchers, promotions, the points of each receipt, and gift cards | Queries and mutations |
Both use the same endpoint, the same schema, and the same token.
What both have in common
- One GraphQL endpoint. Every request is a POST.
- One authentication flow. You get a Bearer token from a single token endpoint.
- Cursor pagination. Lists accept first, after, last and before, and return totalCount, pageInfo and items.
- One result shape for mutations. Every mutation returns result, errorCode, errorMessage and errorData.
- Expressoft is the source of truth. Don't recalculate or cache values that the API already gives you (loyalty balances, stock, prices). Query them when you need them.
What differs
| Delivery API | CRM & Loyalty API |
|---|---|---|
Push notifications | Yes, through webhooks | No. You query for changes. |
Main data | Orders, locations, products, delivery areas | Customers, points, vouchers, gift cards |
Where to start
- Read Getting Access to get your credentials.
- Read Authentication Overview to generate a token.
- Open the section for the integration you need and follow it from top to bottom: Delivery API or CRM & Loyalty API.