Chat AGPT
Chat AGPTCentral de Ajuda
Chat AGPT
Chat AGPTCentral de Ajuda
Trilhas Recursos APIs

Nada encontrado por aqui.

APIs Administrativas ▾
Pré-Requisitos das APIs Configurações ▸
API Trocar Imagens da Plataforma Todas
Planos ▸
API Criar Plano Todas API Listar Planos Todas API Obter um Plano Todas API Atualizar Plano Todas
Empresas ▸
API Criar Empresa Todas API Listar Empresas Todas API Obter uma Empresa Todas API Obter uma Empresa (completa) Todas API Atualizar o Cadastro de uma Empresa Todas API Bloquear Empresa Todas API Desbloquear Empresa Todas API Criar Token da Empresa Todas API Conferir o Token da Empresa Todas
Faturas ▸
API Obter Faturas Todas API Pagar Fatura Todas
Conexões ▸
API Criar Conexão em uma Empresa Todas API Reiniciar Conexões como Super Admin Todas
Setores ▸
API Criar Setor em uma Empresa Todas
Equipe ▸
API Criar Usuário em uma Empresa Todas API Atualizar Usuário de uma Empresa Todas
Fluxos ▾
API Criar Fluxo em uma Empresa Todas
Respostas Rápidas ▸
API Criar Resposta Rápida em uma Empresa Todas API Listar Respostas Rápidas de uma Empresa Todas
Tags ▸
API Criar Tag em uma Empresa Todas
Avisos ▸
API Criar Aviso Todas API Listar Avisos Todas API Obter um Aviso Todas API Atualizar Aviso Todas API Ativar ou Desativar Aviso Todas API Anexar Mídia ao Aviso Todas API Remover Mídia do Aviso Todas API Deletar Aviso Todas
Webhooks Administrativos ▸
Habilitar Webhook Administrativo Alteração na Conexão Criação de Empresa
Precisa de ajuda?
(41) 3077-6744
APIs Administrativas › Fluxos › API Criar Fluxo em uma Empresa

API Criar Fluxo em uma Empresa

Todas
🔍

🧩 Cria um fluxo dentro de uma empresa, sem precisar entrar nela.

⚠️ Esta chamada exige um token da empresa do Super Admin.

Endpoint
https://apichat.agpt.com.br/api/flowbuilder
Método
POST
Autenticação
Bearer {seutokenaqui}
Payload
{
    "companyId": 7,
    "name": "Boas-vindas",
    "categoryId": 3,
    "active": true,
    "userId": 4,
    "nodes": [
        {
            "id": "1",
            "type": "start",
            "data": {
                "label": "Início"
            },
            "position": {
                "x": 0,
                "y": 0
            }
        },
        {
            "id": "2",
            "type": "message",
            "data": {
                "label": "Olá! Em que posso ajudar?"
            },
            "position": {
                "x": 0,
                "y": 150
            }
        }
    ],
    "connections": [
        {
            "id": "e1-2",
            "source": "1",
            "target": "2"
        }
    ]
}

➡️ “companyId”: ID da empresa em que o registro é criado. É ele que faz a chamada valer para outra empresa — sem ele, vale a empresa do próprio token.

➡️ “name”: nome do fluxo, único naquela empresa. Obrigatório.

➡️ “nodes”: os blocos, do mesmo jeito que a tela grava — cada um com id único, type, data e position.

➡️ “connections”: as ligações, cada uma com source e target apontando para ids de blocos que existem.

➡️ “flow”: um fluxo inteiro já pronto, no lugar do nodes e do connections.

◽ É o conteúdo do arquivo que a tela baixa no menu Mais opções → Exportar Fluxo, de dentro de um fluxo que já existe. Abra o arquivo, copie o que está escrito nele e mande como valor do flow — não é envio de arquivo, é o conteúdo dele dentro do payload.

◽ Esse arquivo é um objeto com duas listas, {"nodes": [...], "connections": [...]} — os mesmos dois campos desta chamada, só que juntos. Por isso é um jeito OU o outro: mandar o flow junto do nodes e do connections é recusado.

◽ Pela tela, esse mesmo arquivo entra pelo botão Importar da lista de fluxos, que escolhe o nome sozinho. Por aqui o nome é o que você mandar em name.

◽ É assim que um fluxo pronto vai de uma empresa para outra: exporte na empresa de origem, mande o conteúdo como flow e aponte o companyId da empresa de destino. O mesmo arquivo serve para quantas empresas você quiser.

➡️ “categoryId”: categoria do fluxo. Precisa ser uma categoria de fluxo daquela empresa.

➡️ “active”: true faz o fluxo nascer ativo.

➡️ “userId”: o dono do fluxo, que precisa ser usuário daquela empresa. Sem ele, o fluxo nasce do primeiro administrador dela.

➡️ O desenho é conferido antes de gravar, e a recusa diz onde está o problema:

◽ bloco sem id único ou sem type;

◽ ligação que sai ou chega num bloco que não existe;

◽ nome de fluxo repetido na empresa;

◽ fluxo maior que o teto — o mesmo do salvar pela tela.

◽ Campo fora desta lista não é gravado: ele volta na resposta, em camposIgnorados.

Utilize o código em requisições HTTPS com ferramentas como cURL ou bibliotecas de integração.
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://apichat.agpt.com.br/api/flowbuilder',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "companyId": 7,
    "name": "Boas-vindas",
    "categoryId": 3,
    "active": true,
    "userId": 4,
    "nodes": [
        {
            "id": "1",
            "type": "start",
            "data": {
                "label": "Início"
            },
            "position": {
                "x": 0,
                "y": 0
            }
        },
        {
            "id": "2",
            "type": "message",
            "data": {
                "label": "Olá! Em que posso ajudar?"
            },
            "position": {
                "x": 0,
                "y": 150
            }
        }
    ],
    "connections": [
        {
            "id": "e1-2",
            "source": "1",
            "target": "2"
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: Bearer {seutokenaqui}' //Token cadastrado na conexão
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
← AnteriorFluxos Próximo →Respostas Rápidas