---
title: Overview & Prerequisites
slug: devdocs/FLvY-overview-and-prerequisites
docTags: 
createdAt: 2026-10-16T12:03:50.688Z
---

The **Expressoft Delivery API** is built on GraphQL. It lets you connect a delivery application to Expressoft in three ways:

- **Queries** read reference data: customers, addresses, locations, product categories, and prices.
- **Mutations** write data back to Expressoft: new customers, addresses, companies, and orders.
- **Webhooks** notify your system when something changes in Expressoft: order status, location availability, preparation time, stock.

All calls go to one GraphQL endpoint over HTTPS. You authenticate with a Bearer token.

## Prerequisites

Before you start, make sure you have:

- **API credentials**: a username and a password issued by Expressoft. See **[Getting Access](docId\:omwWQICbEQIUeF101PxuL)**.
- **Sandbox access**: build and test against `https://sandbox.expressoft.eu` before you ask for production.
- **A GraphQL client**: Postman, curl, or the **Expressoft [GraphQL Playground](https://sandbox.expressoft.eu/connect.services/cloud.interop/ui/graphql/playground)**. Any of them works.
- **A public HTTPS endpoint** (only if you want webhooks): Expressoft calls this URL when an event happens.

## Postman collection

Expressoft published a Postman collection for the Delivery API. It contains the requests described on these pages: [Expressoft Delivery API collection](https://documenter.getpostman.com/view/32834369/2sA2r54kzi).

To use it, create a Postman environment with your username, your password, and the sandbox endpoint. Run **Get Token** first. The other requests use the token it returns.

## How the pages fit together

Follow the sidebar from top to bottom. Each page uses keys (`publicKey` values) returned by the previous one.

1. **Authentication**: get a Bearer token.
2. **GraphQL Playground**: explore the schema interactively.
3. **Setup Queries**: read the reference data you need to build an order (locations, price lists, products, streets).
4. **Place Order**: create the customer, the address, and the order.
5. **Webhooks**: get notified when the order or the location changes.

:::hint{type="info"}
A mutation can return HTTP 200 and still fail a business rule. Always check `errorCode` and `errorMessage` in the mutation result, not only the HTTP status.
:::

:::hint{type="warning"}
Webhooks work differently per environment. In **sandbox** you set them yourself with a mutation. In **production**, Expressoft representatives configure them for you. Contact [support@expressoft.ro](mailto\:support@expressoft.ro) to set them up.
:::

:::hint{type="info"}
The customer and loyalty data (points, vouchers, receipts, gift cards) are covered in the [CRM & Loyalty API](docId\:GRd4F83r0q71WP1tD9Krp) pages. They use the same endpoint and the same token. See **[Schema Reference](docId\:jCoYzTYiW_rOcn3qqSSL5)** for the other areas of the schema: delivery areas and streets, driver users and payment methods.
:::



