Educațional

Depanare cu trace ID: tot ce s-a întâmplat cu o cerere

· 5 min. de citit

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-Id al 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

  1. Ia trace ID-ul din răspuns sau din logurile tale.
  2. Deschide-l în Debug. Uită-te la „Pe scurt”: etapa marcată cu roșu îți spune unde s-a oprit cererea.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Alte articole relevante

Toate articolele