Când ceva nu merge, nu trebuie să ne trimiți capturi de ecran și nici să reconstitui din logurile tale ce ai trimis. Fiecare apel către API-ul Calisero primește un trace ID unic, iar cu el ai acces la tot ce s-a înregistrat pentru acel apel: cererea exactă, răspunsul exact, timpii, mesajele create, livrarea și callback-urile trimise serverului tău.
Unde găsești trace ID-ul
- în antetul
X-Trace-Idal fiecărui răspuns API, de succes sau de eroare; - în corpul oricărui răspuns de eroare, în câmpul
trace_id; - în dashboard, pe pagina fiecărui log API, a fiecărui mesaj și a fiecărui callback.
Un răspuns de eroare arată așa:
{
"message": "The sender is invalid or is not approved.",
"errors": {
"sender": ["The sender is invalid or is not approved."]
},
"trace_id": "9b80eef1-49d4-4502-85a8-febb68cc11a7"
}
Recomandarea noastră: scrie trace ID-ul în logurile aplicației tale, lângă fiecare apel. Când un client îți spune că n-a primit un SMS, ai imediat de unde porni.
Urmărește tot fluxul
În dashboard, la Dezvoltatori → Debug, lipești trace ID-ul și vezi întreaga poveste a cererii, în ordinea în care s-a întâmplat. Merge și cu ID-ul unui mesaj, al unei verificări OTP, al unui callback sau al unui log API: ți se arată cererea din care face parte.
Pagina are două părți:
- Pe scurt — etapele cererii, fiecare cu starea și momentul ei: cererea API, mesajele create, livrarea (livrate, eșuate, în curs) și callback-urile;
- Tot ce s-a înregistrat — fiecare înregistrare în ordine cronologică, cu link către detaliul complet.
Ai acces la tot
Din Debug deschizi orice înregistrare și vezi detaliul complet:
- Cererea API — metoda, endpoint-ul, corpul trimis de tine exact cum a ajuns la noi, cheia API folosită, user-agent-ul și momentul;
- Răspunsul API — codul HTTP, corpul răspunsului și, la erorile de validare, câmpul cu problema și motivul;
- Timpii — durata fiecărui apel API și a fiecărui callback, plus momentul fiecărei etape: creare, trimitere, livrare, callback;
- Mesajul — destinatarul, textul, expeditorul, numărul de părți, statusul și istoricul lui;
- Callback-urile — URL-ul apelat, payload-ul trimis, codul și corpul răspunsului primit de la serverul tău, durata și, dacă apelul a eșuat, eroarea de conexiune;
- comanda cURL — pentru o cerere API, gata de rulat în terminal, ca să reproduci apelul exact.
Datele sensibile (cheia API, parolele) sunt mascate în loguri.
Cum depanezi, pas cu pas
- Ia trace ID-ul din răspuns sau din logurile tale.
- Deschide-l în Debug. Uită-te la „Pe scurt”: etapa marcată cu roșu îți spune unde s-a oprit cererea.
- Cererea a fost refuzată (4xx)? Deschide logul API: răspunsul spune ce câmp e greșit și de ce. Compară corpul trimis cu ce credeai că trimiți — de cele mai multe ori diferența e acolo.
- Mesajul a fost creat, dar nu s-a livrat? Deschide mesajul: statusul și codul de eroare îți spun motivul. Vezi și ghidul despre livrările eșuate.
- Callback-ul nu a ajuns la tine? Deschide callback-ul: vezi ce a răspuns serverul tău (cod, corp, durată) sau de ce nu s-a putut conecta.
- Ai corectat? Copiază comanda cURL, modific-o și repetă apelul. Noul răspuns are propriul trace ID.
Când scrii la suport
Trimite-ne trace ID-ul. Este tot ce ne trebuie ca să găsim cererea, fără date personale și fără presupuneri.
Cât timp se păstrează
Logurile cererilor și ale callback-urilor se păstrează un număr limitat de zile — pagina de Debug îți spune câte. Mesajele rămân.