Conector de Freshdesk

Conecta Freshdesk con Brevo a través de Tajo para unificar los datos de soporte y marketing. Sincroniza tickets de soporte al cliente, perfiles de contacto y puntuaciones de satisfacción para impulsar comunicaciones segmentadas basadas en las interacciones de soporte.

Resumen

PropiedadValor
PlataformaFreshdesk
CategoríaSoporte
Complejidad de configuraciónFácil
Integración oficialNo
Datos sincronizadosTickets, Contactos, Agentes, Empresas
Skills disponibles6

Funcionalidades

  • Sincronización de contactos - Sincronización bidireccional de los contactos de Freshdesk con las listas de contactos de Brevo
  • Seguimiento de eventos de tickets - Reenvía los eventos de creación, actualización y resolución de tickets a Brevo
  • Sincronización de CSAT - Sincroniza las puntuaciones de satisfacción del cliente como atributos de contacto en Brevo
  • Sincronización de empresas - Asocia las empresas de Freshdesk con la segmentación de contactos en Brevo
  • Datos de agentes - Registra las asignaciones de agentes para la automatización de flujos internos
  • Campos personalizados - Asocia campos personalizados de tickets y contactos de Freshdesk con atributos de Brevo

Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Una cuenta de Freshdesk con acceso de administrador
  2. Tu clave API de Freshdesk (disponible en Profile Settings)
  3. Tu dominio de Freshdesk (por ejemplo, yourcompany.freshdesk.com)
  4. Una cuenta de Brevo con acceso a la API
  5. Una cuenta de Tajo con credenciales de API

Autenticación

Autenticación con clave API

Freshdesk usa autenticación mediante clave API a través de HTTP Basic Auth. La clave API se usa como nombre de usuario con cualquier cadena (normalmente X) como contraseña.

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

O usando codificación Base64 en la cabecera Authorization:

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

Encontrar tu clave API

  1. Inicia sesión en tu cuenta de Freshdesk
  2. Haz clic en tu foto de perfil en la esquina superior derecha
  3. Ve a Profile Settings
  4. Tu clave API se muestra en el lado derecho

Configuración

Configuración básica

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

Asignación de campos de contacto

Asocia los campos de contacto de Freshdesk con atributos de 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

Asignación de eventos de tickets

Asocia los eventos de tickets de Freshdesk con disparadores de automatización en Brevo:

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"

Endpoints de la API

MétodoEndpointDescripción
GET/api/v2/ticketsListar todos los tickets
POST/api/v2/ticketsCrear un ticket
GET/api/v2/tickets/{id}Obtener un ticket concreto
PUT/api/v2/tickets/{id}Actualizar un ticket
DELETE/api/v2/tickets/{id}Eliminar un ticket
GET/api/v2/contactsListar todos los contactos
POST/api/v2/contactsCrear un contacto
PUT/api/v2/contacts/{id}Actualizar un contacto
GET/api/v2/companiesListar todas las empresas
GET/api/v2/agentsListar todos los agentes
GET/api/v2/surveys/satisfaction_ratingsListar valoraciones CSAT
GET/api/v2/search/tickets?query=Buscar tickets

Ejemplos de código

Inicializar el conector de 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
});

Sincronizar contactos con 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"
// }

Registrar eventos de tickets

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

Buscar tickets por cliente

// 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();

Límites de velocidad

PlanLímiteDetalles
Sprout50 peticiones/minPlan gratuito
Blossom200 peticiones/minPlan Starter
Garden400 peticiones/minPlan Growth
Estate700 peticiones/minPlan Pro
Forest1.000 peticiones/minPlan Enterprise

Límites adicionales:

RecursoLímite
Endpoints de listado30 páginas por consulta
Por página100 registros máx.
API de búsqueda2 peticiones/seg
Operaciones en lote10 registros/petición

Cabeceras de límite de velocidad

Freshdesk devuelve información del límite de velocidad en las cabeceras de respuesta. Monitoriza X-RateLimit-Remaining e implementa backoff cuando te acerques a los límites.

Resolución de problemas

ProblemaCausaSolución
401 UnauthorizedClave API no válidaVerifica la clave API en Profile Settings de Freshdesk
403 ForbiddenPermisos insuficientesAsegúrate de que la clave API pertenece a una cuenta de administrador
Contactos que no se sincronizanCampo de email ausenteLos contactos de Freshdesk requieren una dirección de email
Tickets que no aparecenDominio incorrectoVerifica que la URL del dominio de Freshdesk es correcta
La búsqueda devuelve vacíoError de sintaxis en la consultaUsa la sintaxis de búsqueda de Freshdesk con comillas dobles
429 Too Many RequestsLímite de velocidad superadoImplementa limitación de velocidad según el nivel del plan
Campos personalizados ausentesCampo no habilitadoAsegúrate de que los campos personalizados están habilitados en el admin de Freshdesk

Buenas prácticas

  1. Usa webhooks para sincronización en tiempo real - Configura Freshdesk Automations para activar webhooks en los eventos de tickets
  2. Sincroniza puntuaciones CSAT - Registra las valoraciones de satisfacción del cliente como atributos de Brevo para segmentación
  3. Asocia el estado de tickets a listas - Mueve automáticamente contactos entre listas de Brevo según el estado del ticket
  4. Registra métricas de soporte - Sincroniza el número de tickets, el tiempo medio de respuesta y la tasa de resolución por contacto
  5. Usa la API de búsqueda con moderación - La API de búsqueda tiene límites de velocidad más estrictos; cachea los resultados cuando sea posible
  6. Pagina exportaciones grandes - Usa la paginación con los parámetros page y per_page para la sincronización inicial

Seguridad

  • Autenticación con clave API - HTTP Basic Auth sencillo con clave API
  • Solo HTTPS - Toda la comunicación con la API requiere cifrado TLS
  • Lista blanca de IP - Disponible en los planes Estate y Forest
  • Acceso basado en roles - Los permisos de la clave API están ligados al rol del agente
  • SOC 2 Type II - Freshdesk está certificado SOC 2 Type II
  • Cumplimiento del RGPD - Admite solicitudes de exportación y eliminación de datos

Recursos relacionados

Subscribe to updates

developer-docs

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

auto-detect
Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.