Intercom Connector
Poveži delovni prostor Intercom z Brevo prek Tajo za enotno sporočanje s strankami, sledenje pogovorom in marketinško avtomatizacijo na osnovi angažiranosti, ki jo napajajo tvoji podatki podpore in produkta.
Pregled
| Lastnost | Vrednost |
|---|---|
| Platforma | Intercom |
| Kategorija | Support |
| Zahtevnost nastavitve | Srednja |
| Uradna integracija | Da |
| Sinhronizirani podatki | Stiki, pogovori, podjetja, dogodki |
| Osnovni URL API | https://api.intercom.io |
Funkcionalnosti
- Sinhronizacija stikov – dvosmerna sinhronizacija uporabnikov in potencialnih strank Intercom s stiki Brevo
- Sledenje pogovorom – sinhroniziraj podatke pogovorov za segmentacijo na osnovi podpore
- Preslikava podjetij – povezi stike s podjetji za delovne tokove na osnovi računov
- Atributi po meri – preslikaj atribute po meri Intercom v polja stikov Brevo
- Sledenje dogodkom – sinhroniziraj dogodke po meri in aktivnosti uporabnikov za vedenjsko ciljanje
- Sinhronizacija oznak – preslikaj oznake Intercom v članstvo v seznamih Brevo ali atribute
- Podatki Messenger – sledi angažiranosti sporočanja v aplikaciji in interakcijam pogovora
- Integracija agenta AI – sinhroniziraj izide pogovorov agenta AI z Brevo
Predpogoji
Preden začneš, se prepričaj, da imaš:
- Delovni prostor Intercom (plan Starter, Pro ali Premium)
- Aplikacijo Intercom z žetonom za dostop (zasebna aplikacija) ali konfigurirano OAuth (javna aplikacija)
- Brevo račun z dostopom do API
- Tajo račun
Avtentikacija
Žeton za dostop (zasebna aplikacija)
Za zasebne integracije, ki dostopajo do podatkov tvojega lastnega delovnega prostora.
- Pojdi na Developer Hub > Your Apps > Create new app
- Povezi z delovnim prostorom Intercom
- Kopiraj žeton za dostop
curl https://api.intercom.io/contacts \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json" \ -H "Intercom-Version: 2.11"OAuth 2.0 (javna aplikacija)
Za integracije, ki dostopajo do podatkov Intercom drugih strank.
# Authorization URLhttps://app.intercom.com/oauth?client_id={client_id}&state={state}
# Token exchangecurl -X POST https://api.intercom.io/auth/eagle/token \ -d "client_id={client_id}" \ -d "client_secret={client_secret}" \ -d "code={auth_code}"Verzioniranje API
V svoje zahtevke vedno vključi glavo Intercom-Version. Tajo privzeto uporablja API različico 2.11. Preveri dnevnik sprememb Intercom za naslednje spremembe.
Konfiguracija
Osnovna nastavitev
connectors: intercom: enabled: true access_token: "${INTERCOM_ACCESS_TOKEN}" api_version: "2.11"
# Data sync options sync: contacts: true conversations: true companies: true events: true tags: true
# Sync direction direction: intercom_to_brevo
# Brevo list assignment lists: all_users: 35 active_conversations: 36 leads: 37Preslikava polj
Preslikaj podatke stikov Intercom v atribute stikov Brevo:
Privzete preslikave
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailni naslov stika (enolični identifikator) |
name optional | string | Polno ime, razdeli v FIRSTNAME/LASTNAME |
phone optional | string | Preslika se v atribut SMS za WhatsApp/SMS |
role optional | string | Vrsta stika: user (uporabnik) ali lead (potencialna stranka) |
company.name optional | string | Ime povezanega podjetja |
signed_up_at optional | timestamp | Datum registracije uporabnika |
last_seen_at optional | timestamp | Časovni žig zadnje aktivnosti |
custom_attributes optional | object | Pari ključ-vrednost atributov po meri |
Preslikava atributov po meri
field_mapping: # Standard fields email: email name: FULLNAME phone: SMS
# Engagement fields signed_up_at: SIGNUP_DATE last_seen_at: LAST_ACTIVE session_count: SESSION_COUNT unsubscribed_from_emails: UNSUBSCRIBED
# Company fields company.name: COMPANY_NAME company.plan: COMPANY_PLAN company.size: COMPANY_SIZE
# Custom attributes custom_attributes.plan_tier: PLAN_TIER custom_attributes.feature_usage: FEATURE_USAGEKončne točke API
Contacts API
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /contacts | Seznam vseh stikov |
POST | /contacts | Ustvarjanje stika |
PUT | /contacts/{id} | Posodobi stik |
GET | /contacts/{id} | Pridobi stik |
POST | /contacts/search | Iskanje stikov |
DELETE | /contacts/{id} | Arhiviraj stik |
Conversations API
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /conversations | Seznam pogovorov |
GET | /conversations/{id} | Pridobi pogovor |
POST | /conversations | Ustvarjanje pogovora |
POST | /conversations/{id}/reply | Odgovori na pogovor |
POST | /conversations/{id}/parts | Dodaj del pogovora |
Companies API
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /companies | Seznam podjetij |
POST | /companies | Ustvari ali posodobi podjetje |
GET | /companies/{id} | Pridobi podjetje |
GET | /companies/{id}/contacts | Seznam stikov podjetja |
Events API
| Metoda | Končna točka | Opis |
|---|---|---|
POST | /events | Pošlji dogodek |
GET | /events?type=user&intercom_user_id={id} | Seznam dogodkov uporabnika |
Dogodki
Dogodki pogovorov
| Dogodek | Sprožilec | Primer uporabe |
|---|---|---|
conversation.created | Začet nov pogovor | Opozorilo o zahtevku za podporo |
conversation.closed | Pogovor rešen | Sprožitev ankete CSAT |
conversation.rating.added | Oddana ocena | Sledenje zadovoljstvu |
conversation.snoozed | Pogovor odložen | Načrtovanje nadaljnjega ukrepanja |
Dogodki stikov
| Dogodek | Sprožilec | Primer uporabe |
|---|---|---|
contact.created | Dodan nov stik | Pozdravno zaporedje |
contact.updated | Spremenjeni podatki stika | Sinhronizacija atributov |
contact.deleted | Stik arhiviran | Čiščenje |
contact.tag.created | Oznaka dodana stiku | Posodobitev segmenta |
Dogodki uporabnikov
| Dogodek | Sprožilec | Primer uporabe |
|---|---|---|
user.created | Registriran nov uporabnik | Tok uvajanja |
user.email.updated | Spremenjen e-mail | Združevanje stikov |
user.unsubscribed | Odjava od e-mailov | Posodobitev nastavitev |
Primeri kode
Inicializacija konektorja
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Intercomawait tajo.connectors.connect('intercom', { accessToken: process.env.INTERCOM_ACCESS_TOKEN, apiVersion: '2.11'});Sinhronizacija stikov in pogovorov
// Full sync of contacts and conversation dataawait tajo.connectors.sync('intercom', { type: 'full', resources: ['contacts', 'conversations', 'companies'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('intercom');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 14200,// conversationsSynced: 28400,// companiesSynced: 2100// }Obravnava webhooks 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');});Omejitve hitrosti
Intercom uveljavlja omejitve hitrosti glede na tvoj plan:
| Plan | Omejitev hitrosti | Podrobnosti |
|---|---|---|
| Starter | 20 zahtevkov/10 sekund | Na aplikacijo |
| Pro | 50 zahtevkov/10 sekund | Na aplikacijo |
| Premium | 100 zahtevkov/10 sekund | Na aplikacijo |
| Končna točka iskanja | 1 zahtevek/sekundo | Na aplikacijo |
| Končna točka drsenja | 1 zahtevek/minuto | Na aplikacijo |
Dodatne omejitve:
- Množične operacije: 15 stikov na množičen zahtevek
- Pošiljanje dogodkov: 500 dogodkov/sekundo na delovni prostor
- Dostava webhooks: Samodejni ponovni poskus 24 ur
- Izvoz podatkov: 1 vzporeden izvoz
Odgovor na omejitev hitrosti
Intercom vrne 429 Too Many Requests z glavo Retry-After. Implementiraj eksponentni odlog in upoštevaj okno ponovnega poskusa.
Odpravljanje težav
Pogoste težave
| Težava | Vzrok | Rešitev |
|---|---|---|
| 401 Unauthorized | Neveljaven ali potekel žeton | Znova ustvari žeton za dostop v Developer Hub |
| Stik ni sinhroniziran | Manjkajoče polje e-mail | Potencialne stranke Intercom morda nimajo e-maila; filtriraj po vlogi |
| Podatki pogovorov prazni | Aplikacija nima obsega pogovora | Znova avtoriziraj z dovoljenji za branje pogovorov |
| Webhook ni prejet | Webhook ni registriran | Nastavi webhooks v nastavitvah Developer Hub |
| Neujemanje različice API | Spremembe v novi različici | Pripni različico API z glavo Intercom-Version |
Način odpravljanja napak
Omogoči podrobno beleženje:
connectors: intercom: debug: true log_level: verbose log_webhooks: truePreizkus povezave
tajo connectors test intercom# ✓ API connection successful# ✓ Contacts readable# ✓ Conversations readable# ✓ Companies readable# ✓ Webhooks registeredNajboljše prakse
- Pripni različico API – vedno navedi
Intercom-Version, da se izogneš naslednjim spremembam - Učinkovito uporabljaj Search API – za zmanjšanje prenosa podatkov uporabi filtre in paginacijo
- Sinhroniziraj tako uporabnike kot potencialne stranke – zajemi celoten lijak v Brevo
- Preslikaj oznake pogovorov – oznake pogovorov uporabi za segmente marketinga po podpori
- Sledi dogodkom po meri – ključne produktne dogodke pošlji v Intercom za vedenjsko ciljanje
- Obravnavaj združevanje stikov – implementiraj logiko združevanja za podvojene stike
Varnost
- Žeton za dostop – avtentikacija z žetonom Bearer za zasebne aplikacije
- OAuth 2.0 – delegirana avtorizacija za javne aplikacije s skrivnostjo odjemalca
- Preverjanje webhooks – preverjanje podpisa HMAC SHA-1 prek
X-Hub-Signature - TLS šifriranje – vsa komunikacija API šifrirana prek HTTPS
- Nadzor dostopa do podatkov – granularni dostop do podatkov na konfiguracijo aplikacije