API Reference

Exponata Public Integration API

Bearer-token protected API for external store, exposition, expectation, protocol, photo, and fill-rate integrations.

GET
/v1/stores

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

limit?integer
cursor?string

External ID returned as nextCursor from the previous page.

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/stores"
{  "items": [    {      "storeId": "b8adcdc8-9238-4168-90f8-77b2d14c211c",      "externalId": "string",      "name": "string",      "location": "string",      "regionId": "a29f01e1-8a8d-451e-b685-f8b0b4ec4767",      "storeType": "Biuro",      "openingTimes": [        {          "weekday": 0,          "from": "string",          "to": "string"        }      ],      "protocolScheduleId": "6d496a63-584a-4438-9730-6708cc1dd3f1",      "protocolCronEnabled": true,      "onboardingComplete": true,      "loginCode": "string"    }  ],  "nextCursor": "string"}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/stores/{externalId}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/stores/string"
{  "storeId": "b8adcdc8-9238-4168-90f8-77b2d14c211c",  "externalId": "string",  "name": "string",  "location": "string",  "regionId": "a29f01e1-8a8d-451e-b685-f8b0b4ec4767",  "storeType": "Biuro",  "openingTimes": [    {      "weekday": 0,      "from": "string",      "to": "string"    }  ],  "protocolScheduleId": "6d496a63-584a-4438-9730-6708cc1dd3f1",  "protocolCronEnabled": true,  "onboardingComplete": true,  "loginCode": "string"}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
PUT
/v1/stores/{externalId}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X PUT "https://example.com/v1/stores/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "storeId": "b8adcdc8-9238-4168-90f8-77b2d14c211c",  "externalId": "string",  "name": "string",  "location": "string",  "regionId": "a29f01e1-8a8d-451e-b685-f8b0b4ec4767",  "storeType": "Biuro",  "openingTimes": [    {      "weekday": 0,      "from": "string",      "to": "string"    }  ],  "protocolScheduleId": "6d496a63-584a-4438-9730-6708cc1dd3f1",  "protocolCronEnabled": true,  "onboardingComplete": true,  "loginCode": "string"}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/stores/{externalId}/contacts

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/stores/string/contacts"
{  "externalId": "string",  "items": [    {      "contactId": "b5ec5d98-4bee-4da1-ad24-dde86346cb1d",      "contactType": "store",      "name": "string",      "phone": "string",      "email": "user@example.com",      "hasWhatsapp": true,      "createdAt": "2019-08-24T14:15:22Z"    }  ]}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
PUT
/v1/stores/{externalId}/contacts

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PUT "https://example.com/v1/stores/string/contacts" \  -H "Content-Type: application/json" \  -d '{    "contacts": [      {        "name": "string",        "phone": "string"      }    ]  }'
{  "externalId": "string",  "items": [    {      "contactId": "b5ec5d98-4bee-4da1-ad24-dde86346cb1d",      "contactType": "store",      "name": "string",      "phone": "string",      "email": "user@example.com",      "hasWhatsapp": true,      "createdAt": "2019-08-24T14:15:22Z"    }  ]}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/stores/{externalId}/expectations

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/stores/string/expectations"
{  "externalId": "string",  "items": [    {      "expectationId": "2572de4d-522b-4b7c-9f24-c08b7255c034",      "productCategory": "SANDWICHES",      "displayType": "FRIDGE_DRINKS",      "weekday": 0,      "protocolTime": "string",      "expectedFillRatio": 0,      "updatedAt": "2019-08-24T14:15:22Z"    }  ]}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
PUT
/v1/stores/{externalId}/expectations

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PUT "https://example.com/v1/stores/string/expectations" \  -H "Content-Type: application/json" \  -d '{    "expectations": [      {        "productCategory": "SANDWICHES",        "displayType": "FRIDGE_DRINKS",        "weekday": 0,        "protocolTime": "string",        "expectedFillRatio": 0      }    ]  }'
{  "externalId": "string",  "items": [    {      "expectationId": "2572de4d-522b-4b7c-9f24-c08b7255c034",      "productCategory": "SANDWICHES",      "displayType": "FRIDGE_DRINKS",      "weekday": 0,      "protocolTime": "string",      "expectedFillRatio": 0,      "updatedAt": "2019-08-24T14:15:22Z"    }  ]}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/stores/{externalId}/expositions

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/stores/string/expositions"
{  "externalId": "string",  "storeId": "b8adcdc8-9238-4168-90f8-77b2d14c211c",  "items": [    {      "expositionId": "9ea3c12e-334c-4cc0-8ef1-de71b907bcd0",      "label": "string",      "friendlyTitle": "string",      "productCategories": [        "SANDWICHES"      ],      "expositionType": "FRIDGE_DRINKS",      "status": "active"    }  ]}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
PUT
/v1/stores/{externalId}/expositions

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PUT "https://example.com/v1/stores/string/expositions" \  -H "Content-Type: application/json" \  -d '{    "expositions": [      {        "label": "string",        "productCategories": [          "SANDWICHES"        ],        "expositionType": "FRIDGE_DRINKS"      }    ]  }'
{  "externalId": "string",  "storeId": "b8adcdc8-9238-4168-90f8-77b2d14c211c",  "items": [    {      "expositionId": "9ea3c12e-334c-4cc0-8ef1-de71b907bcd0",      "label": "string",      "friendlyTitle": "string",      "productCategories": [        "SANDWICHES"      ],      "expositionType": "FRIDGE_DRINKS",      "status": "active"    }  ]}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/stores/{externalId}/protocols

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Query Parameters

from*string
to*string
status?string
limit?integer

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/stores/string/protocols?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"
{  "externalId": "string",  "items": [    {}  ],  "nextCursor": "string"}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/stores/{externalId}/protocols/{protocolId}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string
protocolId*string

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/stores/string/protocols/string"
{  "images": [    {}  ]}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/stores/{externalId}/photos

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Query Parameters

from*string
to*string
limit?integer
status?string
status?string
protocolId?string
expositionId?string
cursor?string

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/stores/string/photos?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"
{}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/stores/{externalId}/fill-rates

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string

Query Parameters

from*string
to*string
status?string
groupBy?string

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/stores/string/fill-rates?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"
{}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/stores/{externalId}/expositions/{expositionId}/fill-rate

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

externalId*string
expositionId*string

Query Parameters

from*string
to*string
status?string

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/stores/string/expositions/497f6eca-6276-4993-bfeb-53cbbbba6f08/fill-rate?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"
{}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}
GET
/v1/fill-rate

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

from*string
to*string
status?string
groupBy?string
externalIds?string

Comma-separated external store IDs.

minFillRate?number
maxFillRate?number
belowExpectationOnly?boolean

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/fill-rate?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"
{}
{  "error": {    "code": "not_configured",    "message": "string",    "issues": [      {        "path": "string",        "message": "string",        "code": "string"      }    ]  }}