Cheia cu care tool-ul găsește competitorii și scrie observațiile din raport. O cheie nouă se salvează doar dacă Anthropic o acceptă la un apel de test, și intră în folosință în cel mult un minut — fără Vercel, fără redeploy. După salvare vezi doar începutul și finalul ei.
Se încarcă…
Resend ne anunță printr-un webhook când un mail trimis de Radar e livrat, deschis, are un click, e respins sau marcat spam. Fără configurarea de aici, API-ul de mailuri răspunde „necunoscut” la deschideri, nu „nedeschis”.
Se încarcă…
email.delivered, email.opened, email.clicked,
email.bounced, email.complained.whsec_) și salvează-l aici.—
Pentru colegii care au nevoie de leaduri sau de rapoarte în tool-ul lor, fără cont în admin. Bifezi doar ce le trebuie: o cheie de rapoarte consumă buget Apify (max 20 de rapoarte pe zi per cheie). Cheia se arată o singură dată, la generare — în baza de date rămâne doar amprenta ei. Dacă se pierde, generezi alta și o revoci pe cea veche.
Se încarcă…
Asta e tot ce trebuie să-i trimiți colegului, împreună cu cheia.
Endpoint
—
Autentificare — cheia se trimite în header:
—
Dacă tool-ul lui nu poate seta headere, merge și ?key=CHEIA
în URL — dar atunci cheia ajunge în log-uri de proxy și în istoricul
browserului. Headerul e varianta bună.
Formate
JSON implicit. Pentru CSV, adaugă ?format=csv — util dacă
tool-ul lui importă direct fișiere.
Ce conține fiecare lead
| Adresa lăsată în tool. | |
| status | confirmat dacă a confirmat emailul, altfel neconfirmat. |
| heat | hot / warm / cold — aceeași formulă ca în tabul Leads. |
| newsletter | Starea consimțământului: abonat, dezabonat, refuzat, inainte-de-bifa sau necunoscut. Se respectă înainte de orice campanie. |
| requested_account | Contul de TikTok pentru care a cerut auditul. |
| report_url | Link direct la raportul lui. |
| reports_count | Câte rapoarte a generat. |
| first_seen / last_seen | Prima și ultima interacțiune, ISO 8601. |
| sessions | Câte sesiuni pe rapoarte are. |
| max_active_seconds | Cel mai lung timp activ pe un raport, în secunde. |
| max_scroll_pct | Cât la sută din raport a derulat, maxim. |
| calendar_clicks / cta_clicks | Click-uri pe calendar și pe CTA-ul de contact. |
Cere un raport, primește un ID, revine după câteva minute și citește tot raportul în JSON. Cheia trebuie să aibă „Generează rapoarte" bifat.
1. Pornește raportul
—
competitors e opțional (max 10). Dacă lipsește, raportul își găsește
singur primii 5 competitori, ca landing-ul. Dacă un competitor trimis nu există
pe TikTok, e înlocuit cu următorul cel mai relevant. Răspunsul vine imediat, cu
202 și id-ul jobului.
2. Verifică starea și citește raportul
—
Generarea durează de obicei 1–4 minute (cu discovery, câteva minute în plus).
Interoghează la 30–60 de secunde până când status devine
done sau failed.
Ce conține răspunsul
| status | pending / running / done / failed. |
| stage | discover (caută competitori) sau analyze (generează raportul). |
| competitors | Conturile folosite în raport; competitors_source: cerere, descoperiti sau cerere+descoperiti. |
| competitors_not_found / competitors_added | Competitorii trimiși care nu există pe TikTok și conturile cu care au fost înlocuiți (următorii cei mai relevanți). competitors_requested = lista trimisă inițial. |
| report_url | Raportul HTML, deschis fără email — se poate trimite direct prospectului. |
| report | Doar la done: tot raportul în JSON (metrici, clasamente, observații AI, videouri). |
| error | Doar la failed: motivul, în clar. |
Rapoartele generate prin API apar în admin, la Rapoarte, marcate „🔌 API · numele cheii".
Tot ce a trimis Radarul: cui, când, ce mail și conținutul exact, așa cum a plecat. Merge cu aceeași cheie ca leadurile („Citește leaduri și mailurile trimise").
Lista mailurilor, cele mai noi primele
—
Tot ce a primit un lead
—
Filtre, toate opționale: email, type, status
(trimis / eroare / incert), since și until
(dată ISO 8601), limit (implicit 100, max 500).
Pentru pagina următoare trimite before= cu valoarea next_before
din răspuns; când e null, nu mai urmează nimic.
Cu content=0 lista vine fără HTML și text, iar un singur mail cu tot
conținutul se citește la /api/tiktok/v1/emails/{id}.
Tipurile de mail
| reluare | Și-a lăsat emailul, dar n-a ajuns la raport. Pleacă a doua zi. |
| rezumat | A deschis raportul și a stat puțin (sub 2 minute sau sub 50%). Pleacă a doua zi. |
| discutie | A citit raportul (peste 3 minute și peste 60%). Invitație de la Cristi; răspunsurile ajung la el. |
| lunar | Raportul refăcut lunar pentru abonați, cu ce s-a schimbat. |
| lista-interna | Lista zilnică către echipă cu cine a citit raportul ieri. |
Ce conține fiecare mail
| id | Numărul mailului în jurnal. |
| sent_at | Când a plecat, ISO 8601 (UTC). |
| to | Destinatarul. |
| type / type_label | Tipul, ca mai sus, și descrierea lui. |
| subject / from / reply_to | Subiectul, expeditorul și adresa la care vin răspunsurile. |
| status / error | trimis dacă Resend l-a acceptat; eroare dacă l-a refuzat (n-a plecat), cu motivul; incert dacă Resend n-a răspuns la timp (poate a plecat, nu se retrimite). |
| tiktok_account / report_url | Contul și raportul despre care e mailul. |
| html / text | Conținutul exact, în ambele variante. |
| resend_id | ID-ul mailului în Resend. |
| engagement | Ce s-a întâmplat după trimitere: delivered_at,
opened, opens, first_opened_at, last_opened_at,
clicked, clicks, first_clicked_at,
bounced_at (respins), complained_at (marcat spam),
last_event. null = nu știm (urmărirea nu era pornită când
a plecat mailul), nu „nedeschis”. |
Răspunsul are și tracking: enabled și since,
momentul de la care se urmăresc mailurile.
Apar doar mailurile plecate cu adevărat: în modul test din admin nu pleacă nimic, deci nici nu apare aici. „Trimis” înseamnă acceptat de Resend. Deschiderile sunt orientative: Apple Mail și unele filtre de securitate încarcă pixelul automat (deschidere fără om), iar cine blochează imaginile deschide fără să fie numărat. Un click e semnalul sigur.