Pular para o conteúdo

Drivers

Drivers são as integrações disponíveis na plataforma. Cada driver representa uma conexão com um provedor externo.

Listar Drivers

GET /drivers

Lista todos os drivers disponíveis para seu tenant.

Terminal window
curl -X GET "https://api.integracoesinteligentes.com/drivers?limit=20" \
-H "Authorization: Bearer <token>"

Parâmetros de query:

ParâmetroTipoDescrição
limitintegerItens por página (padrão: 10, max: 100)
filter[name]stringFiltrar por nome
filter[type]stringFiltrar por tipo (webhook)
filter[enabled]booleanFiltrar por status de habilitação
sortstringOrdenar (name, slug, version, type, status, created_at)

Resposta:

{
"data": [
{
"id": "01ke7rhnt6fhb6tsbbhcdpepya",
"name": "Digital Manager Guru",
"slug": "digital_manager_guru",
"description": "A Digital Manager Guru é uma plataforma completa de gestão de vendas...",
"primary_color": "#1e90ff",
"logo": "https://api.integracoesinteligentes.com/integrations/digital_manager_guru.svg",
"icon": "https://api.integracoesinteligentes.com/integrations/icons/digital_manager_guru.svg",
"version": "v1",
"type": "webhook",
"status": "active",
"available_settings": {},
"supported_events": [
"order.paid",
"order.canceled",
"checkout.abandoned"
],
"settings": null,
"created_at": "2024-01-01T00:00:00.000000Z",
"updated_at": "2024-01-01T00:00:00.000000Z"
},
{
"id": "01ke7rhnt6fhb6tsbbhcdpepyb",
"name": "Bling",
"slug": "bling",
"description": "...",
"primary_color": "#1e90ff",
"logo": "https://api.integracoesinteligentes.com/integrations/bling.svg",
"icon": "https://api.integracoesinteligentes.com/integrations/icons/bling.svg",
"version": "v1",
"type": "webhook",
"status": "active",
"available_settings": {
"oauth_settings.redirect_url": {
"required": true,
"type": "url",
"translation": "URL de redirecionamento OAuth"
},
"oauth_settings.client_id": {
"required": false,
"type": "string",
"translation": "Client ID"
},
"oauth_settings.client_secret": {
"required": false,
"type": "string",
"translation": "Client Secret"
}
},
"supported_events": ["order.paid", "order.canceled"],
"settings": {
"integration_driver_slug": "bling",
"integration_driver_version": "v1",
"enabled": true,
"oauth_settings": {
"redirect_url": "https://sua-app.com/oauth/callback"
}
},
"created_at": "2024-01-01T00:00:00.000000Z",
"updated_at": "2024-01-15T10:00:00.000000Z"
}
],
"links": {
"first": "https://api.integracoesinteligentes.com/drivers?page=1",
"last": "https://api.integracoesinteligentes.com/drivers?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://api.integracoesinteligentes.com/drivers",
"per_page": 20,
"to": 2,
"total": 2
}
}

Campos do driver:

CampoTipoDescrição
idstringID único do driver
namestringNome de exibição do driver
slugstringIdentificador único do driver (usado em APIs)
descriptionstringDescrição do driver
primary_colorstringCor principal do driver em hexadecimal
logostringURL do logo do driver
iconstringURL do ícone do driver
versionstringVersão do driver
typestringTipo de driver (webhook ou polling)
statusstringStatus do driver (active, deprecated, disabled)
available_settingsobjectConfigurações disponíveis para este driver
supported_eventsarrayLista de eventos suportados pelo driver
settingsobject|nullConfigurações atuais (null se não configurado)
created_atstringData de criação (ISO 8601)
updated_atstringData de atualização (ISO 8601)

Listar Nomes dos Drivers

GET /drivers/names

Retorna apenas os nomes e slugs (para dropdowns).

Terminal window
curl -X GET "https://api.integracoesinteligentes.com/drivers/names" \
-H "Authorization: Bearer <token>"

Resposta:

{
"data": [
{ "name": "Bling", "slug": "bling" },
{ "name": "Digital Manager Guru", "slug": "digital_manager_guru" },
{ "name": "Hotmart", "slug": "hotmart" },
{ "name": "Shopify", "slug": "shopify" }
]
}

Campos da resposta:

CampoTipoDescrição
namestringNome de exibição do driver
slugstringIdentificador único do driver

Visualizar Driver

GET /drivers/{id}

Retorna detalhes de um driver específico.

Terminal window
curl -X GET "https://api.integracoesinteligentes.com/drivers/01ke7rhnt6fhb6tsbbhcdpepya" \
-H "Authorization: Bearer <token>"

Resposta:

{
"data": {
"id": "01ke7rhnt6fhb6tsbbhcdpepya",
"name": "Digital Manager Guru",
"slug": "digital_manager_guru",
"description": "A Digital Manager Guru é uma plataforma completa...",
"primary_color": "#1e90ff",
"logo": "https://api.integracoesinteligentes.com/integrations/digital_manager_guru.svg",
"icon": "https://api.integracoesinteligentes.com/integrations/icons/digital_manager_guru.svg",
"version": "v1",
"type": "webhook",
"status": "active",
"available_settings": {},
"supported_events": ["order.paid", "order.canceled", "checkout.abandoned"],
"settings": {
"integration_driver_slug": "digital_manager_guru",
"integration_driver_version": "v1",
"enabled": true
},
"created_at": "2024-01-01T00:00:00.000000Z",
"updated_at": "2024-01-01T00:00:00.000000Z"
}
}

