Pular para o conteúdo principal

Referência de API

Referência dos endpoints REST da OBBU FLOW — a mesma API que a própria plataforma usa por trás de cada tela. Útil pra quem está integrando um sistema externo (webhooks, automações, parceiros white-label).

Esta página cobre só os endpoints de uso geral. Endpoints operacionais/sensíveis (controle remoto de equipamento via ACS, credenciais de integração, log de auditoria, gestão de usuários e permissões) ficam documentados na área interna (priv.obbuflow.com.br), não aqui — por não serem seguros de descrever publicamente sem risco.

Autenticação

Toda chamada (exceto /auth/login e o webhook do WhatsApp) exige um token de acesso real:

  1. POST /api/v1/auth/login com e-mail e senha — devolve um token de acesso (válido por 15 minutos) e um refresh token (válido por 7 dias).
  2. Envie o token de acesso em todo request: Authorization: Bearer <token>.
  3. Quando o token de acesso expirar, use POST /api/v1/auth/refresh com o refresh token pra obter um novo, sem precisar logar de novo.

Não existe chave de API separada — a autenticação é sempre por login de usuário real do tenant, com as mesmas permissões (Grupos de Acesso) que esse usuário tem dentro da plataforma.

Base URL

https://obbuflow.com.br/api/v1

Endpoints

Autenticação

MétodoCaminhoDescriçãoCampos
POST/api/v1/auth/loginLoginemail* (texto/email), senha* (texto)
POST/api/v1/auth/logoutLogout
GET/api/v1/auth/meDados do usuário autenticado
POST/api/v1/auth/refreshRenovar token de acesso

Conversas

MétodoCaminhoDescriçãoCampos
GET/api/v1/conversasListarsub_aba (texto)
POST/api/v1/conversasCriarnome_contato* (texto), telefone* (texto), canal (texto), departamento_id* (texto/uuid), motivo_atendimento (texto), mensagem_inicial (texto), nome_template_whatsapp (texto), mensagem_template_texto (texto), cliente_vinculado_id (texto), cliente_vinculado_nome (texto)
GET/api/v1/conversas/{conversa_id}Obter
PATCH/api/v1/conversas/{conversa_id}Atualizarsub_aba (texto), assumido_por_id (texto/uuid), nao_lida (booleano), fixado_no_topo (booleano), motivo_atendimento (texto), etiquetas (lista), satisfacao (inteiro), pendencia_assunto (booleano), pendencia_assunto_texto (texto), pendencia_assunto_resolvida (booleano), cliente_vinculado_nome (texto), cliente_vinculado_id (texto), contrato_ativo_id (texto), alerta_pendencia_visto (booleano), handoff_solicitado (booleano), handoff_visto (booleano), agente_ativo (booleano)
POST/api/v1/conversas/{conversa_id}/ativar-agenteAtivar o Agente de IA nessa conversa
POST/api/v1/conversas/{conversa_id}/parar-agenteParar o Agente de IA nessa conversa
POST/api/v1/conversas/{conversa_id}/gerar-resumoGerar resumo da conversa
POST/api/v1/conversas/{conversa_id}/mensagensEnviar mensagem de textoautor (texto), texto* (texto)
POST/api/v1/conversas/{conversa_id}/mensagens/arquivoEnviar mensagem com arquivoarquivo* (texto), nome_exibicao* (texto), texto (texto)
POST/api/v1/conversas/{conversa_id}/mensagens/audioEnviar mensagem de áudioarquivo* (texto), duracao_segundos (inteiro)
GET/api/v1/conversas/{conversa_id}/mensagens/{mensagem_id}/arquivoBaixar arquivo de uma mensagem
GET/api/v1/conversas/{conversa_id}/mensagens/{mensagem_id}/audioBaixar áudio de uma mensagem
POST/api/v1/conversas/{conversa_id}/mensagens/{mensagem_id}/transcreverTranscrever áudio de uma mensagem
POST/api/v1/conversas/{conversa_id}/observacoesAdicionar observaçãotexto* (texto)
POST/api/v1/conversas/{conversa_id}/participantesAdicionar participanteusuario_id* (texto/uuid)
DELETE/api/v1/conversas/{conversa_id}/participantes/{usuario_id}Remover participante
POST/api/v1/conversas/{conversa_id}/preferencia-atendenteDefinir atendente preferido pro contato
DELETE/api/v1/conversas/{conversa_id}/preferencia-atendenteRemover atendente preferido

Copiloto de IA

