Pacto Soluções

Pacto Soluções

Esta página do wiki foi descontinuada e pode estar desatualizada. A documentação oficial e atualizada do NicoChat está em docs.nicochat.com/p/468-pacto-solucoes. Consulte sempre o link acima — o conteúdo abaixo é mantido apenas como histórico.

O Pacto Soluções é o NicoApp de integração com o sistema de gestão para academias Pacto (concorrente do EVO/W12). Com ele, seu bot consulta e cadastra clientes, registra observações, verifica situação, plano, parcelas em aberto, saldo em conta corrente, objetivos e histórico de presença do aluno — tudo direto do fluxo do NicoChat.

Disponível na aba de NicoApps. Base da integração: API oficial Pacto, via gateway apigw.pactosolucoes.com.br.

Como obter a credencial (token)

Diferente da EVO (usuário + senha via Basic Auth), a Pacto usa um único token, informado no campo Credencial API na instalação do app. Segundo o próprio cadastro do app, o caminho para gerar essa credencial é:

  1. No sistema Pacto, acesse o módulo ADM.

  2. Vá em Configurações → Integrações → ADM → API Sistema Pacto.

  3. Clique em Gerar Credencial para criar o token de integração.

  4. Copie o valor gerado e cole no campo Credencial API na instalação do NicoApp Pacto Soluções.

Essa credencial é enviada automaticamente pelo NicoChat em toda ação do app (todas as ações têm autenticação por token habilitada) — não é preciso configurar cabeçalho de autenticação em cada ação individualmente.

A Pacto não publica documentação pública detalhando esse fluxo passo a passo. O caminho acima reflete a configuração já registrada neste app; se o menu tiver mudado, confirme com o suporte Pacto (fale@pactosolucoes.com.br / (62) 3414-0314) ou com o gerente de conta da academia.

Limitações e requisitos de plano

Exigência de plano/módulo comercial e limite de requisições (rate limit) para a API não são divulgados publicamente pela Pacto. Confirme com o suporte ou gerente de conta da Pacto antes de dimensionar um bot de atendimento em produção.

  • Ao instalar e testar: comece com poucas ações e observe o campo meta retornado pela API (mapeado internamente e usado no tratamento de erro) — mensagens de limite ou bloqueio de uso costumam aparecer ali, assim como erros HTTP 429 (too many requests) ou 401/403 (credencial inválida ou sem permissão).

  • Módulos comerciais: como o sistema Pacto é modular, é possível que a liberação da API dependa de um módulo/complemento contratado à parte — assim como a EVO exige o plano Black. Valide isso com a Pacto antes de prometer a integração a um cliente.

O que o miniapp faz

As ações abaixo são as publicadas no catálogo do app (organizadas nas mesmas pastas usadas no editor: Leads & Dados de Contato e Dados de Alunos).

Leads & Dados de Contato

Ação

O que faz

Endpoint

Entradas principais

Saídas

Ação

O que faz

Endpoint

Entradas principais

Saídas

Consultar Informações de Clientes (Filtros)

Retorna clientes com base em e-mail ou CPF

GET /psec/clientes/consultarClienteJson

ID da Empresa (obrigatório, select dinâmico); E-mail, CPF (opcionais, ao menos um recomendado)

ID do Cliente, N° Matrícula, Data de Nascimento, Situação Atual, E-mail, Telefone, CPF (1º da lista) + Todos os Clientes Listados (JSON)

Consultar Cliente por ID

Retorna os dados do cliente pelo ID

GET /v1/cliente/{codigo}

ID do Cliente (obrigatório)

Nome, N° Matrícula, Situação Atual, CPF, Telefones (array), Data de Nascimento, E-mails (array), Todas as Informações (JSON)

Incluir Cliente

Cadastra um cliente como Visitante na empresa

POST /v2/cliente

ID da Empresa, Nome Completo, CPF, Celular (obrigatórios); N° Matrícula, Gênero, Data de Nascimento (opcionais)

ID do Cliente, Situação Atual, Todas as Informações (JSON)

Inserir Observações no Cliente

Grava uma observação no cadastro do cliente

POST /cliente/gravarobservacao

ID da Empresa, N° Matrícula, Observação (obrigatórios)

ID da Observação

Buscar Histórico de Presença

Obtém aulas realizadas, aulas no mês e semanas consecutivas de frequência

GET /cliente/historico-presenca

ID da Empresa, N° de Matrícula (obrigatórios)

Histórico (JSON)

Obter Informações do Plano do Cliente

Retorna o plano atual do cliente

GET /clientes/{matricula}/dados-plano

N° de Matrícula (obrigatório)

Todas as Informações (JSON), Nome do Plano, Situação Atual, Vínculos, Possui GymPass, Possui TotalPass

Dados de Alunos

Ação

O que faz

Endpoint

Entradas principais

Saídas

Ação

O que faz

Endpoint

Entradas principais

Saídas

Obter Objetivos do Aluno

Lista os objetivos cadastrados do aluno

GET /alunoTurma/objetivos/{matricula}

ID da Empresa, N° de Matrícula (obrigatórios)

Objetivos (JSON)

Obter Parcelas em Aberto

Lista as parcelas em aberto do aluno (situação "EA", ignora remessa e multa/juros)

GET /parcelas/by-matricula/{matricula}

N° da Matrícula (obrigatório)

Parcelas em Aberto (JSON)

Obter Saldo do Aluno

Retorna o saldo atual da conta corrente do aluno

GET /clientes/{matricula}/saldo-conta-corrente

N° Matrícula (obrigatório)

Saldo Atual

Em desenvolvimento: o editor do app tem um décimo sub-fluxo, "Atualizar Situação de um Aluno" (endpoint previsto /psec/alunos/situacao/{id}), que ainda não foi publicado como ação no catálogo do app — hoje ele não aparece na lista de ações instaláveis. Antes de divulgar essa ação a clientes, finalize a chamada ao endpoint correto no editor do sub-fluxo.

Dicas e observações

  • Tratamento de erros: quando a Pacto recusa ou falha uma chamada, a ação cai no bloco action_failed, alimentado pelo conteúdo de $.meta da resposta — use o caminho de erro do bloco para tratar no fluxo (ex.: credencial inválida, matrícula não encontrada, limite de uso atingido).

  • Limpeza de payload: em ações de escrita (ex.: Incluir Cliente), um passo de JavaScript remove do payload os campos undefined, null ou string vazia antes de montar o corpo da requisição — evita enviar chaves em branco que a API poderia rejeitar ou interpretar incorretamente.

  • N° de Matrícula é a chave principal: a maioria das ações de consulta de aluno (Parcelas, Saldo, Plano, Objetivos, Histórico, Observação) usa a Matrícula como identificador — ela sai de Incluir Cliente/Consultar Cliente e deve ser guardada em variável do bot ou do CRM assim que obtida.

  • ID do Cliente encadeado: o ID do Cliente retornado por Incluir Cliente ou Consultar (Filtros) alimenta a ação Consultar Cliente por ID.

  • Select dinâmico de Empresa: o campo ID da Empresa carrega as opções direto da conta Pacto conectada (fonte dinâmica "empresas"), escolhida uma vez no desenho do fluxo.

  • Economize requisições: como não há confirmação pública de limites, trate a API da Pacto com a mesma cautela recomendada para a EVO — evite repetir consultas de catálogo/situação a cada mensagem e monitore respostas de erro que indiquem limite de uso.