Skip to content

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âmpUtilizare
notificationUrlURL-ul la care se trimit comenzile de test, așa cum a fost setat în portal. Imediat după o alocare nouă este gol
notificationTokenToken-ul ales în portal, trimis în header-ul Authorization al fiecărei comenzi de test
accessTokenToken pentru API-ul de trasabilitate — verificați starea comenzilor procesate
storeIdID-ul store-ului alocat (ex: gi__001)
storeDeepLinkDeep link către store în aplicația Glovo

Autentificare ​

EndpointToken utilizat
Alocare / Release / DisponibilitateToken-ul de integrare POS (furnizat de echipa de integrare)
Trasabilitate comenziaccessToken primit la alocare

Limite ​

LimităValoare
Durată alocare2 săptămâni (apoi expiră automat)
Rate limit trasabilitate10 cereri/oră per access token
Store-uri simultane1 per POS (în mod normal)

1. Alocare Store de Test ​

POST /api/v3/test-stores/allocate ​

bash
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"
python
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):

json
{
  "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"
  }
}
StatusDescriere
200Store alocat cu succes
401Token invalid sau inactiv
503Nu există store-uri disponibile

2. Configurare POS și Plasare Comenzi ​

După alocare:

  1. Î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)
  2. Configurați POS-ul să valideze token-ul pe header-ul Authorization
  3. 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:

  1. Accesați https://glovoapp.com/
  2. Creați un cont nou folosind o adresă de email pe care nu o folosiți pentru comenzile obișnuite de Glovo
  3. După primul login, accesați setările profilului
  4. Adăugați un număr de telefon (obligatoriu pentru plasarea comenzilor)
  5. 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):

http
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 Authorization este token-ul setat în portal
  • Răspundeți cu 200 OK dacă 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

bash
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.json

Pentru 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} ​

bash
curl -X GET "https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/orders/traceability/TEST123456" \
  -H "Authorization: xJk9sM2nP4qR7vW1yZ3aB5cD8eF0gH2iJkLmNoPqRsTuVwXyZ"
python
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):

json
{
  "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âmpTipDescriere
orderCodeStringCodul comenzii
storeIdStringID-ul store-ului
receivedTimeDateTimeCând a fost recepționată comanda de la Glovo
orderReceivedBooleantrue dacă comanda a fost recepționată
executedTimeDateTimeCând a fost trimisă către POS
sentToPosBooleantrue dacă a fost trimisă către POS
posResponseStringRăspunsul POS-ului (JSON string)
statusStringRECEIVED, EXECUTED sau ERROR
StatusDescriere
200Informații trasabilitate returnate
401Access token invalid
404Comanda nu există sau nu aparține store-ului vostru
429Rate 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} ​

bash
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):

json
{
  "message": "Test store released successfully"
}
StatusDescriere
200Store eliberat cu succes
401Token invalid
404Alocarea 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 ​

bash
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):

json
[
  "partner__test_store_001",
  "partner__test_store_002",
  "partner__test_store_003"
]

Flux Complet de Testare ​

bash
# 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