Conector Intercom
Starea conectorului: Planificat Încă neconstruit. Tajo nu rulează astăzi acest conector.
Ilustrație · date de exemplu
Exemplu de sincronizare
Sursă
Intercom
Starea conectorului: Planificat
Destinație
Celălalt instrument al tău
Starea conectorului: Instrument personalizat
Maparea câmpurilor
| Câmp sursă | Câmp destinație | Valoare exemplu |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Ciornă
- Verifică o înregistrare
- Aprobă această versiune
Stările se referă la fiecare conector și nu garantează că această sincronizare este pregătită. Câmpurile sunt ilustrative. Verifică schema și permisiunile reale înainte de sincronizare.
Conectați spațiul de lucru Intercom la Brevo prin Tajo pentru mesagerie unificată a clienților, urmărirea conversațiilor și automatizare de marketing bazată pe implicare, alimentată de datele de suport și produs.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | Intercom |
| Categorie | Suport |
| Complexitate configurare | Medie |
| Integrare oficială | Nu |
| Date sincronizate | Contacte, Conversații, Companii, Evenimente |
| URL de bază API | https://api.intercom.io |
Funcționalități
- Sincronizare contacte - Sincronizare bidirecțională a utilizatorilor și lead-urilor Intercom cu contactele Brevo
- Urmărire conversații - Sincronizați datele conversațiilor pentru segmentarea bazată pe suport
- Mapare companii - Asociați contactele cu companiile pentru fluxuri de lucru bazate pe cont
- Atribute personalizate - Mapați atributele personalizate Intercom la câmpurile de contact Brevo
- Urmărire evenimente - Sincronizați evenimentele personalizate și activitățile utilizatorilor pentru targetare comportamentală
- Sincronizare etichete - Mapați etichetele Intercom la apartenența la liste sau atribute Brevo
- Date Messenger - Urmăriți implicarea în mesageria în-app și interacțiunile de chat
- Integrare agent AI - Sincronizați rezultatele conversațiilor agentului AI cu Brevo
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un spațiu de lucru Intercom (plan Starter, Pro sau Premium)
- O aplicație Intercom cu token de acces (aplicație privată) sau OAuth configurat (aplicație publică)
- Un cont Brevo cu acces API
- Un cont Tajo
Autentificare
Token de acces (Aplicație privată)
Pentru integrări private care accesează datele propriului spațiu de lucru.
- Mergeți la Developer Hub > Your Apps > Create new app
- Asociați cu spațiul de lucru Intercom
- Copiați token-ul de acces
curl https://api.intercom.io/contacts \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json" \ -H "Intercom-Version: 2.11"OAuth 2.0 (Aplicație publică)
Pentru integrări care accesează datele Intercom ale altor clienți.
# 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}"Versionare API
Includeți întotdeauna antetul Intercom-Version în cererile dvs. Tajo utilizează versiunea API 2.11 implicit. Verificați jurnalul de modificări Intercom pentru schimbări de rupere.
Configurare
Configurare de bază
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: 37Mapare câmpuri
Mapați datele de contact Intercom la atributele de contact Brevo:
Mapări implicite
| Parameter | Type | Description |
|---|---|---|
email required | string | Adresa de e-mail a contactului (identificator unic) |
name optional | string | Nume complet, împărțit în FIRSTNAME/LASTNAME |
phone optional | string | Mapează la atributul SMS pentru WhatsApp/SMS |
role optional | string | Tipul contactului: utilizator sau lead |
company.name optional | string | Numele companiei asociate |
signed_up_at optional | timestamp | Data înregistrării utilizatorului |
last_seen_at optional | timestamp | Ultima marcă temporală de activitate |
custom_attributes optional | object | Perechi cheie-valoare ale atributelor personalizate |
Mapare atribute personalizate
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_USAGEPuncte finale API
API Contacte
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /contacts | Listează toate contactele |
POST | /contacts | Creează un contact |
PUT | /contacts/{id} | Actualizează un contact |
GET | /contacts/{id} | Recuperează un contact |
POST | /contacts/search | Caută contacte |
DELETE | /contacts/{id} | Arhivează un contact |
API Conversații
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /conversations | Listează conversațiile |
GET | /conversations/{id} | Recuperează o conversație |
POST | /conversations | Creează o conversație |
POST | /conversations/{id}/reply | Răspunde la o conversație |
POST | /conversations/{id}/parts | Adaugă o parte de conversație |
API Companii
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /companies | Listează companiile |
POST | /companies | Creează sau actualizează o companie |
GET | /companies/{id} | Recuperează o companie |
GET | /companies/{id}/contacts | Listează contactele companiei |
API Evenimente
| Metodă | Punct final | Descriere |
|---|---|---|
POST | /events | Trimite un eveniment |
GET | /events?type=user&intercom_user_id={id} | Listează evenimentele utilizatorului |
Evenimente
Evenimente conversații
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
conversation.created | Conversație nouă începută | Alertă tichet suport |
conversation.closed | Conversație rezolvată | Declanșator sondaj CSAT |
conversation.rating.added | Rating trimis | Urmărire satisfacție |
conversation.snoozed | Conversație amânată | Programare follow-up |
Evenimente contacte
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
contact.created | Contact nou adăugat | Secvență de bun venit |
contact.updated | Date contact modificate | Sincronizare atribute |
contact.deleted | Contact arhivat | Curățare |
contact.tag.created | Etichetă adăugată la contact | Actualizare segment |
Evenimente utilizatori
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
user.created | Utilizator nou înregistrat | Flux de onboarding |
user.email.updated | E-mail modificat | Combinare contact |
user.unsubscribed | Dezabonat de la e-mailuri | Actualizare preferințe |
Exemple de cod
Inițializare conector
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'});Sincronizare contacte și conversații
// 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// }Gestionare webhook-uri 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');});Limite de rată
Intercom aplică limite de rată în funcție de planul dvs.:
| Plan | Limită de rată | Detalii |
|---|---|---|
| Starter | 20 cereri/10 secunde | Per aplicație |
| Pro | 50 cereri/10 secunde | Per aplicație |
| Premium | 100 cereri/10 secunde | Per aplicație |
| Punct final căutare | 1 cerere/secundă | Per aplicație |
| Punct final scroll | 1 cerere/minut | Per aplicație |
Limite suplimentare:
- Operații bulk: 15 contacte per cerere bulk
- Trimiteri evenimente: 500 evenimente/secundă per spațiu de lucru
- Livrare webhook: Reîncercare automată timp de 24 de ore
- Export date: 1 export concurent
Răspuns limită de rată
Intercom returnează 429 Too Many Requests cu un antet Retry-After. Implementați backoff exponențial și respectați fereastra de reîncercare.
Depanare
Probleme frecvente
| Problemă | Cauză | Soluție |
|---|---|---|
| 401 Neautorizat | Token invalid sau expirat | Regenerați token-ul de acces în Developer Hub |
| Contact nesincronizat | Câmp e-mail lipsă | Lead-urile Intercom pot lipsi e-mailul; filtrați după rol |
| Date conversație goale | Aplicației îi lipsesc scope-urile de conversație | Re-autorizați cu permisiunile de citire conversații |
| Webhook neprimit | Webhook neînregistrat | Configurați webhook-urile în setările Developer Hub |
| Nepotrivire versiune API | Schimbări de rupere în versiunea nouă | Fixați versiunea API cu antetul Intercom-Version |
Modul de depanare
Activați jurnalizarea verbosă:
connectors: intercom: debug: true log_level: verbose log_webhooks: trueTestare conexiune
tajo connectors test intercom# ✓ API connection successful# ✓ Contacts readable# ✓ Conversations readable# ✓ Companies readable# ✓ Webhooks registeredBune practici
- Fixați versiunea API - Specificați întotdeauna
Intercom-Versionpentru a evita schimbările de rupere - Utilizați Search API eficient - Utilizați filtre și paginare pentru a reduce transferul de date
- Sincronizați atât utilizatorii cât și lead-urile - Capturați întreaga pâlnie în Brevo
- Mapați etichetele de conversații - Utilizați etichetele de conversații pentru segmentele de marketing post-suport
- Urmăriți evenimentele personalizate - Trimiteți evenimentele cheie de produs la Intercom pentru targetare comportamentală
- Gestionați combinările de contacte - Implementați logică de combinare pentru contactele duplicate
Securitate
- Token de acces - Autentificare cu token bearer pentru aplicațiile private
- OAuth 2.0 - Autorizare delegată pentru aplicațiile publice cu secret client
- Verificare webhook - Validare semnătură HMAC SHA-1 prin
X-Hub-Signature - Criptare TLS - Toate comunicațiile API criptate prin HTTPS
- Controale acces date - Acces granular la date per configurație aplicație