Skip to content

Test Order Traceability (API) ​

REAL ORDERS

This API covers orders placed on the allocated test store. For orders from your real stores, use the Order Traceability screen in the portal.

The traceability API allows you to verify an order's journey through the Glovo integration system — from receipt from Glovo, through processing and delivery to the POS, to the POS response.

Order Journey ​

Glovo App → Glovo Backend → Integration Middleware → POS
                                  │
                            ┌─────┴─────┐
                            │  Receive   │  receivedTime
                            │  Order     │  status: INITIAL
                            └─────┬─────┘
                                  │
                            ┌─────┴─────┐
                            │ Transform  │  Convert format
                            │ & Execute  │  Glovo → POS
                            └─────┬─────┘
                                  │
                            ┌─────┴─────┐
                            │  Send to   │  executedTime
                            │   POS      │  status: EXECUTED
                            └─────┬─────┘
                                  │
                            ┌─────┴─────┐
                            │    POS     │  posResponse
                            │  Response  │  (success / error)
                            └───────────┘

Processing Stages ​

StageWhat HappensField Updated
ReceiveOrder arrives from Glovo into the middlewarereceivedTime, status → INITIAL
TransformGlovo JSON format is converted to POS-accepted formatstatus → TRANSFORMED
ExecuteTransformed order is sent to the POS endpointexecutedTime, status → EXECUTED
POS ResponseThe POS response is captured and storedposResponse (success or error)

Traceability Endpoint ​

GET /api/v3/orders/traceability/{orderCode} ​

AUTHENTICATION

This endpoint uses the accessToken received when the test store was allocated (not the POS integration token).

Parameters:

ParameterInTypeDescription
orderCodepathstringOrder code (e.g., ISRQHPPK1) — the order_code field from the received notification
bash
curl -X GET "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/orders/traceability/ISRQHPPK1" \
  -H "Authorization: ACCESS_TOKEN_FROM_ALLOCATION"
python
import requests

url = "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/orders/traceability/ISRQHPPK1"
headers = {"Authorization": access_token}
response = requests.get(url, headers=headers)
trace = response.json()

if trace["sentToPos"]:
    print(f"Order sent to POS at: {trace['executedTime']}")
    print(f"POS response: {trace['posResponse']}")
else:
    print(f"Order NOT sent to POS. Status: {trace['status']}")
javascript
const response = await fetch(
  'https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/orders/traceability/ISRQHPPK1',
  { headers: { 'Authorization': accessToken } }
);
const trace = await response.json();
console.log(`Status: ${trace.status}, Sent to POS: ${trace.sentToPos}`);

Response (200 OK) ​

json
{
  "orderCode": "ISRQHPPK1",
  "storeId": "gi__001",
  "receivedTime": "2026-03-11T09:30:00",
  "orderReceived": true,
  "executedTime": "2026-03-11T09:30:05",
  "executed": true,
  "sentToPos": true,
  "posResponse": "{\"status\":\"accepted\",\"orderId\":\"POS-789\"}",
  "status": "EXECUTED"
}

Response Fields ​

FieldTypeDescription
orderCodeStringThe order code queried
storeIdStringStore ID associated with the order
receivedTimeDateTimeExact moment the order was received from Glovo
orderReceivedBooleantrue if the order was successfully received
executedTimeDateTimeExact moment the order was sent to POS
executedBooleantrue if the order went through the execution stage
sentToPosBooleantrue if the order was actually sent to POS
posResponseStringComplete POS response (JSON string). Contains either the success response or the error message
statusStringCurrent order status (see table below)

Possible Statuses ​

StatusDescription
INITIALOrder received from Glovo but not yet processed
TRANSFORMEDOrder format converted from Glovo format to POS format
EXECUTEDOrder successfully sent to POS and response received
ERRORProcessing failed at one of the stages

Error Codes ​

HTTP StatusDescription
200Traceability information returned successfully
401Invalid or missing access token
404Order not found or doesn't belong to the allocated store
429Rate limit exceeded (max 10 requests/hour)

Interpreting Results ​

Successfully Processed Order ​

json
{
  "orderReceived": true,
  "sentToPos": true,
  "status": "EXECUTED",
  "posResponse": "{\"status\":\"accepted\"}"
}

The order completed the full flow: receive → transform → send to POS → positive response.

Order Received but Not Sent to POS ​

json
{
  "orderReceived": true,
  "sentToPos": false,
  "status": "ERROR",
  "posResponse": "Store execution is deactivated"
}

The order was received from Glovo but failed during execution. The posResponse field contains the error reason. Possible causes:

  • Store execution is deactivated
  • Format transformation error
  • Incorrect integration configuration

Order with POS Error ​

json
{
  "orderReceived": true,
  "sentToPos": true,
  "status": "EXECUTED",
  "posResponse": "{\"error\":\"Connection timeout\"}"
}

The order was sent to POS, but the POS responded with an error. Check POS configuration and connectivity.

Order Not Found ​

If you receive 404 Not Found, verify:

  • The order code is correct (the order_code field from the notification, not order_id)
  • The order belongs to the allocated test store
  • The order is not too old

Rate Limiting ​

The traceability API has a limit of 10 requests per hour per access token.

If you exceed the limit, you'll receive:

json
{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Maximum 10 requests per hour. Try again at 2026-03-11T11:00:00",
  "retryAt": "2026-03-11T11:00:00"
}

RECOMMENDATION

Don't poll frequently. Check traceability after you've received the order delivery confirmation or after a reasonable interval (30-60 seconds after placing the order).

Complete Flow Example ​

bash
# 1. Place a test order through the Glovo app
#    (use the test account created during allocation)

# 2. POS receives the order on notificationUrl
#    → POS responds with 200 OK

# 3. Check traceability using order_code from the notification
curl -s -X GET \
  "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/orders/traceability/ISRQHPPK1" \
  -H "Authorization: $ACCESS_TOKEN" | jq .

# Result:
# {
#   "orderCode": "ISRQHPPK1",
#   "orderReceived": true,     ← order arrived in the system
#   "sentToPos": true,          ← was sent to POS
#   "posResponse": "{...}",     ← POS response
#   "status": "EXECUTED"        ← processing complete
# }