Intercom Konektor
Povežite vaš Intercom radni prostor s Brevom putem Taja za ujedinjeno korisničko dopisivanje, praćenje razgovora i marketinšku automatizaciju vođenu angažmanom na temelju vaših podataka o podršci i proizvodu.
Pregled
| Svojstvo | Vrijednost |
|---|---|
| Platforma | Intercom |
| Kategorija | Podrška |
| Složenost postavljanja | Srednje |
| Službena integracija | Da |
| Sinkronizirani podaci | Kontakti, Razgovori, Tvrtke, Događaji |
| Osnovni URL API-ja | https://api.intercom.io |
Značajke
- Sinkronizacija kontakata - Dvosmjerna sinkronizacija Intercom korisnika i potencijalnih klijenata s Brevo kontaktima
- Praćenje razgovora - Sinkronizacija podataka o razgovorima za segmentaciju vođenu podrškom
- Mapiranje tvrtki - Povezivanje kontakata s tvrtkama za tijekove rada temeljene na računima
- Prilagođeni atributi - Mapiranje Intercom prilagođenih atributa na Brevo polja kontakata
- Praćenje događaja - Sinkronizacija prilagođenih događaja i aktivnosti korisnika za bihevioralno ciljanje
- Sinkronizacija oznaka - Mapiranje Intercom oznaka na Brevo članstva na popisu ili atribute
- Podaci Messengera - Praćenje angažmana u aplikacijskom dopisivanju i chat interakcija
- Integracija AI agenta - Sinkronizacija ishoda razgovora s AI agentom s Brevom
Preduvjeti
Prije nego što počnete, osigurajte da imate:
- Intercom radni prostor (Starter, Pro ili Premium plan)
- Intercom aplikaciju s pristupnim tokenom (privatna aplikacija) ili konfiguriran OAuth (javna aplikacija)
- Brevo račun s API pristupom
- Tajo račun
Autentifikacija
Pristupni token (privatna aplikacija)
Za privatne integracije koje pristupaju podacima vašeg radnog prostora.
- Idite na Developer Hub > Vaše aplikacije > Kreiraj novu aplikaciju
- Povežite s vašim Intercom radnim prostorom
- Kopirajte pristupni 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 (javna aplikacija)
Za integracije koje pristupaju Intercom podacima других kupaca.
# URL za autorizacijuhttps://app.intercom.com/oauth?client_id={client_id}&state={state}
# Razmjena tokenacurl -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-ja
Uvijek uključite zaglavlje Intercom-Version u vaše zahtjeve. Tajo po zadanom koristi API verziju 2.11. Provjerite Intercom dnevnik promjena za lomljive promjene.
Konfiguracija
Osnovna konfiguracija
connectors: intercom: enabled: true access_token: "${INTERCOM_ACCESS_TOKEN}" api_version: "2.11"
# Opcije sinkronizacije podataka sync: contacts: true conversations: true companies: true events: true tags: true
# Smjer sinkronizacije direction: intercom_to_brevo
# Dodjela Brevo popisa lists: all_users: 35 active_conversations: 36 leads: 37Mapiranje polja
Mapirajte podatke Intercom kontakata na Brevo atribute kontakata:
Zadana mapiranja
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail adresa kontakta (jedinstveni identifikator) |
name optional | string | Puno ime, podijeljeno na FIRSTNAME/LASTNAME |
phone optional | string | Mapira se na SMS atribut za WhatsApp/SMS |
role optional | string | Vrsta kontakta: korisnik ili potencijalni klijent |
company.name optional | string | Naziv povezane tvrtke |
signed_up_at optional | timestamp | Datum registracije korisnika |
last_seen_at optional | timestamp | Vremenska oznaka zadnje aktivnosti |
custom_attributes optional | object | Parovi ključ-vrijednost prilagođenih atributa |
Mapiranje prilagođenih atributa
field_mapping: # Standardna polja email: email name: FULLNAME phone: SMS
# Polja angažmana signed_up_at: SIGNUP_DATE last_seen_at: LAST_ACTIVE session_count: SESSION_COUNT unsubscribed_from_emails: UNSUBSCRIBED
# Polja tvrtke company.name: COMPANY_NAME company.plan: COMPANY_PLAN company.size: COMPANY_SIZE
# Prilagođeni atributi custom_attributes.plan_tier: PLAN_TIER custom_attributes.feature_usage: FEATURE_USAGEAPI krajnje točke
API kontakata
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /contacts | Popis svih kontakata |
POST | /contacts | Kreiraj kontakt |
PUT | /contacts/{id} | Ažuriraj kontakt |
GET | /contacts/{id} | Dohvati kontakt |
POST | /contacts/search | Pretraži kontakte |
DELETE | /contacts/{id} | Arhiviraj kontakt |
API razgovora
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /conversations | Popis razgovora |
GET | /conversations/{id} | Dohvati razgovor |
POST | /conversations | Kreiraj razgovor |
POST | /conversations/{id}/reply | Odgovori na razgovor |
POST | /conversations/{id}/parts | Dodaj dio razgovora |
API tvrtki
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /companies | Popis tvrtki |
POST | /companies | Kreiraj ili ažuriraj tvrtku |
GET | /companies/{id} | Dohvati tvrtku |
GET | /companies/{id}/contacts | Popis kontakata tvrtke |
API događaja
| Metoda | Krajnja točka | Opis |
|---|---|---|
POST | /events | Pošalji događaj |
GET | /events?type=user&intercom_user_id={id} | Popis korisničkih događaja |
Događaji
Događaji razgovora
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
conversation.created | Pokrenut novi razgovor | Upozorenje za zahtjev podrške |
conversation.closed | Razgovor riješen | Okidač CSAT ankete |
conversation.rating.added | Dostavljeno ocjenjivanje | Praćenje zadovoljstva |
conversation.snoozed | Razgovor odgođen | Zakazivanje praćenja |
Događaji kontakata
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
contact.created | Dodan novi kontakt | Sekvenca dobrodošlice |
contact.updated | Promijenjeni podaci kontakta | Sinkronizacija atributa |
contact.deleted | Arhiviran kontakt | Čišćenje |
contact.tag.created | Oznaka dodana kontaktu | Ažuriranje segmenta |
Korisnički događaji
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
user.created | Novi korisnik registriran | Tijek onboardinga |
user.email.updated | E-mail promijenjen | Spajanje kontakta |
user.unsubscribed | Odjavio se od e-mailova | Ažuriranje preferencija |
Primjeri koda
Inicijalizacija konektora
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Povežite Intercomawait tajo.connectors.connect('intercom', { accessToken: process.env.INTERCOM_ACCESS_TOKEN, apiVersion: '2.11'});Sinkronizacija kontakata i razgovora
// Potpuna sinkronizacija kontakata i podataka o razgovorimaawait tajo.connectors.sync('intercom', { type: 'full', resources: ['contacts', 'conversations', 'companies'], since: '2023-01-01'});
// Provjera statusa sinkronizacijeconst status = await tajo.connectors.status('intercom');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 14200,// conversationsSynced: 28400,// companiesSynced: 2100// }Rukovanje Intercom webhookovima
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');});Ograničenja brzine
Intercom primjenjuje ograničenja brzine na temelju vašeg plana:
| Plan | Ograničenje brzine | Detalji |
|---|---|---|
| Starter | 20 zahtjeva/10 sekundi | Po aplikaciji |
| Pro | 50 zahtjeva/10 sekundi | Po aplikaciji |
| Premium | 100 zahtjeva/10 sekundi | Po aplikaciji |
| Krajnja točka za pretraživanje | 1 zahtjev/sekunda | Po aplikaciji |
| Krajnja točka za pomicanje | 1 zahtjev/minuta | Po aplikaciji |
Dodatna ograničenja:
- Skupne operacije: 15 kontakata po skupnom zahtjevu
- Slanje događaja: 500 događaja/sekundi po radnom prostoru
- Dostava webhookova: Automatski ponovni pokušaj 24 sata
- Izvoz podataka: 1 istovremeni izvoz
Odgovor na ograničenje brzine
Intercom vraća 429 Too Many Requests sa zaglavljem Retry-After. Implementirajte eksponencijalni povratak i poštujte prozor ponovnog pokušaja.
Rješavanje problema
Uobičajeni problemi
| Problem | Uzrok | Rješenje |
|---|---|---|
| 401 Unauthorized | Nevažeći ili istekli token | Regenerirajte pristupni token u Developer Hubu |
| Kontakt nije sinkroniziran | Nedostaje polje e-maila | Intercom potencijalni klijenti mogu nemati e-mail; filtrirajte po ulozi |
| Podaci o razgovorima prazni | Aplikacija nema opseg razgovora | Reautorizirajte s dozvolama čitanja razgovora |
| Webhook nije primljen | Webhook nije registriran | Konfigurirajte webhookove u postavkama Developer Huba |
| Nepodudaranje verzije API-ja | Lomljive promjene u novoj verziji | Zaključajte verziju API-ja zaglavljem Intercom-Version |
Način otklanjanja grešaka
Omogućite detaljno zapisivanje:
connectors: intercom: debug: true log_level: verbose log_webhooks: trueTestiranje veze
tajo connectors test intercom# ✓ API veza uspješna# ✓ Kontakti čitljivi# ✓ Razgovori čitljivi# ✓ Tvrtke čitljive# ✓ Webhookovi registriraniPreporučene prakse
- Zaključajte verziju API-ja - Uvijek navedite
Intercom-Versionkako biste izbjegli lomljive promjene - Učinkovito koristite Search API - Koristite filtre i paginaciju za smanjenje prijenosa podataka
- Sinkronizirajte i korisnike i potencijalne klijente - Snimite cijeli lijevak u Brevo
- Mapirajte oznake razgovora - Koristite oznake razgovora za segmente post-podrške marketinga
- Pratite prilagođene događaje - Pošaljite ključne događaje proizvoda Intercomu za bihevioralno ciljanje
- Rukujte spajanjima kontakata - Implementirajte logiku spajanja za duplikat kontakte
Sigurnost
- Pristupni token - Bearer token autentifikacija za privatne aplikacije
- OAuth 2.0 - Delegirana autorizacija za javne aplikacije s tajnom klijenta
- Verifikacija webhookova - HMAC SHA-1 provjera potpisa putem
X-Hub-Signature - TLS šifriranje - Sva API komunikacija šifrirana putem HTTPS-a
- Kontrole pristupa podacima - Granularni pristup podacima po konfiguraciji aplikacije