Configurar Driver Settings

Alguns drivers (como Bling) precisam de configuração antes de criar uma instalação.

GET /drivers/{id}/settings

Visualiza as configurações atuais.

Terminal window
curl -X GET "https://api.integracoesinteligentes.com/drivers/01ke7rhnt6fhb6tsbbhcdpepyb/settings" \
-H "Authorization: Bearer <token>"

Resposta (configurado):

{
"data": {
"integration_driver_slug": "bling",
"integration_driver_version": "v1",
"enabled": true,
"oauth_settings": {
"redirect_url": "https://sua-app.com/oauth/callback",
"client_id": "seu-client-id",
"client_secret": null
},
"rate_limits_settings": null,
"enabled_at": "2024-01-15T10:00:00.000000Z",
"integration_driver": {
"id": "01ke7rhnt6fhb6tsbbhcdpepyb",
"name": "Bling",
"slug": "bling"
}
}
}

Campos da resposta:

CampoTipoDescrição
integration_driver_slugstringSlug do driver
integration_driver_versionstringVersão do driver
enabledbooleanSe o driver está habilitado
oauth_settingsobjectConfigurações OAuth (quando aplicável)
rate_limits_settingsobject|nullConfigurações de rate limit
enabled_atstring|nullData de habilitação
integration_driverobjectDados do driver
integration_driver.idstringID do driver
integration_driver.namestringNome do driver
integration_driver.slugstringSlug do driver

Resposta (não configurado - 404):

{
"error": "Not found"
}

PUT /drivers/{id}/settings

Cria ou atualiza as configurações do driver.

Terminal window
curl -X PUT "https://api.integracoesinteligentes.com/drivers/01ke7rhnt6fhb6tsbbhcdpepyb/settings" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"oauth_settings": {
"redirect_url": "https://sua-app.com/oauth/callback",
"client_id": "seu-client-id",
"client_secret": "seu-client-secret"
}
}'

Validação por driver:

Cada driver define suas próprias regras de validação. Verifique available_settings no driver para campos obrigatórios.

Exemplo: Driver com OAuth (Bling)

{
"enabled": true,
"oauth_settings": {
"redirect_url": "https://sua-app.com/oauth/callback",
"client_id": "seu-client-id",
"client_secret": "seu-client-secret"
}
}

Importante:

oauth_settings.redirect_url é obrigatório para drivers com OAuth.

Exemplo: Driver simples

{
"enabled": true
}

Resposta:

{
"data": {
"integration_driver_slug": "bling",
"integration_driver_version": "v1",
"enabled": true,
"oauth_settings": {
"redirect_url": "https://sua-app.com/oauth/callback",
"client_id": "seu-client-id",
"client_secret": "seu-client-secret"
},
"rate_limits_settings": null,
"enabled_at": "2024-01-15T10:00:00.000000Z",
"created_at": "2024-01-15T10:00:00.000000Z",
"updated_at": "2024-01-15T10:00:00.000000Z"
}
}

Status dos Drivers

StatusDescrição
activeDriver disponível para uso
deprecatedDriver será descontinuado em breve
disabledDriver temporariamente indisponível

Tipos de Drivers

TipoDescrição
webhookRecebe events via webhooks do provedor
pollingBusca events periodicamente (em desenvolvimento)

Drivers Disponíveis

Veja a lista completa em Integrações:

Enviar Evento de Teste

POST /drivers/{id}/send-test-event

Envia um evento de teste para validar o comportamento do seu sistema ao receber eventos.

Terminal window
curl -X POST "https://api.integracoesinteligentes.com/drivers/01ke7rhnt6fhb6tsbbhcdpepya/send-test-event" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"webhook_url": "https://sua-api.com/webhooks",
"event_name": "order.paid"
}'

Parâmetros:

CampoTipoObrigatórioDescrição
webhook_urlstringSimURL do seu webhook (precisa ser HTTPS)
event_namestringSimNome do evento de teste disponível

Resposta (200 OK):

{
"data": {
"success": true,
"checks": {
"valid_url": {
"result": "succeeded",
"message": "URL é válida"
},
"https": {
"result": "succeeded",
"message": "URL usa HTTPS"
},
"gzip": {
"result": "succeeded",
"message": "Servidor aceita compressão gzip"
},
"timeout": {
"result": "succeeded",
"message": "Timeout adequado"
},
"post_success": {
"result": "succeeded",
"message": "POST retornou código 2xx"
}
}
}
}

Resposta (400 - URL inválida):

{
"data": {
"success": false,
"checks": {
"valid_url": {
"result": "succeeded",
"message": "URL é válida"
},
"https": {
"result": "failed",
"message": "URL deve usar HTTPS"
},
"gzip": {
"result": "skipped",
"message": null
},
"timeout": {
"result": "skipped",
"message": null
},
"post_success": {
"result": "skipped",
"message": null
}
}
}
}

Valores possíveis para result:

ValorDescrição
succeededTeste passou
failedTeste falhou
skippedTeste não executado

Próximos Passos