Sandbox și chei
Două medii, aceeași aplicație. Sandbox-ul e gratuit, se deschide singur și nu atinge nimic din ce se facturează. Producția se deschide după ce integrarea trece verificările.
Cele două medii
| rk_test_… (sandbox) | rk_live_… (producție) | |
|---|---|---|
| Cine o poate crea | orice administrator, imediat | după aprobare |
| Abonament necesar | niciunul — merge și pe Start, și în trial | Standard sau Plus |
| Ce coduri vede | doar codurile de test de mai jos | doar codurile tale reale |
| Limită de apeluri | 60 / minut | 120 / minut |
| Consumă din scanările incluse | nu | da |
| Ajunge în deconturi și facturi | niciodată | da |
| Cât se păstrează datele | 30 de zile | permanent |
code_not_found — nu „interzis”, pentru că „interzis” ar confirma că acel cod există.Sandbox-ul merge și dacă abonamentul e neplătit. Dacă factura e în întârziere, munca la integrare poate continua — sunt două probleme diferite și nu are rost să le legăm.
Prima cheie
Din aplicație, la Setări → API. Alegi sandbox (e deja selectat) și primești cheia o singură dată — păstrăm doar un hash, deci nu ți-o putem arăta a doua oară.
La crearea primei chei de test îți populăm automat zece coduri cu comportament fix. Nu trebuie să creezi nimic ca să începi.
curl https://api.recoma.ro/v1/me \
-H "Authorization: Bearer rk_test_..."{
"seller": { "id": "…", "business_name": "Mobilier Fagul", "currency": "RON" },
"key": { "prefix": "rk_test_7f3aQ2xd", "scopes": ["read","redeem"], "environment": "test" }
}environment din răspuns e cel mai bun mod de a confirma cu ce vorbești. E și prima cauză de confuzie: o cheie de sandbox răspunde 200 la tot, iar comenzile nu apar nicăieri în rapoarte — ceea ce arată o după-amiază întreagă ca un bug de raportare.
Codurile de test
Comportamentul lor este garantat și nu se schimbă. Poți scrie teste automate care se bazează pe ele.
| Cod | Ce face |
|---|---|
SANDBOX10 | 10% reducere, fără limite |
SANDBOX50 | 50 lei reducere, comandă minimă 200 |
SANDBOXSHIP | transport gratuit |
SANDBOXCAP | 20% reducere, plafonată la 40 lei |
SANDBOXEXPIRED | expirat — răspunde valid:false, reason:expired |
SANDBOXPAUSED | suspendat — reason:paused |
SANDBOXFULL | epuizat — reason:exhausted |
SANDBOXONCE | o singură utilizare per client |
SANDBOXFREE | 15% reducere, comision 0% |
SANDBOXSTALE | 10% reducere, dar validările expiră în 60 de secunde în loc de 30 de zile |
SANDBOXSTALE există pentru un singur motiv: testarea erorii validation_expired fără să aștepți o lună. Este și una dintre verificările pentru producție.
Valori magice
În sandbox, anumite valori ale comenzii declanșează comportamente pe care altfel nu le poți provoca:
| order_value | Ce se întâmplă |
|---|---|
999.99 | la redeem: răspuns 503 sandbox_failure, de fiecare dată, cu Retry-After. Nimic nu se scrie, deci reîncercarea e o reîncercare curată. |
Ce se întâmplă cu datele de test
Validările și comenzile din sandbox se șterg automat după 30 de zile. Nu apar în rapoarte, în deconturi, în facturi, și nu consumă din scanările incluse în abonament.
Colaboratorul inventat pentru codurile de test („Influencer de test”) trăiește tot în sandbox și nu apare niciodată într-o listă de plăți.
Mai departe
Contractul de integrare — cele patru reguli. Trecerea în producție — cele zece verificări. Cheile se administrează din aplicație.

