Freshdesk конектор

Свържи Freshdesk с Brevo през Tajo, за да унифицираш support и маркетингови данни. Синхронизирай клиентски support тикети, контактни профили и CSAT скорове, за да захраниш таргетирани комуникации на базата на support взаимодействия.

Преглед

СвойствоСтойност
ПлатформаFreshdesk
КатегорияПоддръжка
Сложност на настройкаЛесна
Официална интеграцияНе
Синхронизирани данниТикети, контакти, агенти, компании
Налични скилове6

Функции

  • Синхронизация на контакти – Двупосочна синхронизация на Freshdesk контакти към списъци с контакти в Brevo
  • Проследяване на събития от тикети – Препращай събития за създаване, обновяване и решаване на тикети към Brevo
  • Синхронизация на CSAT – Синхронизирай оценките за клиентска удовлетвореност като атрибути на контактите в Brevo
  • Синхронизация на компании – Мапвай Freshdesk компании към сегментация на контактите в Brevo
  • Данни за агенти – Проследявай присвояванията на агенти за вътрешна автоматизация на работни потоци
  • Персонализирани полета – Мапвай персонализирани полета на тикети и контакти от Freshdesk към атрибути в Brevo

Предварителни условия

Преди да започнеш, увери се, че имаш:

  1. Freshdesk акаунт с администраторски достъп
  2. Твоя Freshdesk API ключ (намира се в Profile Settings)
  3. Твоя Freshdesk домейн (напр. yourcompany.freshdesk.com)
  4. Акаунт в Brevo с API достъп
  5. Акаунт в Tajo с API credentials

Автентикация

Автентикация с API ключ

Freshdesk използва автентикация с API ключ чрез HTTP Basic Auth. API ключът се използва като username с произволен низ (обикновено X) като парола.

Terminal window
curl -u "YOUR_API_KEY:X" \
https://yourcompany.freshdesk.com/api/v2/tickets

Или с използване на Base64 encoding в хедъра Authorization:

Terminal window
curl https://yourcompany.freshdesk.com/api/v2/tickets \
-H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \
-H "Content-Type: application/json"

Намиране на твоя API ключ

  1. Влез в своя Freshdesk акаунт
  2. Щракни върху профилната си снимка в горния десен ъгъл
  3. Отиди в Profile Settings
  4. Твоят API ключ се показва от дясната страна

Конфигурация

Основна настройка

connectors:
freshdesk:
enabled: true
domain: "yourcompany.freshdesk.com"
api_key: "your-freshdesk-api-key"
# Data sync options
sync:
contacts: true
tickets: true
companies: true
satisfaction_ratings: true
# Brevo list assignment
lists:
all_support_contacts: 30
open_tickets: 31
resolved_tickets: 32

Мапване на полета на контакти

Мапвай Freshdesk полета на контакти към атрибути в Brevo:

contact_mapping:
email: email
name: FULLNAME
phone: SMS
company_id: COMPANY
job_title: JOB_TITLE
twitter_id: TWITTER
language: LANGUAGE
time_zone: TIMEZONE
# Support metrics
total_tickets: TICKET_COUNT
open_tickets: OPEN_TICKETS
avg_csat: CSAT_SCORE
last_ticket_date: LAST_SUPPORT_DATE
# Custom fields
custom_fields.account_type: ACCOUNT_TYPE
custom_fields.subscription_tier: PLAN

Мапване на събития от тикети

Мапвай Freshdesk събития от тикети към Brevo automation тригери:

ticket_events:
ticket_created: "support_ticket_created"
ticket_updated: "support_ticket_updated"
ticket_resolved: "support_ticket_resolved"
ticket_closed: "support_ticket_closed"
ticket_reopened: "support_ticket_reopened"
satisfaction_rated: "csat_submitted"
note_added: "support_note_added"

API крайни точки

МетодКрайна точкаОписание
GET/api/v2/ticketsСписък с всички тикети
POST/api/v2/ticketsСъздаване на тикет
GET/api/v2/tickets/{id}Получаване на конкретен тикет
PUT/api/v2/tickets/{id}Обновяване на тикет
DELETE/api/v2/tickets/{id}Изтриване на тикет
GET/api/v2/contactsСписък с всички контакти
POST/api/v2/contactsСъздаване на контакт
PUT/api/v2/contacts/{id}Обновяване на контакт
GET/api/v2/companiesСписък с всички компании
GET/api/v2/agentsСписък с всички агенти
GET/api/v2/surveys/satisfaction_ratingsСписък с CSAT оценки
GET/api/v2/search/tickets?query=Търсене на тикети

Примери с код