MétodoCaminhoDescriçãoCampos
GET/api/v1/conversas/{conversa_id}/copilotoListar conversas de copiloto
POST/api/v1/conversas/{conversa_id}/copilotoCriar conversa de copilototipo* (texto)
GET/api/v1/conversas/{conversa_id}/copiloto/{copiloto_id}Obter
POST/api/v1/conversas/{conversa_id}/copiloto/{copiloto_id}/anotacaoAdicionar anotaçãotexto* (texto)
POST/api/v1/conversas/{conversa_id}/copiloto/{copiloto_id}/instrucaoInstruir a IAtexto* (texto), contexto_erp (texto), imagem_base64 (texto), imagem_mime (texto)
POST/api/v1/conversas/{conversa_id}/copiloto/{copiloto_id}/gerar-respostaGerar sugestão de respostacontexto_erp (texto)
POST/api/v1/conversas/{conversa_id}/copiloto/{copiloto_id}/confirmar-enviarConfirmar e enviar ao cliente
POST/api/v1/conversas/{conversa_id}/copiloto/{copiloto_id}/perguntarPerguntar (modo privado)texto* (texto), contexto_erp (texto), imagem_base64 (texto), imagem_mime (texto)
POST/api/v1/conversas/{conversa_id}/copiloto/{copiloto_id}/encerrarEncerrar
GET/api/v1/conversas/{conversa_id}/copiloto/{copiloto_id}/mensagens/{mensagem_id}/imagemObter imagem de uma mensagem

Clientes

MétodoCaminhoDescriçãoCampos
GET/api/v1/clientesListarbusca (texto), pagina (inteiro), rp (inteiro)
GET/api/v1/clientes/{id_cliente}Obter
GET/api/v1/clientes/{id_cliente}/contratosContratos do cliente
GET/api/v1/clientes/{id_cliente}/faturasFaturas do cliente
GET/api/v1/clientes/{id_cliente}/arquivosArquivos do cliente (ERP)
GET/api/v1/clientes/{id_cliente}/arquivos/{id_arquivo}/conteudoBaixar arquivo
GET/api/v1/clientes/{id_cliente}/ocorrenciasOcorrências/OS do cliente
GET/api/v1/clientes/{id_cliente}/ocorrencias/{id_ocorrencia}/arquivosArquivos de uma ocorrência
GET/api/v1/clientes/{id_cliente}/ocorrencias/{id_ocorrencia}/arquivos/{id_arquivo}/conteudoBaixar arquivo de ocorrência

Arquivos ERP

MétodoCaminhoDescriçãoCampos
GET/api/v1/arquivos-erpListarcliente_id* (texto)

Anexos do Cliente (no Atendimento)

MétodoCaminhoDescriçãoCampos
GET/api/v1/clientes/{id_cliente}/pastasListar pastas
POST/api/v1/clientes/{id_cliente}/pastasCriar pastanome* (texto)
POST/api/v1/clientes/{id_cliente}/pastas/{pasta_id}/arquivosAnexar arquivonome* (texto), arquivo* (texto)
GET/api/v1/clientes/{id_cliente}/pastas/{pasta_id}/arquivos/{arquivo_id}/downloadBaixar
POST/api/v1/clientes/{id_cliente}/pastas/{pasta_id}/arquivos/{arquivo_id}/removerRemover arquivosenha* (texto)
POST/api/v1/clientes/{id_cliente}/pastas/{pasta_id}/removerRemover pastasenha* (texto)

Faturas

MétodoCaminhoDescriçãoCampos
GET/api/v1/faturas/{id_areceber}/boleto-pdfBaixar boleto em PDF
GET/api/v1/faturas/{id_areceber}/reciboObter recibo
GET/api/v1/faturas/{id_areceber}/recibo-pdfBaixar recibo em PDF
POST/api/v1/faturas/{id_areceber}/enviar-whatsappEnviar fatura por WhatsAppconversa_id (texto/uuid), telefone (texto)
POST/api/v1/faturas/{id_areceber}/enviar-recibo-whatsappEnviar recibo por WhatsAppconversa_id (texto/uuid), telefone (texto)

Leads

MétodoCaminhoDescriçãoCampos
GET/api/v1/leadsListar
POST/api/v1/leadsCriarnome* (texto), nota (texto), origem* (texto), contato (texto)
PATCH/api/v1/leads/{lead_id}Mover de estágioestagio* (texto)
DELETE/api/v1/leads/{lead_id}Excluir

Agenda

