Intercom konektor

Poveži Intercom radni prostor sa Brevo putem Tajo za unifikovane poruke kupcima, praćenje razgovora i marketing automatizaciju zasnovanu na angažovanju, pokretanu podacima o podršci i proizvodu.

Pregled

SvojstvoVrednost
PlatformaIntercom
KategorijaPodrška
Složenost podešavanjaSrednje
Zvanična integracijaDa
Sinhronizovani podaciKontakti, Razgovori, Kompanije, Događaji
Osnovni URL API-jahttps://api.intercom.io

Karakteristike

  • Sinhronizacija kontakata - Dvosmerna sinhronizacija Intercom korisnika i potencijalnih kupaca sa Brevo kontaktima
  • Praćenje razgovora - Sinhronizacija podataka o razgovorima za segmentaciju zasnovanu na podršci
  • Mapiranje kompanija - Povezivanje kontakata sa kompanijama za tokove rada zasnovane na nalogu
  • Prilagođeni atributi - Mapiranje Intercom prilagođenih atributa na Brevo polja kontakta
  • Praćenje događaja - Sinhronizacija prilagođenih događaja i aktivnosti korisnika za bihevioralno ciljanje
  • Sinhronizacija tagova - Mapiranje Intercom tagova na Brevo članstvo na listi ili atribute
  • Podaci Messengera - Praćenje angažovanja u aplikaciji i interakcija u čatu
  • Integracija AI agenta - Sinhronizacija ishoda razgovora AI agenta sa Brevo

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. Intercom radni prostor (Starter, Pro ili Premium plan)
  2. Intercom aplikaciju sa access tokenom (privatna aplikacija) ili konfigurisanim OAuth-om (javna aplikacija)
  3. Brevo nalog sa API pristupom
  4. Tajo nalog

Autentifikacija

Access Token (Privatna aplikacija)

Za privatne integracije koje pristupaju podacima tvog radnog prostora.

  1. Idi na Developer Hub > Your Apps > Create new app
  2. Poveži sa Intercom radnim prostorom
  3. Kopiraj access token
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 (Javna aplikacija)

Za integracije koje pristupaju Intercom podacima drugih kupaca.

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}"

Verzioniranje API-ja

Uvek uključi header Intercom-Version u zahteve. Tajo podrazumevano koristi API verziju 2.11. Proveri Intercom changelog za izmene koje remete kompatibilnost.

Konfiguracija

Osnovno podešavanje

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

Mapiranje polja

Mapiranje podataka Intercom kontakta na Brevo atribute kontakta:

Default Mappings

Parameter Type Description
email required
string

Email adresa kontakta (jedinstveni identifikator)

name optional
string

Puno ime, podeljeno na FIRSTNAME/LASTNAME

phone optional
string

Mapira se na SMS atribut za WhatsApp/SMS

role optional
string

Tip kontakta: user ili lead

company.name optional
string

Naziv povezane kompanije

signed_up_at optional
timestamp

Datum registracije korisnika

last_seen_at optional
timestamp

Vremenska oznaka poslednje aktivnosti

custom_attributes optional
object

Parovi ključ-vrednost prilagođenih atributa

Mapiranje prilagođenih atributa

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

API endpointi

Contacts API

MetodaEndpointOpis
GET/contactsListanje svih kontakata
POST/contactsKreiranje kontakta
PUT/contacts/{id}Ažuriranje kontakta
GET/contacts/{id}Dohvatanje kontakta
POST/contacts/searchPretraga kontakata
DELETE/contacts/{id}Arhiviranje kontakta

Conversations API

MetodaEndpointOpis
GET/conversationsListanje razgovora
GET/conversations/{id}Dohvatanje razgovora
POST/conversationsKreiranje razgovora
POST/conversations/{id}/replyOdgovor na razgovor
POST/conversations/{id}/partsDodavanje dela razgovora

Companies API

MetodaEndpointOpis
GET/companiesListanje kompanija
POST/companiesKreiranje ili ažuriranje kompanije
GET/companies/{id}Dohvatanje kompanije
GET/companies/{id}/contactsListanje kontakata kompanije

Events API

MetodaEndpointOpis
POST/eventsSlanje događaja
GET/events?type=user&intercom_user_id={id}Listanje korisničkih događaja

