Resept: tarixçəni ixrac etmək və davamlı sinxron
Son yeniləmə: 11 noyabr 2026 · 10 dəq oxunur
Bu resept iki işi birləşdirir: workspace-in bütün tarixçəsini bir dəfə fayl kimi almaq və sonra öz bazanızı Clomni ilə daim uyğun saxlamaq. Başqa sistemə keçəndə, arxiv saxlayanda və ya analitika anbarını doldurmaq üçün işlədilir.
Addımlar
-
1
Nə alırsınız
- Söhbət, mesaj və kontaktlar bir gzip faylında, hər sətir bir obyekt.
- Sonra yalnız dəyişən obyektlər, bir neçə dəqiqə gecikmə ilə, istəsəniz webhook ilə dərhal.
- Server dayananda qaçan hadisələri son 30 gündən geri almaq imkanı.
-
2
Lazım olan scope-lar
exports:run(yüksək risk): toplu ixrac. Review-da məqsədi, faylın gedəcəyi sistemi, nə qədər tez-tez ixrac edəcəyinizi və faylı nə qədər saxlayıb necə siləcəyinizi yazın.- Davamlı sinxron üçün:
conversations:read,messages:read,contacts:read(orta risk). Yalnız lazım olan resursu götürün. - Qaçan hadisələr üçün:
events:read(orta risk), mövzunun oxuma scope-u ilə birlikdə.
«Məlumat ixracı» hazır dəsti
exports:runvəevents:read-i seçir. -
3
1. İxracı başladın
resourcesconversations,messages,contactsdəyərlərindən birini və ya bir neçəsini alır, yazılmasa üçü də ixrac olunur.sincevəuntilISO 8601 vaxtdır vəupdated_atüzrə süzür.curl -X POST "https://api.clomni.ai/v1/exports" \ -H "Authorization: Bearer clomni_pat_xxx" \ -H "Content-Type: application/json" \ -d '{"resources": ["conversations", "messages", "contacts"], "since": "2026-01-01T00:00:00Z", "until": "2026-11-01T00:00:00Z"}'Cavab
202 Acceptedvə işinid-sidir,status: "queued". -
4
2. Hazır olmasını gözləyin
Hər 15-30 saniyədən bir yoxlayın:
curl "https://api.clomni.ai/v1/exports/15" \ -H "Authorization: Bearer clomni_pat_xxx"
status:queued,running,done,failed.doneolanda cavabdadownload_urlvədownload_expires_atolur. Link 1 saat işləyir: vaxt keçibsə ixracı yenidən oxuyun, yeni link gələcək.failedolanda səbəberrorsahəsindədir. -
5
3. Faylı oxuyun
Fayl gzip ilə sıxılmış JSON Lines-dır: hər sətir
{"type": ..., "data": {...}}.typeconversation,messagevə yacontactolur,datasinxron endpoint-lərinin obyekti ilə eynidir. Faylı sətir-sətir oxuyun, bütöv yaddaşa yükləməyin:curl -s "$DOWNLOAD_URL" | gunzip | head -n 3
Mesajdakı
attachments[].urlqısa ömürlü linkdir. Fayllar lazımdırsa, ixrac hazır olan kimi endirin. Link köhnəlibsə, mesajıGET /v1/conversations/{conversation_id}/messagesilə yenidən oxuyub təzə link alın. -
6
4. Sonra yalnız dəyişənləri götürün
İxracı hər gün təkrarlamayın. Faylı yüklədikdən sonra sinxron endpoint-lərini işlədin:
curl "https://api.clomni.ai/v1/sync/messages?updated_since=2026-11-01T00:00:00Z&limit=100" \ -H "Authorization: Bearer clomni_pat_xxx"
GET /v1/sync/conversations,GET /v1/sync/messages,GET /v1/sync/contactsobyektləri(updated_at, id)sırası ilə qaytarır.- Növbəti səhifə üçün
next_cursor-uafterilə göndərin,has_more: falseolanda bitdi. - Ən böyük
updated_at-ı saxlayın, növbəti dəfə ondan 2 dəqiqə əvvəlki vaxtla başlayın, obyektləriidilə yazın. - 5-15 dəqiqədən bir işlətmək kifayətdir. Limit token üzrə dəqiqədə 60 sorğudur,
limit=100işlədin.
Yeni mesajı dərhal almaq üçün
message.createdwebhook-u əlavə edin, sinxron isə boşluğu doldursun. Bax: App webhook-ları və hadisələr: qurmaq, mövzular, imzanın yoxlanması. -
7
5. Qaçan hadisələri geri alın
Serveriniz dayanıbsa, son 30 günün hadisələrini lentdən webhook-dakı eyni
id-lərlə götürün:curl "https://api.clomni.ai/v1/events?types=message.created&limit=100" \ -H "Authorization: Bearer clomni_pat_xxx"
Hər mövzunun oxuma scope-u da lazımdır: təkcə
events:readboş siyahı qaytarır. Hadisələr yalnız workspace-də aktiv developer tokeni və ya quraşdırması olanda yazılır, token yaradılmamışdan əvvəlki hadisələr lentdə yoxdur. -
8
Hesabat paneli üçün
Power BI və ya başqa BI aləti üçün yalnız toplu rəqəmlər lazımdırsa, ixrac əvəzinə
reports:read(aşağı risk) işlədin: söhbət sayı, ilk cavab və həll müddəti, operator, inbox, komanda üzrə yekunlar. Vaxtlar Unix saniyəsi ilə verilir:curl "https://api.clomni.ai/v1/reports?metric=conversations_count&type=account&since=1793491200&until=1794096000&group_by=day&timezone_offset=4" \ -H "Authorization: Bearer clomni_pat_xxx"
Bütün hesabat endpoint-ləri: Scope-lar və endpoint-lər: hesabatlar, CSAT, SLA.
-
9
Limitlər və məlumatın qorunması
- Workspace üzrə eyni anda 1 ixrac işləyir: ikinci sorğu 409
conflictalır. - 24 saatda 6 ixrac: limit keçəndə 429
rate_limited. Avtomatik təkrar etməyin. - Tanınmayan resurs və ya səhv vaxt formatı 400
invalid_requestqaytarır. - Faylda müştərilərin şəxsi məlumatı və mesajları var. Şifrəli saxlayın, çıxışı məhdudlaşdırın, review-da yazdığınız müddətdən sonra silin. App silinəndə Clomni-dən alınmış məlumat 30 gün ərzində silinməlidir.
- Workspace üzrə eyni anda 1 ixrac işləyir: ikinci sorğu 409
-
10
Tez-tez səhvlər
- İxrac hər gün təkrarlanır və gündəlik limit bitir. Bir dəfə ixrac edin, sonra sinxron işlədin.
- Fayl bütöv yaddaşa yüklənir. Sətir-sətir oxuyun.
download_urlvaxtı keçəndən sonra işlədilir.GET /v1/exports/{export_id}yeni link verir.- Sinxron obyektində söhbətin
id-si panel nömrəsi sanılır. Daxili IDid-də, panel nömrəsinumber-də (mesajdaconversation_number) olur. /v1/sync/messages-inconversation_idparametrinə panel nömrəsi yazılır. Ora sinxron söhbət obyektinin daxiliid-si yazılır.- ISO 8601 və Unix saniyəsi qarışdırılır: sinxron və ixrac ISO 8601, köhnə siyahılar və hesabatlar Unix saniyəsi işlədir.
- Adi siyahılar (
GET /v1/conversations) səhifə-səhifə gəzilərək tam köçürülür. Səhifələr arasında sıra sürüşür, obyektlər itir və ya iki dəfə gəlir. Sinxron endpoint-lərini işlədin.
Bütün ixrac və hadisə endpoint-ləri: Scope-lar və endpoint-lər: zənglər, webhook-lar, hadisələr, ixrac.