MétodoCaminhoDescriçãoCampos
GET/api/v1/agenda/categoriasListar categorias
POST/api/v1/agenda/categoriasCriar categorianome* (texto), cor* (texto), ativa (booleano)
PATCH/api/v1/agenda/categorias/{categoria_id}Atualizar categorianome (texto), cor (texto), ativa (booleano)
DELETE/api/v1/agenda/categorias/{categoria_id}Remover categoria
GET/api/v1/agenda/eventosListar eventos
POST/api/v1/agenda/eventosCriar eventotitulo* (texto), categoria_id* (texto/uuid), data* (texto), hora_inicio* (texto), hora_fim* (texto), observacao (texto)
PATCH/api/v1/agenda/eventos/{evento_id}Atualizar eventotitulo (texto), categoria_id (texto/uuid), data (texto), hora_inicio (texto), hora_fim (texto), observacao (texto)
DELETE/api/v1/agenda/eventos/{evento_id}Remover evento

Chat Interno

MétodoCaminhoDescriçãoCampos
GET/api/v1/canais-internosListar canais e DMs
POST/api/v1/canais-internosCriar canalnome* (texto)
POST/api/v1/canais-internos/dmCriar ou obter DMusuario_alvo_id* (texto/uuid)
PATCH/api/v1/canais-internos/{canal_id}Renomear canalnome* (texto)
DELETE/api/v1/canais-internos/{canal_id}Remover canal
POST/api/v1/canais-internos/{canal_id}/membrosAdicionar membrousuario_id* (texto/uuid)
DELETE/api/v1/canais-internos/{canal_id}/membros/{membro_id}Remover membro
POST/api/v1/canais-internos/{canal_id}/mensagensEnviar mensagemtexto* (texto)
POST/api/v1/canais-internos/{canal_id}/mensagens/arquivoEnviar mensagem com arquivoarquivo* (texto), texto (texto)
GET/api/v1/canais-internos/{canal_id}/mensagens/{mensagem_id}/arquivoBaixar arquivo

Envio em Massa

MétodoCaminhoDescriçãoCampos
GET/api/v1/campanhasListar campanhas
POST/api/v1/campanhasCriar campanhanome* (texto), departamento_id* (texto/uuid), nome_template_whatsapp* (texto), contatos* (lista), agendado_para (texto/date-time)
PATCH/api/v1/campanhas/{campanha_id}Atualizar campanhastatus (texto), status_label (texto)
GET/api/v1/campanhas/{campanha_id}/contatosContatos da campanha
GET/api/v1/segmentosListar segmentos
POST/api/v1/segmentosCriar segmentonome* (texto), filtro* (texto), alcance (inteiro)
PATCH/api/v1/segmentos/{segmento_id}Atualizar segmentonome (texto), filtro (texto), alcance (inteiro)
DELETE/api/v1/segmentos/{segmento_id}Remover segmento
GET/api/v1/variaveis-mensagemListar variáveis
POST/api/v1/variaveis-mensagemCriar variáveltoken* (texto), descricao* (texto)
PATCH/api/v1/variaveis-mensagem/{variavel_id}Atualizar variáveltoken (texto), descricao (texto)
DELETE/api/v1/variaveis-mensagem/{variavel_id}Remover variável

Tags & Mensagens Rápidas

MétodoCaminhoDescriçãoCampos
GET/api/v1/etiquetasListar etiquetas
POST/api/v1/etiquetasCriar etiquetanome* (texto), cor* (texto), departamentos (lista)
PATCH/api/v1/etiquetas/{etiqueta_id}Atualizar etiquetanome (texto), cor (texto), departamentos (lista)
DELETE/api/v1/etiquetas/{etiqueta_id}Remover etiqueta
GET/api/v1/mensagens-rapidasListar mensagens rápidas
POST/api/v1/mensagens-rapidasCriar mensagem rápidaatalho* (texto), texto* (texto), departamentos (lista)
PATCH/api/v1/mensagens-rapidas/{mensagem_id}Atualizar mensagem rápidaatalho (texto), texto (texto), departamentos (lista)
DELETE/api/v1/mensagens-rapidas/{mensagem_id}Remover mensagem rápida
GET/api/v1/motivos-atendimentoListar motivos
POST/api/v1/motivos-atendimentoCriar motivotexto* (texto), departamentos (lista)
PATCH/api/v1/motivos-atendimento/{motivo_id}Atualizar motivotexto (texto), departamentos (lista)
DELETE/api/v1/motivos-atendimento/{motivo_id}Remover motivo

Departamentos