Događaji

Događaji razgovora

DogađajOkidačSlučaj upotrebe
conversation.createdPokrenut novi razgovorUpozorenje o tiketu podrške
conversation.closedRazgovor rešenOkidač CSAT ankete
conversation.rating.addedOcena dodataPraćenje zadovoljstva
conversation.snoozedRazgovor odloženZakazivanje praćenja

Događaji kontakta

DogađajOkidačSlučaj upotrebe
contact.createdDodat novi kontaktTok dobrodošlice
contact.updatedPodaci kontakta promenjeniSinhronizacija atributa
contact.deletedKontakt arhiviranČišćenje
contact.tag.createdTag dodat kontaktuAžuriranje segmenta

Korisnički događaji

DogađajOkidačSlučaj upotrebe
user.createdNovi korisnik se registrovaoTok onboardinga
user.email.updatedEmail promenjenSpajanje kontakata
user.unsubscribedOdjavljen od emailovaAžuriranje preferencija

Primeri koda

Inicijalizacija konektora

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'
});

Sinhronizacija kontakata i razgovora

// 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
// }

Obrada Intercom webhook-ova

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 primenjuje ograničenja brzine na osnovu tvog plana:

PlanOgraničenje brzineDetalji
Starter20 zahteva/10 sekundiPo aplikaciji
Pro50 zahteva/10 sekundiPo aplikaciji
Premium100 zahteva/10 sekundiPo aplikaciji
Search endpoint1 zahtev/sekundiPo aplikaciji
Scroll endpoint1 zahtev/minutiPo aplikaciji

Dodatni limiti:

  • Bulk operacije: 15 kontakata po bulk zahtevu
  • Slanje događaja: 500 događaja/sekundi po radnom prostoru
  • Isporuka webhook-ova: Automatski ponovni pokušaj 24 sata
  • Izvoz podataka: 1 istovremeni izvoz

Odgovor na ograničenje brzine

Intercom vraća 429 Too Many Requests sa headerom Retry-After. Implementiraj eksponencijalno usporavanje i poštuj prozor ponovnog pokušaja.

Rešavanje problema

Česti problemi

ProblemUzrokRešenje
401 UnauthorizedNevažeći ili istekli tokenRegeneriši access token u Developer Hub-u
Kontakt nije sinhronizovanNedostaje polje emailaIntercom potencijalni kupci možda nemaju email; filtriraj po ulozi
Podaci razgovora prazniAplikacija nema skop razgovoraPonovo autorizuj sa dozvolama za čitanje razgovora
Webhook nije primljenWebhook nije registrovanKonfiguriši webhook-ove u podešavanjima Developer Hub-a
Nepodudaranje verzije API-jaIzmene koje remete kompatibilnost u novoj verzijiPinuj verziju API-ja sa headerom Intercom-Version

Debug režim

Uključi detaljno logovanje:

connectors:
intercom:
debug: true
log_level: verbose
log_webhooks: true

Testiraj vezu

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

Najbolje prakse

  1. Pinuj verziju API-ja - Uvek navedi Intercom-Version da izbegneš izmene koje remete kompatibilnost
  2. Efikasno koristi Search API - Koristi filtere i paginaciju da smanjiš prenos podataka
  3. Sinhronizuj i korisnike i potencijalne kupce - Uhvati ceo tok u Brevo
  4. Mapiraj tagove razgovora - Koristi tagove razgovora za segmente marketinga nakon podrške
  5. Prati prilagođene događaje - Slaj ključne događaje proizvoda u Intercom za bihevioralno ciljanje
  6. Obradi spajanja kontakata - Implementiraj logiku spajanja za duplirane kontakte

Bezbednost

  • Access Token - Bearer token autentifikacija za privatne aplikacije
  • OAuth 2.0 - Delegirana autorizacija za javne aplikacije sa tajnom klijenta
  • Verifikacija webhook-ova - HMAC SHA-1 validacija potpisa putem X-Hub-Signature
  • TLS enkripcija - Sva API komunikacija enkriptovana putem HTTPS
  • Kontrole pristupa podacima - Granuliran pristup podacima po konfiguraciji aplikacije

Povezani resursi

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здраво! Питајте ме о документацији.