Logo

API Reference

Documentação completa dos endpoints da API REST do LipMKT.

🔐 Autenticação

Todas as requisições devem incluir o token JWT no header:

Authorization: Bearer {token}

Base URL

Production: https://api.lipmkt.com/v1
Development: http://localhost:5001/v1

📞 Conversations

GET /conversations

Lista todas as conversas da empresa.

Query Parameters:

  • status (optional): Filter by status (bot, human, closed, queued)
  • assignedAgentId (optional): Filter by assigned agent
  • priority (optional): Filter by priority (low, medium, high)
  • limit (optional): Number of results (default: 50, max: 100)
  • startAfter (optional): Pagination cursor

Response:


GET /conversations/:id

Obtém detalhes de uma conversa específica.

Response:


POST /conversations/:id/assign

Atribui uma conversa a um agente.

Request Body:

Response:


POST /conversations/:id/close

Fecha uma conversa.

Request Body (optional):

Response:


PATCH /conversations/:id

Atualiza uma conversa.

Request Body:

Response:


💬 Messages

GET /conversations/:id/messages

Lista mensagens de uma conversa.

Query Parameters:

  • limit (optional): Number of results (default: 50)
  • before (optional): Get messages before this timestamp
  • after (optional): Get messages after this timestamp

Response:


POST /conversations/:id/messages

Envia uma mensagem.

Request Body:

Response:


POST /messages/send-media

Envia uma mensagem com mídia.

Request (multipart/form-data):

  • conversationId: ID da conversa
  • type: Tipo de mídia (image, video, audio, document)
  • file: Arquivo
  • caption (optional): Legenda

Response:


🤖 Flows

GET /flows

Lista todos os fluxos da empresa.

Query Parameters:

  • isActive (optional): Filter by active status
  • limit (optional): Number of results

Response:


GET /flows/:id

Obtém detalhes de um fluxo.

Response:


POST /flows

Cria um novo fluxo.

Request Body:


PUT /flows/:id

Atualiza um fluxo.

Request Body:


DELETE /flows/:id

Deleta um fluxo.

Response:


POST /flows/:id/execute

Executa um fluxo manualmente para uma conversa.

Request Body:

Response:


👥 Agents

GET /agents

Lista todos os agentes da empresa.

Query Parameters:

  • status (optional): Filter by status (online, offline, away, busy)
  • isActive (optional): Filter by active status

Response:


GET /agents/:id

Obtém detalhes de um agente.


POST /agents

Cria um novo agente.

Request Body:


PATCH /agents/:id

Atualiza um agente.

Request Body:


DELETE /agents/:id

Desativa um agente.


📊 Analytics

GET /analytics/metrics

Obtém métricas agregadas.

Query Parameters:

  • startDate (required): Data inicial (YYYY-MM-DD)
  • endDate (required): Data final (YYYY-MM-DD)
  • granularity (optional): day, week, month (default: day)

Response:


GET /analytics/dashboard

Obtém dados para o dashboard.

Response:


👤 Contacts

GET /contacts

Lista todos os contatos.

Query Parameters:

  • search (optional): Busca por nome, email ou telefone
  • tags (optional): Filter by tags
  • limit (optional): Number of results

Response:


GET /contacts/:id

Obtém detalhes de um contato.


POST /contacts

Cria um novo contato.

Request Body:


PATCH /contacts/:id

Atualiza um contato.


DELETE /contacts/:id

Deleta um contato.


⚙️ Settings

GET /settings

Obtém configurações da empresa.

Response:


PATCH /settings

Atualiza configurações.

Request Body:


🔔 Webhooks

POST /webhooks

Registra um novo webhook.

Request Body:


GET /webhooks

Lista todos os webhooks registrados.


DELETE /webhooks/:id

Remove um webhook.


📝 Eventos de Webhook

conversation.created

Disparado quando uma nova conversa é criada.

conversation.assigned

Disparado quando uma conversa é atribuída a um agente.

conversation.closed

Disparado quando uma conversa é fechada.

message.received

Disparado quando uma nova mensagem é recebida.

message.sent

Disparado quando uma mensagem é enviada.

flow.executed

Disparado quando um fluxo é executado.


❌ Códigos de Erro

CódigoDescrição
400Bad Request - Requisição inválida
401Unauthorized - Token inválido ou ausente
403Forbidden - Sem permissão para acessar o recurso
404Not Found - Recurso não encontrado
429Too Many Requests - Rate limit excedido
500Internal Server Error - Erro interno do servidor

Formato de erro:


🔗 Próximos Passos

Última atualização

26 de novembro de 2025