MétodoCaminhoDescriçãoCampos
GET/api/v1/departamentosListar
POST/api/v1/departamentosCriarnome* (texto), max_atendimentos_por_atendente (inteiro), cor (texto)
PATCH/api/v1/departamentos/{departamento_id}Atualizarnome (texto), max_atendimentos_por_atendente (inteiro), cor (texto)
DELETE/api/v1/departamentos/{departamento_id}Remover
GET/api/v1/departamentos/{departamento_id}/status-horarioStatus de horário (aberto/fechado agora)

Horários de Atendimento

MétodoCaminhoDescriçãoCampos
GET/api/v1/horarios-atendimentoListar
POST/api/v1/horarios-atendimentoCriarnome* (texto), dias* (lista), departamentos (lista), plantao_ativo (booleano), plantao_inicio (texto), plantao_fim (texto), plantao_descricao (texto), plantao_dias (lista)
PATCH/api/v1/horarios-atendimento/{horario_id}Atualizarnome (texto), dias (lista), departamentos (lista), plantao_ativo (booleano), plantao_inicio (texto), plantao_fim (texto), plantao_descricao (texto), plantao_dias (lista)
DELETE/api/v1/horarios-atendimento/{horario_id}Remover

Feriados

MétodoCaminhoDescriçãoCampos
GET/api/v1/feriadosListarano (inteiro)
POST/api/v1/feriadosCriar feriado personalizadodata* (texto), nome* (texto), atende (booleano), horario_inicio (texto), horario_fim (texto), mensagem_saudacao (texto), departamentos (lista)
PUT/api/v1/feriados/nacional/{slug}Customizar feriado nacionalatende (booleano), horario_inicio (texto), horario_fim (texto), mensagem_saudacao (texto), departamentos (lista)
PATCH/api/v1/feriados/{feriado_id}Atualizar personalizadonome (texto), atende (booleano), horario_inicio (texto), horario_fim (texto), mensagem_saudacao (texto), departamentos (lista)
DELETE/api/v1/feriados/{feriado_id}Remover personalizado

Webhooks (saída, configuráveis pelo tenant)

MétodoCaminhoDescriçãoCampos
GET/api/v1/webhooksListar
POST/api/v1/webhooksCriarnome* (texto), url* (texto), eventos (lista), ativo (booleano)
PATCH/api/v1/webhooks/{webhook_id}Atualizarnome (texto), url (texto), eventos (lista), ativo (booleano)
DELETE/api/v1/webhooks/{webhook_id}Remover

Templates de Modelo

MétodoCaminhoDescriçãoCampos
GET/api/v1/templates-modeloListar
POST/api/v1/templates-modeloCriarlabel* (texto), nome_padrao* (texto), categoria* (texto), cabecalho (texto), corpo* (texto), rodape (texto), botoes (lista), exemplos (objeto), variaveis_mapeadas (objeto), finalidade (texto), respostas (objeto)
PATCH/api/v1/templates-modelo/{modelo_id}Atualizarlabel (texto), nome_padrao (texto), categoria (texto), cabecalho (texto), corpo (texto), rodape (texto), botoes (lista), exemplos (objeto), variaveis_mapeadas (objeto), finalidade (texto), respostas (objeto)
DELETE/api/v1/templates-modelo/{modelo_id}Remover

Assistente IA

MétodoCaminhoDescriçãoCampos
GET/api/v1/assistente-iaListar conversas
POST/api/v1/assistente-iaCriar conversa
GET/api/v1/assistente-ia/{conversa_id}Obter
POST/api/v1/assistente-ia/{conversa_id}/perguntarPerguntartexto* (texto), imagem_base64 (texto), imagem_mime (texto)
POST/api/v1/assistente-ia/{conversa_id}/encerrarEncerrar
GET/api/v1/assistente-ia/{conversa_id}/mensagens/{mensagem_id}/imagemObter imagem de uma mensagem

Base de Conhecimento

MétodoCaminhoDescriçãoCampos
GET/api/v1/base-conhecimentoListar
POST/api/v1/base-conhecimento/uploadAdicionar documentonome* (texto), categoria* (texto), arquivo (texto), link (texto)
PATCH/api/v1/base-conhecimento/{item_id}Atualizar categoriacategoria* (texto)
DELETE/api/v1/base-conhecimento/{item_id}Remover
GET/api/v1/base-conhecimento/{item_id}/arquivoBaixar arquivo
GET/api/v1/base-conhecimento/itens-padraoListar itens padrão OBBU
PATCH/api/v1/base-conhecimento/itens-padrao/{item_id}Ativar/desativar item padrãoativo* (booleano)
POST/api/v1/base-conhecimento/importar-padraoImportar itens padrão