Инициализация на Freshdesk конектор

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Freshdesk account
await tajo.connectors.connect('freshdesk', {
domain: 'yourcompany.freshdesk.com',
apiKey: process.env.FRESHDESK_API_KEY
});

Синхронизация на контакти към Brevo

// Fetch Freshdesk contacts and sync to Brevo
const response = await fetch(
'https://yourcompany.freshdesk.com/api/v2/contacts?page=1&per_page=100',
{
headers: {
'Authorization': 'Basic ' + btoa(`${API_KEY}:X`),
'Content-Type': 'application/json'
}
}
);
const contacts = await response.json();
// Each contact:
// {
// "id": 12345,
// "name": "Jane Kim",
// "email": "[email protected]",
// "phone": "+15551234567",
// "company_id": 678,
// "job_title": "Product Manager",
// "created_at": "2024-01-15T10:30:00Z"
// }

Проследяване на събития от тикети

// Set up Freshdesk webhook to forward ticket events
// Configure in Freshdesk Admin > Automations > Webhook
// Webhook handler
app.post('/webhooks/freshdesk', async (req, res) => {
const { ticket, event_type } = req.body;
await tajo.connectors.handleWebhook('freshdesk', {
topic: event_type,
payload: {
ticketId: ticket.id,
subject: ticket.subject,
status: ticket.status,
priority: ticket.priority,
requesterEmail: ticket.requester.email,
createdAt: ticket.created_at
}
});
res.status(200).send('OK');
});

Търсене на тикети по клиент

// Search for all tickets from a specific customer
const query = encodeURIComponent('"email:[email protected]"');
const response = await fetch(
`https://yourcompany.freshdesk.com/api/v2/search/tickets?query=${query}`,
{
headers: {
'Authorization': 'Basic ' + btoa(`${API_KEY}:X`)
}
}
);
const { results, total } = await response.json();

Ограничения на заявките

ПланЛимитДетайли
Sprout50 заявки/минFree план
Blossom200 заявки/минStarter план
Garden400 заявки/минGrowth план
Estate700 заявки/минPro план
Forest1 000 заявки/минEnterprise план

Допълнителни лимити:

РесурсЛимит
List крайни точки30 страници на заявка
На страница100 записа макс
Search API2 заявки/сек
Пакетни операции10 записа/заявка

Хедъри за rate limit

Freshdesk връща информация за rate limit в хедърите на отговора. Мониторирай X-RateLimit-Remaining и внедри backoff при приближаване на лимитите.

Отстраняване на проблеми

ПроблемПричинаРешение
401 UnauthorizedНевалиден API ключПровери API ключа в Freshdesk Profile Settings
403 ForbiddenНедостатъчни разрешенияУвери се, че API ключът принадлежи на admin акаунт
Контактите не се синхронизиратЛипсва email полеFreshdesk контактите изискват имейл адрес
Тикетите не се появяватГрешен домейнПровери дали Freshdesk URL-ът на домейна е правилен
Search връща празноСинтактична грешка в заявкатаИзползвай Freshdesk search query синтаксиса с двойни кавички
429 Too Many RequestsПревишен rate limitВнедри rate limiting на базата на ниво на план
Липсващи персонализирани полетаПолето не е активираноУвери се, че персонализираните полета са активирани в Freshdesk admin

Добри практики

  1. Използвай уебхуци за синхронизация в реално време – Конфигурирай Freshdesk Automations да задействат уебхуци при събития от тикети
  2. Синхронизирай CSAT скорове – Проследявай клиентските оценки за удовлетвореност като атрибути в Brevo за сегментация
  3. Мапвай ticket status към списъци – Автоматично премествай контактите между Brevo списъци на базата на ticket статус
  4. Проследявай support метрики – Синхронизирай брой тикети, средно време за отговор и rate на решаване на контакт
  5. Използвай search API пестеливо – Search API има по-строги rate limits; кеширай резултатите, когато е възможно
  6. Пагинирай големи експорти – Използвай пагинация с параметри page и per_page за първоначална синхронизация

Сигурност

  • Автентикация с API ключ – Прост HTTP Basic Auth с API ключ
  • Само HTTPS – Цялата API комуникация изисква TLS криптиране
  • IP whitelisting – Достъпно на Estate и Forest планове
  • Достъп на базата на роли – Разрешенията на API ключа са обвързани с ролята на агента
  • SOC 2 Type II – Freshdesk е SOC 2 Type II сертифициран
  • GDPR съвместимост – Поддържа заявки за експорт и изтриване на данни

Свързани ресурси

Subscribe to updates

developer-docs

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

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

Здравейте! Попитайте ме за документацията.