📱 Omnichat API

API completa para gestão de atendimento omnichannel, conversas e mensagens em múltiplos canais.

✨ Atendimento Unificado

Gerencie WhatsApp, Instagram, Telegram, e-mail e minichats em uma única API.

Introdução

O módulo Omnichat permite integrar e gerenciar todos os seus canais de atendimento através de uma API unificada. Com ela, você pode:

  • Enviar e receber mensagens em tempo real
  • Gerenciar conversas com clientes
  • Configurar múltiplos canais de atendimento
  • Criar mensagens rápidas e respostas automáticas
  • Atribuir conversas a agentes específicos
  • Organizar conversas com tags e etiquetas

Canais Suportados

💬

WhatsApp

Oficial e não oficial com suporte completo a mídia

📷

Instagram

DMs e comentários integrados

✈️

Telegram

Mensagens e bots

📧

E-mail

IMAP/SMTP integrado

💬

Minichat

Widget web customizável

📲

Messenger

Facebook Messenger

Recursos Principais

Canais da Empresa

Gerencie os canais de atendimento configurados na sua empresa. Cada canal representa uma conexão com uma plataforma (WhatsApp, Instagram, etc).

GET

/v1/company-channels

Listar canais da empresa

Exemplo de Request
curl -X GET \
  'https://api.atys.pro/v1/company-channels' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: application/json'
Resposta
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "WhatsApp Suporte",
      "channel_type_id": 1,
      "channel_type": {
        "id": 1,
        "name": "WhatsApp"
      },
      "status": "active",
      "phone": "+5511999999999",
      "is_official": true,
      "created_at": "2025-01-15T10:30:00Z"
    }
  ],
  "meta": {
    "total": 1,
    "page": 1,
    "per_page": 15
  }
}

Conversas (Contact Channels)

As conversas representam interações com contatos em diferentes canais. Aqui você pode listar, criar, atualizar e gerenciar conversas.

GET

/v1/contact-channels

Listar conversas

POST

/v1/contact-channels

Criar nova conversa

GET

/v1/contact-channels/{id}

Obter detalhes de uma conversa

PATCH

/v1/contact-channels/{id}

Atualizar conversa

💡 Filtros disponíveis:
  • status - active, archived, closed
  • company_channel_id - Filtrar por canal
  • user_id - Filtrar por agente atribuído
  • is_read - true/false para lidas/não lidas
Exemplo: Atribuir conversa a um agente
const response = await fetch(
  'https://api.atys.pro/v1/assign-contact-channel',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer YOUR_API_KEY'
    },
    body: JSON.stringify({
      contact_channel_id: 123,
      user_id: 5
    })
  }
);

const data = await response.json();

Mensagens

Envie e receba mensagens em qualquer canal. Suporta texto, imagens, vídeos, áudios e documentos.

GET

/v1/messages

Listar mensagens

POST

/v1/send-message

Enviar mensagem

POST

/v1/send-reaction

Adicionar reação a mensagem

POST

/v1/edit-message

Editar mensagem enviada

POST

/v1/revoke-messages

Revogar/deletar mensagens

Exemplo: Enviar mensagem de texto
const response = await fetch(
  'https://api.atys.pro/v1/send-message',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer YOUR_API_KEY'
    },
    body: JSON.stringify({
      contact_channel_id: 123,
      message_type_id: 1, // text
      content: 'Olá! Como posso ajudar?',
      metadata: {
        reply_to_id: null,
        mentions: []
      }
    })
  }
);

const data = await response.json();
console.log('Mensagem enviada:', data.data.id);
Exemplo: Enviar mensagem com imagem
// 1. Primeiro fazer upload do arquivo
const formData = new FormData();
formData.append('file', imageFile);

const uploadResponse = await fetch(
  'https://api.atys.pro/v1/message-files',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    },
    body: formData
  }
);

const fileData = await uploadResponse.json();

// 2. Enviar mensagem com o arquivo
const messageResponse = await fetch(
  'https://api.atys.pro/v1/send-message',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer YOUR_API_KEY'
    },
    body: JSON.stringify({
      contact_channel_id: 123,
      message_type_id: 2, // image
      content: 'Confira esta imagem',
      message_file_id: fileData.data.id
    })
  }
);

Mensagens Rápidas

Crie e gerencie mensagens pré-definidas para respostas rápidas. Útil para perguntas frequentes.

GET

/v1/rapid-messages

Listar mensagens rápidas

POST

/v1/create-rapid-message

Criar mensagem rápida

WhatsApp

Gerencie conexões do WhatsApp (oficial e não oficial), gere QR codes e importe contatos.

GET

/v1/whatsapps

Listar conexões WhatsApp

POST

/v1/whatsapp-qrcode

Gerar QR code para conexão

POST

/v1/whatsapp-validate-number

Validar número do WhatsApp

⚠️ WhatsApp Oficial vs Não Oficial

O WhatsApp oficial requer aprovação do Facebook e suporta templates. O não oficial usa web WhatsApp e tem limitações de volume.

Minichat

Configure widgets de chat web para seu site.

GET

/v1/minichats

Listar minichats

POST

/v1/create-minichat

Criar novo minichat

Telegram

Integre bots do Telegram com a plataforma.

GET

/v1/telegrams

Listar conexões Telegram

Webhooks Disponíveis

Receba notificações em tempo real de eventos do Omnichat:

  • omnichat.message.received - Nova mensagem recebida
  • omnichat.message.sent - Mensagem enviada com sucesso
  • omnichat.conversation.created - Nova conversa criada
  • omnichat.conversation.assigned - Conversa atribuída a agente
  • omnichat.conversation.closed - Conversa encerrada
  • omnichat.agent.status_changed - Status de agente alterado

Ver documentação de Webhooks →

Limites de Taxa

A API do Omnichat tem os seguintes limites:

Endpoint Limite
GET (leituras) 300 req/min
POST /send-message 60 req/min
Outros POST 120 req/min

Esta página foi útil?