Konektor Intercom
Propojte svůj pracovní prostor Intercom s Brevo přes Tajo pro sjednocenou zákaznickou komunikaci, sledování konverzací a marketingovou automatizaci řízenou zapojením využívající data podpory a produktu.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | Intercom |
| Kategorie | Podpora |
| Složitost nastavení | Střední |
| Oficiální integrace | Ano |
| Synchronizovaná data | Kontakty, Konverzace, Společnosti, Události |
| Základní URL API | https://api.intercom.io |
Funkce
- Synchronizace kontaktů – Obousměrná synchronizace uživatelů a potenciálních zákazníků Intercom s kontakty Brevo
- Sledování konverzací – Synchronizujte data konverzací pro segmentaci řízenou podporou
- Mapování společností – Přiřazujte kontakty ke společnostem pro pracovní toky na základě účtů
- Vlastní atributy – Mapujte vlastní atributy Intercom na pole kontaktů Brevo
- Sledování událostí – Synchronizujte vlastní události a aktivity uživatelů pro behaviorální cílení
- Synchronizace štítků – Mapujte štítky Intercom na členství v seznamech Brevo nebo atributy
- Data Messenger – Sledujte zapojení v in-app komunikaci a chatové interakce
- Integrace AI agenta – Synchronizujte výsledky konverzací AI agenta s Brevo
Předpoklady
Než začnete, ujistěte se, že máte:
- Pracovní prostor Intercom (plán Starter, Pro nebo Premium)
- Aplikaci Intercom s přístupovým tokenem (soukromá aplikace) nebo nakonfigurovaný OAuth (veřejná aplikace)
- Účet Brevo s přístupem k API
- Účet Tajo
Ověření
Přístupový token (Soukromá aplikace)
Pro soukromé integrace přistupující k datům vlastního pracovního prostoru.
- Přejděte do Developer Hub > Vaše aplikace > Vytvořit novou aplikaci
- Přiřaďte ke svému pracovnímu prostoru Intercom
- Zkopírujte přístupový token
curl https://api.intercom.io/contacts \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json" \ -H "Intercom-Version: 2.11"OAuth 2.0 (Veřejná aplikace)
Pro integrace přistupující k datům Intercom jiných zákazníků.
# Autorizační URLhttps://app.intercom.com/oauth?client_id={client_id}&state={state}
# Výměna tokenůcurl -X POST https://api.intercom.io/auth/eagle/token \ -d "client_id={client_id}" \ -d "client_secret={client_secret}" \ -d "code={auth_code}"Verzování API
Vždy zahrňte hlavičku Intercom-Version do svých požadavků. Tajo ve výchozím nastavení používá API verzi 2.11. Zkontrolujte protokol změn Intercom pro zpětně nekompatibilní změny.
Konfigurace
Základní nastavení
connectors: intercom: enabled: true access_token: "${INTERCOM_ACCESS_TOKEN}" api_version: "2.11"
# Možnosti synchronizace dat sync: contacts: true conversations: true companies: true events: true tags: true
# Směr synchronizace direction: intercom_to_brevo
# Přiřazení seznamů Brevo lists: all_users: 35 active_conversations: 36 leads: 37Mapování polí
Mapujte data kontaktů Intercom na atributy kontaktů Brevo:
Výchozí mapování
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailová adresa kontaktu (jedinečný identifikátor) |
name optional | string | Celé jméno, rozdělené na FIRSTNAME/LASTNAME |
phone optional | string | Mapuje se na atribut SMS pro WhatsApp/SMS |
role optional | string | Typ kontaktu: uživatel nebo potenciální zákazník |
company.name optional | string | Název přidružené společnosti |
signed_up_at optional | timestamp | Datum registrace uživatele |
last_seen_at optional | timestamp | Časová značka poslední aktivity |
custom_attributes optional | object | Páry klíč-hodnota vlastních atributů |
Mapování vlastních atributů
field_mapping: # Standardní pole email: email name: FULLNAME phone: SMS
# Pole zapojení signed_up_at: SIGNUP_DATE last_seen_at: LAST_ACTIVE session_count: SESSION_COUNT unsubscribed_from_emails: UNSUBSCRIBED
# Pole společnosti company.name: COMPANY_NAME company.plan: COMPANY_PLAN company.size: COMPANY_SIZE
# Vlastní atributy custom_attributes.plan_tier: PLAN_TIER custom_attributes.feature_usage: FEATURE_USAGEKoncové body API
API kontaktů
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /contacts | Výpis všech kontaktů |
POST | /contacts | Vytvoření kontaktu |
PUT | /contacts/{id} | Aktualizace kontaktu |
GET | /contacts/{id} | Načtení kontaktu |
POST | /contacts/search | Vyhledávání kontaktů |
DELETE | /contacts/{id} | Archivace kontaktu |
API konverzací
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /conversations | Výpis konverzací |
GET | /conversations/{id} | Načtení konverzace |
POST | /conversations | Vytvoření konverzace |
POST | /conversations/{id}/reply | Odpověď na konverzaci |
POST | /conversations/{id}/parts | Přidání části konverzace |
API společností
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /companies | Výpis společností |
POST | /companies | Vytvoření nebo aktualizace společnosti |
GET | /companies/{id} | Načtení společnosti |
GET | /companies/{id}/contacts | Výpis kontaktů společnosti |
API událostí
| Metoda | Koncový bod | Popis |
|---|---|---|
POST | /events | Odeslání události |
GET | /events?type=user&intercom_user_id={id} | Výpis událostí uživatele |
Události
Události konverzací
| Událost | Spouštěč | Případ použití |
|---|---|---|
conversation.created | Zahájení nové konverzace | Upozornění na tiket podpory |
conversation.closed | Vyřešení konverzace | Spouštěč průzkumu CSAT |
conversation.rating.added | Odeslání hodnocení | Sledování spokojenosti |
conversation.snoozed | Odložení konverzace | Plánování follow-upu |
Události kontaktů
| Událost | Spouštěč | Případ použití |
|---|---|---|
contact.created | Přidán nový kontakt | Uvítací sekvence |
contact.updated | Změna dat kontaktu | Synchronizace atributů |
contact.deleted | Archivace kontaktu | Úklid |
contact.tag.created | Přidán štítek ke kontaktu | Aktualizace segmentu |
Události uživatelů
| Událost | Spouštěč | Případ použití |
|---|---|---|
user.created | Registrace nového uživatele | Onboardingový tok |
user.email.updated | Změna e-mailu | Sloučení kontaktů |
user.unsubscribed | Odhlášení z e-mailů | Aktualizace preferencí |
Příklady kódu
Inicializace konektoru
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Připojení Intercomawait tajo.connectors.connect('intercom', { accessToken: process.env.INTERCOM_ACCESS_TOKEN, apiVersion: '2.11'});Synchronizace kontaktů a konverzací
// Úplná synchronizace kontaktů a dat konverzacíawait tajo.connectors.sync('intercom', { type: 'full', resources: ['contacts', 'conversations', 'companies'], since: '2023-01-01'});
// Kontrola stavu synchronizaceconst status = await tajo.connectors.status('intercom');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 14200,// conversationsSynced: 28400,// companiesSynced: 2100// }Zpracování webhooků Intercom
import crypto from 'crypto';
app.post('/webhooks/intercom', async (req, res) => { const signature = req.get('X-Hub-Signature'); const expectedSig = 'sha1=' + crypto .createHmac('sha1', process.env.INTERCOM_CLIENT_SECRET) .update(JSON.stringify(req.body)) .digest('hex');
if (signature !== expectedSig) { return res.status(401).send('Unauthorized'); }
await tajo.connectors.handleWebhook('intercom', { topic: req.body.topic, data: req.body.data });
res.status(200).send('OK');});Omezení rychlosti
Intercom aplikuje limity rychlosti na základě vašeho plánu:
| Plán | Limit rychlosti | Podrobnosti |
|---|---|---|
| Starter | 20 požadavků/10 sekund | Na aplikaci |
| Pro | 50 požadavků/10 sekund | Na aplikaci |
| Premium | 100 požadavků/10 sekund | Na aplikaci |
| Koncový bod vyhledávání | 1 požadavek/sekundu | Na aplikaci |
| Koncový bod scroll | 1 požadavek/minutu | Na aplikaci |
Další limity:
- Hromadné operace: 15 kontaktů na hromadný požadavek
- Odeslání událostí: 500 událostí/sekundu na pracovní prostor
- Doručení webhooků: Automatické opakování po dobu 24 hodin
- Export dat: 1 souběžný export
Odpověď při limitu rychlosti
Intercom vrací 429 Too Many Requests s hlavičkou Retry-After. Implementujte exponenciální zpětné odběrání a respektujte okno opakování.
Řešení problémů
Časté problémy
| Problém | Příčina | Řešení |
|---|---|---|
| 401 Unauthorized | Neplatný nebo vypršelý token | Znovu vygenerujte přístupový token v Developer Hub |
| Kontakt se nesynchronizoval | Chybějící pole e-mail | Potenciální zákazníci Intercom mohou postrádat e-mail; filtrujte podle role |
| Data konverzací prázdná | Aplikaci chybí rozsah konverzací | Znovu autorizujte s oprávněním pro čtení konverzací |
| Webhook nebyl přijat | Webhook není zaregistrován | Nakonfigurujte webhooky v nastavení Developer Hub |
| Neshoda verzí API | Zpětně nekompatibilní změny v nové verzi | Připněte verzi API s hlavičkou Intercom-Version |
Režim ladění
Povolte podrobné protokolování:
connectors: intercom: debug: true log_level: verbose log_webhooks: trueTest připojení
tajo connectors test intercom# ✓ Připojení API úspěšné# ✓ Kontakty čitelné# ✓ Konverzace čitelné# ✓ Společnosti čitelné# ✓ Webhooky zaregistroványOsvědčené postupy
- Připněte verzi API – Vždy specifikujte
Intercom-Versionpro zabránění zpětně nekompatibilním změnám - Efektivně používejte Search API – Používejte filtry a stránkování pro snížení přenosu dat
- Synchronizujte uživatele i potenciální zákazníky – Zachyťte celý trychtýř v Brevo
- Mapujte štítky konverzací – Používejte štítky konverzací pro marketingové segmenty po podpoře
- Sledujte vlastní události – Odesílejte klíčové produktové události do Intercomu pro behaviorální cílení
- Zpracovávejte sloučení kontaktů – Implementujte logiku sloučení pro duplicitní kontakty
Zabezpečení
- Přístupový token – Ověřování Bearer tokenem pro soukromé aplikace
- OAuth 2.0 – Delegovaná autorizace pro veřejné aplikace s client secret
- Ověření webhooků – Ověření podpisu HMAC SHA-1 přes
X-Hub-Signature - Šifrování TLS – Veškerá komunikace API šifrovaná přes HTTPS
- Řízení přístupu k datům – Granulární přístup k datům podle konfigurace aplikace