Conector Intercom

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ă

ProprietateValoare
PlatformăIntercom
CategorieSuport
Complexitate configurareMedie
Integrare oficialăDa
Date sincronizateContacte, Conversații, Companii, Evenimente
URL de bază APIhttps://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:

  1. Un spațiu de lucru Intercom (plan Starter, Pro sau Premium)
  2. O aplicație Intercom cu token de acces (aplicație privată) sau OAuth configurat (aplicație publică)
  3. Un cont Brevo cu acces API
  4. Un cont Tajo

Autentificare

Token de acces (Aplicație privată)

Pentru integrări private care accesează datele propriului spațiu de lucru.

  1. Mergeți la Developer Hub > Your Apps > Create new app
  2. Asociați cu spațiul de lucru Intercom
  3. Copiați token-ul de acces
Terminal window
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.

Terminal window
# Authorization URL
https://app.intercom.com/oauth?client_id={client_id}&state={state}
# Token exchange
curl -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: 37

Mapare 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_USAGE

Puncte finale API

API Contacte

MetodăPunct finalDescriere
GET/contactsListează toate contactele
POST/contactsCreează un contact
PUT/contacts/{id}Actualizează un contact
GET/contacts/{id}Recuperează un contact
POST/contacts/searchCaută contacte
DELETE/contacts/{id}Arhivează un contact

API Conversații

MetodăPunct finalDescriere
GET/conversationsListează conversațiile
GET/conversations/{id}Recuperează o conversație
POST/conversationsCreează o conversație
POST/conversations/{id}/replyRăspunde la o conversație
POST/conversations/{id}/partsAdaugă o parte de conversație

API Companii

MetodăPunct finalDescriere
GET/companiesListează companiile
POST/companiesCreează sau actualizează o companie
GET/companies/{id}Recuperează o companie
GET/companies/{id}/contactsListează contactele companiei

API Evenimente

MetodăPunct finalDescriere
POST/eventsTrimite un eveniment
GET/events?type=user&intercom_user_id={id}Listează evenimentele utilizatorului

Evenimente

Evenimente conversații

EvenimentDeclanșatorCaz de utilizare
conversation.createdConversație nouă începutăAlertă tichet suport
conversation.closedConversație rezolvatăDeclanșator sondaj CSAT
conversation.rating.addedRating trimisUrmărire satisfacție
conversation.snoozedConversație amânatăProgramare follow-up

Evenimente contacte

EvenimentDeclanșatorCaz de utilizare
contact.createdContact nou adăugatSecvență de bun venit
contact.updatedDate contact modificateSincronizare atribute
contact.deletedContact arhivatCurățare
contact.tag.createdEtichetă adăugată la contactActualizare segment

Evenimente utilizatori

EvenimentDeclanșatorCaz de utilizare
user.createdUtilizator nou înregistratFlux de onboarding
user.email.updatedE-mail modificatCombinare contact
user.unsubscribedDezabonat de la e-mailuriActualizare 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 Intercom
await tajo.connectors.connect('intercom', {
accessToken: process.env.INTERCOM_ACCESS_TOKEN,
apiVersion: '2.11'
});

Sincronizare contacte și conversații

// Full sync of contacts and conversation data
await tajo.connectors.sync('intercom', {
type: 'full',
resources: ['contacts', 'conversations', 'companies'],
since: '2023-01-01'
});
// Check sync status
const 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.:

PlanLimită de ratăDetalii
Starter20 cereri/10 secundePer aplicație
Pro50 cereri/10 secundePer aplicație
Premium100 cereri/10 secundePer aplicație
Punct final căutare1 cerere/secundăPer aplicație
Punct final scroll1 cerere/minutPer 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 NeautorizatToken invalid sau expiratRegenerați token-ul de acces în Developer Hub
Contact nesincronizatCâmp e-mail lipsăLead-urile Intercom pot lipsi e-mailul; filtrați după rol
Date conversație goaleAplicației îi lipsesc scope-urile de conversațieRe-autorizați cu permisiunile de citire conversații
Webhook neprimitWebhook neînregistratConfigurați webhook-urile în setările Developer Hub
Nepotrivire versiune APISchimbă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: true

Testare conexiune

Terminal window
tajo connectors test intercom
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Conversations readable
# ✓ Companies readable
# ✓ Webhooks registered

Bune practici

  1. Fixați versiunea API - Specificați întotdeauna Intercom-Version pentru a evita schimbările de rupere
  2. Utilizați Search API eficient - Utilizați filtre și paginare pentru a reduce transferul de date
  3. Sincronizați atât utilizatorii cât și lead-urile - Capturați întreaga pâlnie în Brevo
  4. Mapați etichetele de conversații - Utilizați etichetele de conversații pentru segmentele de marketing post-suport
  5. Urmăriți evenimentele personalizate - Trimiteți evenimentele cheie de produs la Intercom pentru targetare comportamentală
  6. 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

Resurse conexe

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
Asistent AI

Bună! Întreabă-mă orice despre documentație.