Base de Comportamento

MétodoCaminhoDescriçãoCampos
GET/api/v1/diretrizes-comportamentoListar
POST/api/v1/diretrizes-comportamentoCriarcategoria* (texto), texto* (texto), forcar (booleano)
PATCH/api/v1/diretrizes-comportamento/{diretriz_id}Atualizarcategoria (texto), texto (texto), forcar (booleano)
DELETE/api/v1/diretrizes-comportamento/{diretriz_id}Remover
POST/api/v1/diretrizes-comportamento/importarImportar de arquivo .txtcategoria* (texto), linhas* (lista)
POST/api/v1/diretrizes-comportamento/importar-padraoImportar diretrizes padrão OBBU

Base de Decisão

MétodoCaminhoDescriçãoCampos
GET/api/v1/regras-decisaoListar
POST/api/v1/regras-decisaoCriarfuncao_id* (texto), funcao_nome* (texto), condicao* (texto), forcar (booleano)
PATCH/api/v1/regras-decisao/{regra_id}Atualizarfuncao_id (texto), funcao_nome (texto), condicao (texto), forcar (booleano)
DELETE/api/v1/regras-decisao/{regra_id}Remover
POST/api/v1/regras-decisao/importarImportar de arquivo .txtfuncao_id* (texto), funcao_nome* (texto), linhas* (lista)

Agente de IA

MétodoCaminhoDescriçãoCampos
GET/api/v1/agente-ia/configObter configuração
PATCH/api/v1/agente-ia/configAtualizar configuraçãonome_agente (texto), tom_de_voz (texto), instrucoes_sistema (texto), transferir_se_cliente_pedir_humano (booleano), transferir_apos_tentativas (booleano), tentativas_por_departamento (objeto), fallback_acs_offline (booleano), fallback_modo (texto), motor_ia_habilitado (booleano), execucao_acoes_habilitada (booleano), mensagem_encerramento_habilitada (booleano), pesquisa_satisfacao_habilitada (booleano), pesquisa_satisfacao_texto (texto), pesquisa_satisfacao_prazo_minutos (inteiro), encerramento_por_inatividade_habilitado (booleano), minutos_encerramento_inatividade (inteiro)
POST/api/v1/agente-ia/config/avatarEnviar foto do agentearquivo* (texto)
DELETE/api/v1/agente-ia/config/avatarRemover foto
GET/api/v1/agente-ia/ferramentasListar ferramentas (permitido/negado)
PATCH/api/v1/agente-ia/ferramentas/{funcao_id}Permitir/negar uma ferramentapermitido (booleano), departamentos (lista)
GET/api/v1/agente-ia/desempenhoMétricas de desempenho
GET/api/v1/agente-ia/uso-ferramentasUso/taxa de sucesso por ferramenta

Status do Atendente

MétodoCaminhoDescriçãoCampos
GET/api/v1/status-atendenteStatus atual de todos os atendentes
POST/api/v1/status-atendenteAlterar o próprio statusstatus* (texto)
GET/api/v1/status-atendente/meMeu histórico de status
GET/api/v1/status-atendente/{usuario_id}/historicoHistórico de um atendente

Dados da Empresa

MétodoCaminhoDescriçãoCampos
GET/api/v1/dados-empresaObter
PATCH/api/v1/dados-empresaAtualizarnome_fantasia (texto), razao_social (texto), cnpj (texto), telefone (texto), email (texto), endereco (texto), site (texto)

Lembrete de Fatura

MétodoCaminhoDescriçãoCampos
GET/api/v1/lembrete-fatura/configuracaoObter configuração
PUT/api/v1/lembrete-fatura/configuracaoAtualizar configuraçãoativo* (booleano), regras* (lista), horario_envio* (texto), template_modelo_id (texto/uuid)
GET/api/v1/lembrete-fatura/resumoResumo
GET/api/v1/lembrete-fatura/historicoHistórico de envios
GET/api/v1/lembrete-fatura/varredurasHistórico de varreduras do job

WhatsApp (webhook público, usado pela Meta)

MétodoCaminhoDescriçãoCampos
GET/api/v1/whatsapp/webhookVerificação do webhook (challenge da Meta)hub.mode (texto), hub.verify_token (texto), hub.challenge (texto)
POST/api/v1/whatsapp/webhookRecebimento de mensagens/eventos (chamado pela Meta, valida assinatura HMAC)

Saúde

MétodoCaminhoDescriçãoCampos
GET/healthHealth check, sem autenticação