Pornire rapidă
O cheie, un prim apel și un prim webhook: atât este nevoie pentru a începe.
1. Crearea unei chei
În Apex, deschideți meniul contului și alegeți API și webhookuri. Cheile pot fi create de Superutilizatorul contului sau de un Administrator; tot ei văd jurnalul de apeluri și webhookurile. Dacă dezvoltatorul creează singur cheia și citește singur jurnalul, are nevoie de rolul de Administrator în contul companiei.
Fiecare companie are o cheie de test cu acces complet și o cheie live cu acces complet, plus oricâte chei de raport cu nume, care citesc doar contul și rapoartele de campanie și pot fi revocate pe rând. După crearea unei noi chei live, cea veche mai funcționează 7 zile; după aceea, apelurile făcute cu ea primesc 401 api_key_expired, deci atât timp aveți la dispoziție pentru schimbare. O cheie aparține creatorului ei și funcționează cu accesul acestuia. Dacă creatorul părăsește echipa sau pierde rolul de Administrator, cheia rămâne, dar fiecare apel primește 403 api_key_creator_inactive, până când Superutilizatorul sau un Administrator o preia la API și webhookuri; valoarea cheii rămâne aceeași.
2. Primul apel
Verificați cheia: GET /v1/account arată cărei companii îi aparține, cine a creat-o și dacă rulează în mod live sau de test (livemode). În exemple, cheia vine din variabila de mediu TRENDIZZ_KEY.
curl "https://api.trendizz.com/v1/account" \ -H "Authorization: Bearer $TRENDIZZ_KEY"
3. Primul webhook
Creați un endpoint cu POST /v1/webhook-endpoints: indicați propria adresă https și tipurile de evenimente dorite. Secretul de semnare (whsec_…) este inclus în răspuns o singură dată, așa că păstrați-l. POST /v1/webhook-endpoints/{id}/test trimite un eveniment de test, astfel încât puteți încerca verificarea semnăturii și cu o cheie de test.
curl -X POST "https://api.trendizz.com/v1/webhook-endpoints" \
-H "Authorization: Bearer $TRENDIZZ_KEY" \
-H "Idempotency-Key: my-request-1" \
-H "Content-Type: application/json" \
-d '{
"url": "https://crm.acme.example/hooks/trendizz",
"events": [
"positive_response.created",
"suppression.created"
],
"description": "CRM sync"
}'