Store-uri de Test
DIN PORTAL
Toți pașii de mai jos se pot face și din portal, din meniul Profil → Aloca store de test, fără apeluri API. Configurarea webhook-ului pentru comenzile de test se face numai din portal. Vezi Store de test.
Middleware-ul oferă un mecanism de alocare automată a store-urilor de test. Store-urile de test rulează pe infrastructura de producție, dar într-o zonă de test dedicată (fake city). Toate comenzile plasate pe aceste store-uri sunt comenzi de test, nu comenzi reale de clienți.
PUNCTE IMPORTANTE
- Store-urile de test folosesc mediul de producție, nu un server de staging
- Store-urile sunt localizate într-o zonă fake city — nu servesc clienți reali
- Toate comenzile sunt comenzi de test — nu există tranzacții reale
- Aceasta permite testarea cu infrastructura reală fără a afecta datele de producție
Flux de lucru
1. Alocați un store de test → POST /api/v3/test-stores/allocate
2. Setați URL-ul și token-ul webhook → din portal (Profil → Aloca store de test)
3. Plasați comenzi de test → prin aplicația Glovo
4. Verificați trasabilitatea → GET /api/v3/orders/traceability/{orderCode}
5. Eliberați store-ul când terminați → POST /api/v3/test-stores/release/{id}Ce primiți la alocare
| Câmp | Utilizare |
|---|---|
notificationUrl | URL-ul la care se trimit comenzile de test, așa cum a fost setat în portal. Imediat după o alocare nouă este gol |
notificationToken | Token-ul ales în portal, trimis în header-ul Authorization al fiecărei comenzi de test |
accessToken | Token pentru API-ul de trasabilitate — verificați starea comenzilor procesate |
storeId | ID-ul store-ului alocat (ex: gi__001) |
storeDeepLink | Deep link către store în aplicația Glovo |
Autentificare
| Endpoint | Token utilizat |
|---|---|
| Alocare / Release / Disponibilitate | Token-ul de integrare POS (furnizat de echipa de integrare) |
| Trasabilitate comenzi | accessToken primit la alocare |
Limite
| Limită | Valoare |
|---|---|
| Durată alocare | 2 săptămâni (apoi expiră automat) |
| Rate limit trasabilitate | 10 cereri/oră per access token |
| Store-uri simultane | 1 per POS (în mod normal) |
1. Alocare Store de Test
POST /api/v3/test-stores/allocate
curl -X POST "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/test-stores/allocate" \
-H "Authorization: YOUR_INTEGRATION_TOKEN" \
-H "Content-Type: application/json"import requests
url = "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/test-stores/allocate"
headers = {"Authorization": "YOUR_INTEGRATION_TOKEN"}
response = requests.post(url, headers=headers)
data = response.json()
print(f"Store ID: {data['storeId']}")
print(f"Notification URL: {data['notificationUrl']}")
print(f"Access Token: {data['accessToken']}")Răspuns (200 OK):
{
"testStoreId": "67890abcdef",
"storeId": "gi__001",
"accessToken": "xJk9sM2nP4qR7vW1yZ3aB5cD8eF0gH2iJkLmNoPqRsTuVwXyZ",
"allocatedAt": "2026-03-11T10:00:00",
"expiresAt": "2026-03-25T10:00:00",
"notificationUrl": "https://your-pos.com/webhook/orders",
"notificationToken": "Bearer glovo-test-notification-token",
"storeName": "Test Store - GI 001",
"partnerCode": "gi",
"address": "Bucharest, Romania",
"glovoAppUrl": "https://glovoapp.com",
"storeDeepLink": "glovo://store/gi__001",
"instructions": {
"title": "Test Store Setup Instructions",
"userAccountInfo": "...",
"autoAcceptInfo": "...",
"traceabilityInfo": "...",
"supportContact": "For assistance, contact: pos.integrations@appsmart.ro"
}
}| Status | Descriere |
|---|---|
200 | Store alocat cu succes |
401 | Token invalid sau inactiv |
503 | Nu există store-uri disponibile |
2. Configurare POS și Plasare Comenzi
După alocare:
- În portal, la Profil → Aloca store de test, completați URL-ul endpoint-ului POS care primește comenzile de test și un token ales de voi (detalii)
- Configurați POS-ul să valideze token-ul pe header-ul
Authorization - Porniți serverul
Creare cont de test
IMPORTANT
Pentru a vizualiza și comanda de la store-ul de test, trebuie să creați un cont de utilizator Glovo separat. Nu folosiți contul pe care îl utilizați în mod obișnuit pentru comenzile personale.
Pași pentru crearea contului de test:
- Accesați https://glovoapp.com/
- Creați un cont nou folosind o adresă de email pe care nu o folosiți pentru comenzile obișnuite de Glovo
- După primul login, accesați setările profilului
- Adăugați un număr de telefon (obligatoriu pentru plasarea comenzilor)
- Verificați numărul de telefon pentru a activa comenzile
TIP
Folosiți un cont dedicat pentru testare pentru a evita amestecarea comenzilor de test cu cele personale și pentru a asigura testarea corectă a fluxului de integrare.
Găsire Store de Test
Store-urile de test sunt localizate într-o zonă fake city în mediul de producție Glovo. Pentru a găsi store-ul alocat:
- Coordonate locație:
44.401341, 26.369141 - Setați adresa de livrare în apropierea acestor coordonate în aplicația Glovo
- Căutați store-ul după nume (furnizat în răspunsul de alocare)
WARNING
Doar conturile de test pot vedea și comanda de la aceste store-uri. Utilizatorii obișnuiți Glovo nu pot accesa aceste store-uri.
Primire comenzi
Comenzile de test ajung pe notificationUrl cu formatul standard de notificare (detalii):
POST <notificationUrl>
Authorization: <notificationToken>
Content-Type: application/json
{
"order_id": "616342127",
"store_id": "gi__001",
"order_code": "TEST123456",
...
}TIP
- Verificați mereu că header-ul
Authorizationeste token-ul setat în portal - Răspundeți cu
200 OKdacă ați acceptat comanda - Configurația Autoaccept este dezactivată implicit. Dacă aveți nevoie, contactați echipa de integrare
Actualizare Meniu pentru Store-uri de Test
Pentru a actualiza meniul unui store de test, trimiteți payload-ul JSON către endpoint-ul de producție:
Endpoint: POST https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/menu/upload
curl -X POST "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/menu/upload" \
-H "Authorization: YOUR_INTEGRATION_TOKEN" \
-H "Content-Type: application/json" \
-d @menu-payload.jsonPentru formatul complet JSON al meniului, consultați Format JSON Meniu.
3. Trasabilitate Comenzi
Verificați dacă o comandă a fost procesată corect în sistemul Glovo.
GET /api/v3/orders/traceability/{orderCode}
curl -X GET "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/orders/traceability/TEST123456" \
-H "Authorization: xJk9sM2nP4qR7vW1yZ3aB5cD8eF0gH2iJkLmNoPqRsTuVwXyZ"import requests
url = "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/orders/traceability/TEST123456"
headers = {"Authorization": access_token}
response = requests.get(url, headers=headers)
trace = response.json()
print(f"Status: {trace['status']}")
print(f"Sent to POS: {trace['sentToPos']}")
print(f"POS Response: {trace['posResponse']}")Răspuns (200 OK):
{
"orderCode": "TEST123456",
"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"
}| Câmp | Tip | Descriere |
|---|---|---|
orderCode | String | Codul comenzii |
storeId | String | ID-ul store-ului |
receivedTime | DateTime | Când a fost recepționată comanda de la Glovo |
orderReceived | Boolean | true dacă comanda a fost recepționată |
executedTime | DateTime | Când a fost trimisă către POS |
sentToPos | Boolean | true dacă a fost trimisă către POS |
posResponse | String | Răspunsul POS-ului (JSON string) |
status | String | RECEIVED, EXECUTED sau ERROR |
| Status | Descriere |
|---|---|
200 | Informații trasabilitate returnate |
401 | Access token invalid |
404 | Comanda nu există sau nu aparține store-ului vostru |
429 | Rate limit depășit (max 10 cereri/oră) |
4. Eliberare Store
Când ați terminat testele, eliberați store-ul pentru alți parteneri.
POST /api/v3/test-stores/release/{testStoreId}
curl -X POST "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/test-stores/release/67890abcdef" \
-H "Authorization: YOUR_INTEGRATION_TOKEN"Răspuns (200 OK):
{
"message": "Test store released successfully"
}| Status | Descriere |
|---|---|
200 | Store eliberat cu succes |
401 | Token invalid |
404 | Alocarea nu există sau nu este a voastră |
INFO
Dacă uitați să eliberați store-ul, alocarea expiră automat după 2 săptămâni.
5. Store-uri Disponibile
Verificați câte store-uri sunt disponibile pentru alocare.
GET /api/v3/test-stores/available
curl -X GET "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/test-stores/available" \
-H "Authorization: YOUR_INTEGRATION_TOKEN"Răspuns (200 OK):
[
"partner__test_store_001",
"partner__test_store_002",
"partner__test_store_003"
]Flux Complet de Testare
# 1. Alocați store-ul
RESPONSE=$(curl -s -X POST "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/test-stores/allocate" \
-H "Authorization: YOUR_TOKEN")
# 2. Extrageți datele
STORE_ID=$(echo $RESPONSE | jq -r '.storeId')
ACCESS_TOKEN=$(echo $RESPONSE | jq -r '.accessToken')
TEST_STORE_ID=$(echo $RESPONSE | jq -r '.testStoreId')
echo "Store alocat: $STORE_ID"
# 3. Setați URL-ul și token-ul webhook-ului din portal (Profil → Aloca store de test)
# 4. Plasați comenzi de test prin aplicația Glovo
# 5. Verificați trasabilitatea
curl -X GET "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/orders/traceability/ORDER_CODE" \
-H "Authorization: $ACCESS_TOKEN"
# 6. Eliberați store-ul
curl -X POST "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/test-stores/release/$TEST_STORE_ID" \
-H "Authorization: YOUR_TOKEN"Întrebări Frecvente
Cât timp pot folosi un store de test? Alocarea expiră automat după 2 săptămâni. Puteți aloca din nou dacă este necesar.
Ce se întâmplă dacă uit să eliberez store-ul? Alocarea expiră automat și store-ul devine disponibil pentru alți parteneri.
De ce primesc 429 la trasabilitate? Există o limită de 10 cereri pe oră. Așteptați timpul specificat în câmpul retryAt din răspuns.
Cum pot obține un integration token? Contactați echipa de integrări la pos.integrations@appsmart.ro.
Suport
Pentru asistență tehnică: pos.integrations@appsmart.ro