Conexa MCP
The Conexa MCP server connects AI assistants to the Conexa business management platform, providing 83 tools covering the full Conexa API v2 for managing sales, clients, contracts, finances, and coworking operations.
Sales: Create, read, update, delete, and list one-time and recurring sales (filter by customer, seller, company, etc.).
Customers & Persons: Create, read, update, and delete customers (individuals, legal entities, or foreigners) and associated persons (partners, guarantors, etc.).
Leads: Register potential customers in the CRM.
Contracts & Plans: Create, read, update, end, delete, and request electronic signatures (via D4Sign) for contracts; full CRUD for plans.
Products/Services: Create, read, update, delete, and list products and services.
Billing & Charges: Create and retrieve charges, settle charges manually, retrieve PIX payment data, register credit cards (Cielo), and list/filter charges by status, due date, customer, and more.
Financial/Expenses: Create and retrieve bills; browse categories, subcategories, cost centers, and bank accounts; list invoicing, receiving, and payment methods.
Suppliers: Create, read, and list suppliers.
Extra Fields: Full CRUD for custom fields on customers, plans, or contracts.
Units & Service Categories: Retrieve and list company units and service categories.
Coworking: Create, read, update, cancel, list, and check out room bookings; record check-ins and check-outs for workspace usage.
Utilities: Test the API connection to verify authentication and configuration.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Conexa MCP Liste as cobranças em aberto deste mês"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Conexa MCP
Open source, criado por Eric Luciano na Mentoria Automações Inteligentes (Expert Integrado).
O servidor se identifica no handshake MCP com uma linha de procedência; para desativar (ex.: white-label), defina EXPERT_NO_PROVENANCE=1 no ambiente.
→ Como funciona o Conexa MCP — a página do projeto, com o sistema explicado visualmente.
Conecte o Claude (ou qualquer assistente de IA compatível com MCP) ao seu sistema Conexa.
Depois de instalado, você pode simplesmente conversar com a IA:
"Liste as cobranças em aberto deste mês" "Cadastre o cliente João da Silva, CPF 123.456.789-00" "Quais salas estão reservadas para amanhã?" "Crie uma venda do produto X para o cliente Y"
São 83 ferramentas cobrindo toda a API v2 do Conexa: vendas, clientes, pessoas, planos, contratos, vendas recorrentes, produtos, cobranças, despesas, fornecedores, campos extras, centros de custo, contas, unidades, reservas de sala, check-in/check-out e mais.
🚀 Instalação com ajuda da IA (recomendado)
Não precisa entender de programação. Copie o bloco abaixo e cole em uma conversa com o Claude (Claude Code, Claude Desktop ou outro agente de IA que consiga executar comandos no seu computador). Ele verifica os pré-requisitos, oferece pilotar o navegador na etapa do token e só declara pronto depois de validar a conexão de verdade.
Pré-requisitos: Node.js 18+ · um cliente MCP (Claude Code ou Claude Desktop) · acesso de administrador ao seu Conexa.
Quero instalar o servidor MCP do Conexa (https://github.com/Expert-Integrado/conexa-mcp) nesta máquina. Conduza o processo do início ao fim, nesta ordem, sem pular a validação final:
1. PRÉ-REQUISITOS — verifique com comandos reais: rode "node --version" (precisa ser 18 ou superior). Se o Node.js não estiver instalado, me oriente a instalar pelo site https://nodejs.org e só continue depois de confirmar. Identifique também qual cliente estou usando (Claude Code, Claude Desktop ou outro cliente MCP).
2. SUBDOMÍNIO — me pergunte o subdomínio do meu Conexa: é a primeira parte do endereço que uso para acessar o sistema (se acesso "minhaempresa.conexa.app", o subdomínio é "minhaempresa"). Não continue sem essa resposta.
3. TOKEN DE APLICAÇÃO (etapa de navegador) — o token é criado dentro do Conexa, no menu Config > Integrações > API / Token, por um usuário administrador. Antes de executar, pergunte com a ferramenta AskUserQuestion (botões; se o cliente não tiver botões, pergunte em texto): "Essa etapa é no navegador. Quer que eu faça para você?" com estas opções:
- "Sim, pilote o navegador" (opção padrão): use o Playwright MCP; se ele não estiver instalado, instale antes com "claude mcp add playwright -- npx -y @playwright/mcp@latest" e me avise caso precise reiniciar a sessão. Abra https://SUBDOMINIO.conexa.app, PARE na tela de login e peça para eu fazer o login sozinho — NUNCA peça minha senha no chat. Depois que eu confirmar que entrei, navegue até Config > Integrações > API / Token e me ajude a gerar e copiar o Token de Aplicação.
- "Usar o Claude in Chrome": mesmo roteiro, pilotando o meu Chrome (que já tem minha sessão logada).
- "Prefiro fazer manualmente": me passe o passo a passo — acessar https://SUBDOMINIO.conexa.app com usuário administrador, abrir Config > Integrações > API / Token, gerar o token e colar aqui UMA única vez, só para ele ir direto para o arquivo de configuração local.
4. REGISTRO DO MCP — configure o servidor com as variáveis de ambiente corretas:
- Claude Code: claude mcp add conexa --scope user --env CONEXA_SUBDOMAIN=<subdominio> --env CONEXA_TOKEN=<token> -- npx -y conexa-mcp
- Claude Desktop: adicione ao claude_desktop_config.json (menu Configurações > Desenvolvedor > Editar configuração) o servidor "conexa" com command "npx", args ["-y", "conexa-mcp"] e as variáveis CONEXA_SUBDOMAIN e CONEXA_TOKEN.
- Outro cliente MCP: configuração equivalente (command: npx -y conexa-mcp + as duas variáveis).
5. SEGURANÇA — o token vive SOMENTE no arquivo de configuração local do MCP (ou em um .env local). Não repita o token na conversa depois de salvo, não grave em outros arquivos e nunca envie para a internet ou para um repositório.
6. VALIDAÇÃO REAL — peça para eu reiniciar o cliente (fechar e abrir) e então chame a ferramenta test_connection do servidor conexa. Só considere a credencial válida se a resposta confirmar que a conexão está funcionando. Se der erro, leia a mensagem (token errado, subdomínio errado e token expirado são as causas mais comuns) e me ajude a corrigir antes de seguir.
7. TESTE FINAL E RESUMO — faça uma chamada de leitura de verdade (por exemplo, list_companies com limit 1), me mostre o resultado e termine com um resumo: o que foi instalado, onde o token ficou salvo e 3 exemplos de pedidos que eu já posso fazer.O que você vai precisar ter em mãos
Informação | Onde encontrar |
Subdomínio | O endereço que você usa para acessar o Conexa: |
Token de Aplicação | Dentro do Conexa: Config > Integrações > API / Token (precisa ser administrador) |
Guia detalhado passo a passo — incluindo Claude Desktop, execução a partir do código-fonte e solução de problemas: INSTALL.md.
Related MCP server: mcp-creatio
🔧 Instalação manual
claude mcp add conexa --scope user \
--env CONEXA_SUBDOMAIN=minhaempresa \
--env CONEXA_TOKEN=seu_token_aqui \
-- npx -y conexa-mcpEdite o arquivo claude_desktop_config.json (menu Configurações > Desenvolvedor > Editar configuração) e adicione dentro de mcpServers:
{
"mcpServers": {
"conexa": {
"command": "npx",
"args": ["-y", "conexa-mcp"],
"env": {
"CONEXA_SUBDOMAIN": "minhaempresa",
"CONEXA_TOKEN": "seu_token_aqui"
}
}
}
}Depois feche e abra o Claude Desktop.
git clone https://github.com/Expert-Integrado/conexa-mcp.git
cd conexa-mcp
npm install
npm run buildE aponte seu cliente MCP para node <caminho>/conexa-mcp/dist/index.js com as variáveis de ambiente abaixo.
Variáveis de ambiente
Variável | Obrigatória | Descrição |
| Sim* | Subdomínio do seu Conexa ( |
| Sim** | Token de Aplicação (recomendado) — criado em Config > Integrações > API / Token |
| Alternativa** | Login e senha de um usuário admin/funcionário. O servidor faz o login e renova a sessão sozinho |
| Alternativa* | URL completa da API, caso seu ambiente não siga o padrão |
* Informe CONEXA_SUBDOMAIN ou CONEXA_BASE_URL · ** Informe CONEXA_TOKEN ou usuário e senha.
🔒 Segurança
O token nunca sai do seu computador: fica apenas no arquivo de configuração local do seu cliente MCP e é enviado somente para o seu próprio Conexa (
https://SEUSUBDOMINIO.conexa.app).Nada de credenciais no código, em logs ou neste repositório.
O servidor respeita o limite oficial de 60 requisições/minuto da API (com espera automática) e tenta novamente sozinho quando o limite é atingido.
Ferramentas de exclusão/encerramento são marcadas como destrutivas — clientes como o Claude pedem sua confirmação antes de executá-las.
🧰 Ferramentas disponíveis
Uma ferramenta para cada endpoint da API v2 do Conexa, organizadas por área:
Área | Ferramentas |
Vendas |
|
Clientes |
|
Pessoas |
|
Planos |
|
Contratos |
|
Vendas recorrentes |
|
Produtos |
|
Cobranças |
|
Financeiro |
|
Meios de pagamento |
|
Fornecedores |
|
Campos extras |
|
Unidades e serviços |
|
Leads |
|
Coworking |
|
Utilitário |
|
Observações:
A rota
POST /authda API não vira ferramenta: o próprio servidor a utiliza internamente quando você configura usuário/senha.Listagens usam paginação (
limit/offset) e aceitam os filtros documentados pela API (ex.:customerId,status, datas). Filtros de múltiplos valores aceitam vírgula:"450,216".Webhooks do Conexa estão fora do escopo deste servidor (webhooks exigem um serviço recebendo chamadas na internet, não um servidor local).
👩💻 Para desenvolvedores
npm install # dependências
npm run generate # regenera src/endpoints.ts a partir de spec/postman-collection.json
npm run build # compila TypeScript para dist/
npm test # smoke test (handshake MCP + contagem de tools via stdio)As definições das 82 ferramentas de API são geradas automaticamente da collection Postman oficial (spec/postman-collection.json). Quando a Conexa atualizar a documentação, basta baixar a collection nova e rodar npm run generate.
Licença
Available Tools
83 toolscancel_room_bookingPATCH /room/booking/:id/cancel (Conexa Coworking > Booking)ADestructive
Cancela uma Reserva de Sala na Conexa.
Campos do body:
cancelSale (boolean): Indicativo se deseja cancelar a reserva e a venda associada. Default: true
sendEmailCustomer (boolean): Indicativo se deve enviar um e-mail para o cliente. Default: true
sendEmailRequester (boolean): Indicativo se deve enviar um e-mail para o solicitante. Default: true
sendEmailVisitors (boolean): Indicativo se deve enviar um e-mail para o convidado. Default: true
Inputs: id (required), body (required).
checkout_room_bookingPOST /room/booking/:id/checkout (Conexa Coworking > Check-out)A
Registro de Check-Out de Sala através do ID da reserva ( bookingId ) no sistema Conexa.
Campos do body:
sendEmail (boolean): Flag que envia o checkout por email ao cliente e solicitante (caso exista na reserva)
Inputs: id (required), body (required).
create_billPOST /bill (Bill)B
Criação de uma despesa avulsa no sistema Conexa.
Exemplo de body: { "companyId": 3, "dueDate": "2024-10-01", "amount": 15.99, "costCenters": [ { "id": 1, "percentage": 100 } ], "subcategoryId": 1, "supplierId": 1, "description": "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", "accountId": 15, "documentDate": "2024-09-15", "competenceDate": "2024-10-01", "documentNumber": "155687841324849214", "digitableLine": "00000.00000 00000.000000 00000.000000 0 00000000000000", "cac": { "isIncluded": true, "percentage": 30 } }
Inputs: body (required).
create_chargePOST /charge (Charge)C
Criação de uma cobrança avulsa no sistema Conexa.
Exemplo de body: { "salesIds": [188087, 188088], "invoicingMethodId": 2, "dueDate": "2024-12-01", "notes": "Lorem ipsum eget morbi" }
Inputs: body (required).
create_checkinPOST /checkin (Conexa Coworking > Check-in)B
⚠️ Disponível apenas para Conexa Coworking Registro de Check-In (data e hora atuais) através do ID da pessoa ( personId ) e do ID do espaço de trabalho ( workSpaceId ) no sistema Conexa. ℹ️ É permitido realizar um Check-In retroativo, porém é necessário informar horário de Check-Out!
Campos do body:
personId (integer) [obrigatório]: ID da pessoa
workspaceId (integer) [obrigatório]: ID do espaço de trabalho
notes (string): Observações
datetime (string): Data e hora do check-in. Formato: W3C ( Y-m-d\TH:i:sP )
checkoutDatetime (string) [obrigatório]: Data e hora do check-out, sendo no mesmo dia que o check-in. Formato: W3C ( Y-m-d\TH:i:sP )
Inputs: body (required).
create_checkoutPOST /checkout (Conexa Coworking > Check-out)A
Registro de Check-Out através do ID da pessoa ( personId ), ID do espaço de trabalho ( workSpaceId ) e da data e hora ( datetime ) no sistema Conexa. Caso não seja informado o datetime , será utilizado data e hora atuais. ℹ️ É permitido realizar um Check-Out pendente, informando a data e horário de Check-Out no parâmetro datetime !
Campos do body:
personId (integer) [obrigatório]: ID da pessoa
workspaceId (integer) [obrigatório]: ID do espaço de trabalho
datetime (string): Data e hora do check-out. Formato: W3C ( Y-m-d\TH:i:sP )
notes (string): Observações
Inputs: body (required).
create_contractPOST /contract (Contract)A
Cadastro de um contrato para um Cliente no sistema Conexa.
Campos do body:
planId (integer) [obrigatório]: ID do plano
customerId (integer) [obrigatório]: ID do cliente
paymentFrequency (integer) [obrigatório]: Periodicidade do pagamendo do contrato conforme o plano, podendo ser: monthly , bimonthly , quarterly , semester e yearly
startDate (string) [obrigatório]: Data de início. Formato: yyyy-MM-dd
endDate (string): Data de encerramento. Formato: yyyy-MM-dd
firstDueDate (string) [obrigatório]: Determina a data de vencimento da primeira parcela. Formato yyyy-mm-dd
dueDay (integer) [obrigatório]: Dia de vencimento do contrato
fidelityDate (string): Data de fidelidade. Formato: yyyy-MM-dd
amount (decimal): Valor do contrato¹
discountValue (decimal): Valor do desconto aplicado ao valor do contrato (em reais)
sellerId (integer): ID do vendedor (usuário)
contractSummary (string): Descrição resumida do contrato
notes (string): Observações
membershipFee (decimal): Taxa de adesão do contrato
generateSales (string): Define a partir de quando deve gerar as vendas, podendo ser: firstOccurrence , currentOccurrence, nextOccurrence ou firstOccurrenceSettleRetroactive
expenseSettlement (object): Configura informações necessárias para quitar as cobranças retroativas, caso generateSales for firstOccurrenceSettleRetroactive .
expenseSettlement.receivingMethodId (integer): ID do meio de recebimento a ser utilizado para quitar as vendas retroativas
expenseSettlement.accountId (integer): ID da conta bancária a ser utilizada para quitar as vendas retroativas
prorataType (string): Define a forma como a prorata dese ser cálculada. Podendo ser: startOfMonth , notCalculate ou perDueDate (está última depende da configuração do sistema)
nfseDescription (string): Descrição utilizada na NFSe
refund (object / null): Configura os dados do depósito retornável. Informe null para não gerar, mesmo que esteja configurado no plano
refund.amount (decimal): Valor do depósito retornável
refund.dateLimit (string) [obrigatório]: Data de vencimento do depósito retornável
refund.isToGenerateRefundBillet (boolean) [obrigatório]: Define se deve ser gerado um boleto do depósito retornável
complementaryServices (array of objects): Define os serviços complementares que serão adicionados ao contrato
complementaryServices[].productOrServiceId (integer) [obrigatório]: Id do produto ou serviço
complementaryServices[].quantity (integer) [obrigatório]: Quantidade do produto ou serviço
complementaryServices[].amount (decimal): Valor final do serviço
complementaryServices[].notes (string): Observações
extraFields (array of objects / null): Lista de campos extras do contrato. Enviar null ou omitir para não alterar. Os campos extras devem ser do tipo contract
extraFields[].id (integer) [obrigatório]: ID do campo extra
extraFields[].value (string) [obrigatório]: Valor do campo extra
discountOnRooms (decimal): Desconto (%) aplicado às reservas de salas realizadas pelo contratante
discountOnWorkstation (decimal): Desconto (%) aplicado às reservas de ambientes compartilhados realizadas pelo contratante
privateSpaceId (integer): ID do Escritório Privativo vinculado ao Contrato
isSmsEnabled (boolean): Indica se o envio de recados via SMS está habilitado no contrato
calculateProrataHourPackage (boolean): Define se deve ser realizado o cálculo do prorata nos pacotes de horas
serviceCorrespondeceQuotas (object): Configura as cotas de Atendimento e Correpondência
serviceCorrespondeceQuotas.limited (boolean): Define se a quantidade de atendimentos ou correspondências é ou não limitada
serviceCorrespondeceQuotas.messagesLimit (integer) [obrigatório]: Define o limite de atendimentos ou correspondências. Definir como 0 para não adicionar cotas ao contrato
serviceCorrespondeceQuotas.priceAdditionalMessage (decimal) [obrigatório]: Define o valor a ser pago por atendimentos ou correspondências caso o limite seja ultrapassado
Inputs: body (required).
create_credit_cardPOST /creditCard (Credit Card)A
Cadastro do cartão de crédito do cliente no sistema Conexa, através da Cielo. Obs.: os dados importantes do cartão (número e CVC) ficam armazenados somente na Cielo de forma criptografada.
Exemplo de body: { "customerId": 450, "number": "3481 273342 18775", "name": "Luke Skywalker", "expirationDate": "04/25", "cvc": "4692", "brand": null, "default": true, "enableRecurring": true }
Inputs: body (required).
create_customerPOST /customer (Customer)B
Criação de um cliente no sistema Conexa. ⚠ Fique atento ao produto do seu sistema. Há campos que não são necessários!
Campos do body:
companyId (integer) [obrigatório]: ID da unidade
name (string) [obrigatório]: Nome do cliente
tradeName (string / null): Nome fantasia
pronunciation (string / null): Pronúncia
fieldOfActivity (string / null): Ramo de atividade
notes (string / null): Observações
cellNumber (string / null): Celular
website (string / null): Site
hasLoginAccess (boolean): Tem acesso a área do cliente
login (string / null) [obrigatório]: Login da área do cliente
password (string / null) [obrigatório]: Senha da área do cliente
automaticallyIssueNfse (string / null): Emitir NFS-e automaticamente. A opção deve ser uma das seguintes: whenGeneratingBilling , afterPaymentBilling , notIssue
notesNfse (string / null): Observações da NFS-e
taxDeductions (object): Retenção de Imposto Municipal e Federal
taxDeductions.iss (boolean): Retém ISS (Imposto Municipal)
taxDeductions.ir (boolean): Retém IR (Imposto Federal)
taxDeductions.pis (boolean): Retém PIS (Imposto Federal)
taxDeductions.inss (boolean): Retém INSS (Imposto Federal)
taxDeductions.csll (boolean): Retém CSLL (Imposto Federal)
taxDeductions.cofins (boolean): Retém COFINS (Imposto Federal)
naturalPerson (object): Objeto com os dados referentes a um cliente Pessoa Física
naturalPerson.cpf (string / null): CPF
naturalPerson.rg (string / null): RG
naturalPerson.birthDate (date): Data de aniversário. Formato: yyyy-MM-dd
naturalPerson.issuingAuthority (string / null): Órgão expedidor
naturalPerson.profession (string / null): Profissão
naturalPerson.maritalStatus (string / null): O estado civil do cliente, sendo: " married ", " single ", " divorced ", " widowed " ou " not informed "
legalPerson (object): Objeto com os dados referentes a um cliente Pessoa Jurídica
legalPerson.cnpj (string / null): CNPJ
legalPerson.foundationDate (date): Data de fundação. Formato: yyyy-MM-dd
legalPerson.stateInscription (string / null): Inscrição estadual
legalPerson.municipalInscription (string / null): Inscrição municipal
foreign (object): Objeto com os dados de estrangeiro
foreign.document (string / null): Número do documento de identificação estrangeiro
foreign.birthDate (date): Data de aniversário. Formato: yyyy-MM-dd
foreign.profession (string / null): Profissão
address (object): Objeto com o endereço do cliente
address.zipCode (string / null): CEP
address.country (string / null): País de origem (apenas se for estrangeiro )
address.state (string / null): Sigla do estado (UF)
address.city (string / null): Cidade
address.street (string / null): Logradouro
address.number (string / null): Número
address.neighborhood (string / null): Bairro
address.additionalDetails (string / null): Complemento
phones (string[]): Array com os telefones de contato. Os telefones devem ter 10 ou 11 números.
emailsMessage (string[]): Array com os e-mails para envio de recados
emailsFinancialMessages (string[]): Array com os e-mails para envio de avisos financeiros
tagsId (integer[]): Array com os IDs das Tags para associar ao cliente
extraFields (array of objects): Array de objetos de Campos Extras
extraFields[].id (integer) [obrigatório]: ID do Campo Extra
extraFields[].value (string): Valor para o Campo Extra
isNetworkingProfileVisible (boolean): Exibir perfil do cliente na área de Networking da área do cliente
isBlockedBookingCustomerArea (boolean): Não permite que o cliente cadastre novas reservas pela área do cliente, caso hasLoginAccess seja true
isAllowedBookingOutsideBusinessHours (boolean): Permite reservar fora do horário de funcionamento padrão, caso hasLoginAccess seja true
internetPlan (string / null): Nome do plano de internet (Disponível apenas com o módulo Mikrotik ativo)
businessPresentation (string / null): Breve apresentação sobre o cliente
offeredServicesProducts (string / null): Serviços e produtos oferecidos
receptionOrientations (string / null): Orientações para atendimento
mailingOrientations (string / null): Orientações para correspondência
mailingAddress (object): Objeto com o endereço para correspondências
mailingAddress.zipCode (string / null): CEP
mailingAddress.state (string / null): Sigla do estado (UF)
mailingAddress.city (string / null): Cidade
mailingAddress.street (string / null): Logradouro
mailingAddress.number (string / null): Número
mailingAddress.neighborhood (string / null): Bairro
mailingAddress.additionalDetails (string / null): Complemento
mailingAddress.landmark (string / null): Ponto de referência
extensionNumbers (string[]): Array com os ramais
defaultDueDay (integer): Dia de vencimento padrão do cliente
Inputs: body (required).
create_extra_fieldPOST /extraField (Extra Field)A
Criação de um Campo Extra no sistema Conexa.
Campos do body:
name (string) [obrigatório]: Nome do campo extra (máx. 255 caracteres)
type (string) [obrigatório]: Tipo do campo extra. Valores aceitos: customer , plan , contract . Padrão: customer
showCustomerService (boolean): Exibir campo nas informações de atendimento. Permitido apenas quando type for customer
Inputs: body (required).
create_personPOST /person (Person)A
Criação de uma pessoa, associada a um cliente, no sistema Conexa. ⚠ Fique atento ao produto do seu sistema. Há campos que não são necessários!
Exemplo de body: { "customerId": 31, "name": "John Doe Sete", "nationality": "brasileiro", "placeOfBirth": "Feira de Santana", "maritalStatus": "married", "isForeign": false, /"foreignData": { "zipCode": "30058", "country": "United States", "city": "Panola", "state": "Georgia", "street": "Lakeland", "number": "93", "neighborhood": "Park Drive", "additionalDetails": "", "document": "22225555522" },/ "isCompanyPartner": true, "isGuarantor": true, "cpf": "245.679.031-61", "rg": "33.892.656-2", "issuingAuthority": "SSP-BA", "birthDate": "1994-05-01", "cellNumber": "(95) 98126-1744", "phones": [ "(61) 3746-3590", "(61) 3746-3590" ], "emails": [ "teste@gmail.com", "teste2@gmail.com" ], "sex": "M", "jobTitle": "", "profession": "", "resume": "", "notes": "", "address": { "zipCode": "44380000", "state": "BA", "city": "Cruz das Almas", "street": "Rua Silvestre Mendes", "number": "935", "neighborhood": "Centro", "additionalDetails": "Apt. 02" }, "hasLoginAccess": true, "login": "johndoesete", "password": "!5CqTBdeM[&x91zb2", "permissions": [ "finance", "orders", "rooms", "sharedSpaces", "assistance", "correspondences", "printing" ], "accessId": "", "canReceiv…
Inputs: body (required).
create_planPOST /plan (Plan)A
Criação de um plano, utilizado no cadastro de contrato, no sistema Conexa.
Campos do body:
companyId (integer) [obrigatório]: ID da unidade
name (string) [obrigatório]: Nome do plano ( deve ser único )
serviceCategoryId (integer) [obrigatório]: ID da categoria de serviço
costCenterId (integer) [obrigatório]: ID do centro custo
description (string): Descrição do plano
paymentPeriodicities (array of objects): Opções de periodicidade de pagamento
paymentPeriodicities[].periodicity (string) [obrigatório]: Periodicidade de pagamento, podendo ser: monthly , bimonthly , quarterly , semester ou yearly
paymentPeriodicities[].amount (decimal) [obrigatório]: Valor do plano em determinada periodicidade
membershipFee (decimal): Taxa de adesão
refundValue (decimal): Valor de deposito retornavel
fidelityMonths (integer): Meses de fidelidade
productQuotas (array of objects): Cotas de serviços/itens (produtos) que vão estar associadas ao plano
productQuotas[].productId (integer) [obrigatório]: ID do serviço/item
productQuotas[].quantity (integer) [obrigatório]: Quantidade de cotas
nfseDescription (string): Descrição da nota fiscal
descriptionReceipt (string): Descrição do recibo (depende de configuração)
discountOnRooms (decimal): Valor em percentual de desconto em salas
discountOnWorkstation (decimal): Valor em percentual de desconto em ambientes compartilhados
isSmsEnabled (boolean): Flag para verificar se envia SMS. Padrão: false
serviceCorrespondenceQuotas (object): Configura as cotas de atendimentos e correspondências (depende de configuração)
serviceCorrespondenceQuotas.limited (boolean): Define se a quantidade de atendimentos e correspondências é ou não limitada
serviceCorrespondenceQuotas.messagesLimit (integer) [obrigatório]: Define o limite de atendimentos e correspondências. Definir como 0 para não adicionar cotas ao contrato
serviceCorrespondenceQuotas.priceAdditionalMessage (decimal) [obrigatório]: Define o valor a ser pago caso o limite de atendimentos e correspondências seja ultrapassado
bookingModels (array of objects): Lista de Modelos de Reserva (Estações de Trabalho do Ambiente Compartilhado)
bookingModels[].id (integer) [obrigatório]: ID do Modelo de reserva
bookingModels[].stations (integer) [obrigatório]: Quantidade de estações
privateSpaceIds (array): IDs de espaços privativos que o plano contempla
hourQuotas (array of objects): Pacotes de horas
hourQuotas[].hours (integer) [obrigatório]: Quantidade de horas da cota
hourQuotas[].periodicity (string) [obrigatório]: Frequência de disponibilidade de cota, podendo ser: daily , weekly ou monthly
hourQuotas[].spaceId (integer) [obrigatório]: ID do espaço
hourQuotas[].groupId (integer) [obrigatório]: ID do grupo
Inputs: body (required).
create_potential_customerPOST /potentialCustomer (Potential Customer)B
Cadastro de Cliente Potencial (Negociações) do CRM no sistema Conexa.
Exemplo de body: { "companyId": 3, "partnerId": 1, "contactNames": "João Caio Igor da Silva Neto", "name": "Lorem Ipsun Company Ltda", "phones": [ "(75) 2222-3333", "75 3885-3344", "75988776655" ], "emails": [ "lorem.ipsun@company.example.ltda", "joao.caio.igor@company.com" ], "responsibleUserId": 1, "statusId": 4, "contactMethodId": 2, "fieldOfActivityId": 36, "interestServicesIds": [ 1, 2, 3 ], "website": "https://www.exemplo.com.br", "notes": "Cliente interessado em nossos serviços", "receiveInformativeEmails": true }
Inputs: body (required).
create_productPOST /product (Product)A
Criação de um Item/Serviço no sistema Conexa.
Exemplo de body: { "name": "Serviço de Motoboy", "description": "Serviço de entrega de correspondências", "price": 10.9, "companyId": 3, "serviceCategoryId": 1, "costCenterId": 7, "isCustomerConsumable": false, "notificationsEmails": ["lorem.ipsun@dolor.cirius", "ipsun@dolor.cirius"], "nfseDescription": null, "receiptDescription": null }
Inputs: body (required).
create_recurring_salePOST /recurringSale (Recurring Sale)B
Criação de uma Venda Recorrente , cujo produto pode ser Serviço/Item ou Pacote de Horas (apenas Conexa Coworking) no sistema Conexa. ⚠ Fique atento ao produto do seu sistema. Há campos que não são necessários!
Campos do body:
customerId (integer) [obrigatório]: ID do cliente
type (string) [obrigatório]: 'product' para venda de Serviço/Item. 'package' para venda de Pacotes de Horas.
referenceId (integer) [obrigatório]: ID do Serviço/Item ou do Pacote de Horas
requesterId (integer): ID do solicitante
sellerId (integer): ID do vendedor (usuário)
frequency (string) [obrigatório]: Frequência da Venda Recorrente, podendo ser: 'daily' , 'weekly' , 'monthly' , 'bimonthly' , 'quarterly' , 'semester' , 'yearly'
isRepeat (boolean): Repetir a venda conforme a periodicidade ( frequency )
occurrenceQuantity (integer) [obrigatório]: Quantidade de ocorrências
startDate (string) [obrigatório]: Data de início
lastAdjustmentDate (string): Data do último reajuste
quantity (integer): Quantidade (não disponível para o tipo 'package' )
amount (decimal) [obrigatório]: Valor da venda recorrente
notes (string): Observações
isDiscountPreviousReservations (boolean): Aplicar desconto do Pacote de Horas em reservas anteriores
isCalculateProRata (boolean): Calcular Pro Rata proporcional ao mês de início da venda recorrente
Inputs: body (required).
create_room_bookingPOST /room/booking (Conexa Coworking > Booking)B
Cadastro de uma Reseva de Sala de Reunião no sistema Conexa.
Campos do body:
customerId (integer): ID do cliente
personId (integer): ID do solicitante
roomId (integer): ID da sala de reunião
date (string): Data da reserva. Formato: yyyy-MM-dd
startTime (string): Hora de início da reserva. Formato HH:mm
finalTime (string): Hora de término da reserva. Formato HH:mm
notes (string): Observações
sendCustomerEmail (boolean): Flag para envio do e-mail de atualização da reserva para o cliente
sendRequesterEmail (boolean): Flag para envio do e-mail de atualização da reserva para o solicitante
visitors (array of objects): Lista de convidados da reserva
visitors[].name (string): Nome do convidado
visitors[].email (string): E-mail do convidado
Inputs: body (required).
create_salePOST /sale (Sale)A
Criação de uma venda avulsa no sistema Conexa.
Campos do body:
customerId (integer) [obrigatório]: ID do cliente da venda
requesterId (integer): ID do solicitante da venda
sellerId (integer): ID do vendedor (usuário) que cadastrou a venda
productId (integer) [obrigatório]: ID do produto
quantity (integer) [obrigatório]: Quantidade de itens do produto. Deve ser um valor maior que zero
amount (decimal): Valor personalizado para a venda, tanto para aplicar desconto quanto para um valor diferente do preço do produto
referenceDate (string): Data de referência da venda. Formato W3C ( Y-m-d\TH:i:sP )
notes (string): Observações da venda
Inputs: body (required).
create_supplierPOST /supplier (Supplier)B
Criação de um fornecedor no sistema Conexa.
Exemplo de body: { "name": "Fake Company ABC", "fieldOfActivity": "Indústria", "notes": "Uma empresa que produz droides de batalha, incluindo os Droidekas", "cellNumber": "11988997766", "website": "fakeabc.app", "naturalPerson": { "cpf": "516.079.209-05", "rg": "30.340.779-7", "issuingAuthority": "SSP BA" }, "legalPerson": { "legalName": "Fake Company ABC Ltda", "cnpj": "99.557.155/0001-90", "stateInscription": "4569", "municipalInscription": "145263" }, "address": { "zipCode":"13058-111", "state": "SP", "city": "Campinas", "street": "Rua Alziro Arten", "number": "443", "neighborhood": "Conjunto Habitacional Parque da Floresta", "additionalDetails": "Sala 4, Térreo" }, "phones": ["(75) 2222-5455", "(75) 3885-3355"], "emails" : ["admin@fakeabc.com", "crm@fakeabc.com"], "contactPersonNames": ["Maria", "José", "João"] }
Inputs: body (required).
delete_contractDELETE /contract/:id (Contract)BDestructive
Exclusão de um contrato no Conexa.
Inputs: id (required).
delete_customerDELETE /customer/:id (Customer)ADestructive
Exclusão de um cliente no Conexa, quando não há registros (vendas, cobranças e etc) vinculada ao cliente.
Inputs: id (required).
delete_extra_fieldDELETE /extraField/:id (Extra Field)ADestructive
Exclusão de um Campo Extra no sistema Conexa. ⚠ A exclusão é permanente. Todos os valores desse campo extra vinculados a clientes, planos ou contratos serão removidos junto.
Inputs: id (required).
delete_personDELETE /person/:id (Person)ADestructive
Exclusão de uma pessoa (associada a um cliente) no sistema Conexa. É necessário que a pessoa não tenha vínculo com vendas, impressões e/ou correspondências para que a exclusão seja realizada!
Inputs: id (required).
delete_planDELETE /plan/:id (Plan)CDestructive
Exclusão de um plano no Conexa.
Inputs: id (required).
delete_productDELETE /product/:id (Product)ADestructive
Exclusão de um serviço/item no Conexa. Obs.: É necessário que o serviço/item esteja desativado para poder ser excluído!
Inputs: id (required).
delete_recurring_saleDELETE /recurringSale/:id (Recurring Sale)CDestructive
Exclusão de uma venda recorrente no Conexa.
Inputs: id (required).
delete_saleDELETE /sale/:id (Sale)ADestructive
Exclusão de uma venda avulsa no Conexa não faturada.
Inputs: id (required).
end_contractPATCH /contract/end/:id (Contract)ADestructive
Encerra um contrato ativo ou atualiza a data de encerramento de um contrato no sistema Conexa.
Exemplo de body: { "date":"2024-05-01", "reasonId": 2, "unlinkCustomer": true }
Inputs: id (required), body (required).
end_recurring_salePATCH /recurringSale/end/:id (Recurring Sale)BDestructive
Encerra uma venda recorrente ativa ou atualiza a data de encerramento de uma venda recorrente no sistema Conexa.
Exemplo de body: { "date":"2024-10-31" }
Inputs: id (required), body (required).
get_accountGET /account/:id (Account)ARead-only
Recuperação dos dados de Conta Bancária.
Inputs: id (required).
get_billGET /bill/:id (Bill)CRead-only
Recuperação dos dados de Despesa. Abaixo exibimos uma tabela do que será retornado dado o tipo de versão do software Conexa.
Inputs: id (required).
get_bill_categoryGET /billCategory/:id (Bill Category)CRead-only
Recuperação dos dados da Categoria da Despesa.
Inputs: id (required).
get_bill_subcategoryGET /billSubcategory/:id (Bill Subcategory)CRead-only
Recuperação dos dados da Subcategoria da Despesa.
Inputs: id (required).
get_chargeGET /charge/:id (Charge)BRead-only
Recuperação da cobrança dado o seu ID. Abaixo exibimos uma tabela dos possíveis valores que será retornado nos campos. ⚠ Fique atento ao produto do seu sistema. Há campos que não serão retornados!
Inputs: id (required).
get_charge_pixGET /charge/pix/:id (Charge)ARead-only
Retorna o Pix gerado no Conexa para o ID da cobrança informado.
Inputs: id (required).
get_companyGET /company/:id (Company)ARead-only
Recuperação dos dados de uma Unidade no sistema Conexa.
Inputs: id (required).
get_contractGET /contract/:id (Contract)ARead-only
Recupera as informações de um Contrato a partir do ID.
Inputs: id (required).
get_cost_centerGET /costCenter/:id (Cost Center)CRead-only
Recuperação dos dados do Centro de Custo.
Inputs: id (required).
get_customerGET /customer/:id (Customer)BRead-only
Recuperação dos dados dos clientes. Abaixo exibimos uma tabela do que será retornado dado o tipo de versão do software Conexa.
Inputs: id (required).
get_extra_fieldGET /extraField/:id (Extra Field)BRead-only
Recuperação dos dados de um Campo Extra.
Inputs: id (required).
get_invoicing_methodGET /invoicingMethod/:id (Invoicing Method)BRead-only
Recuperação dos dados de um Meio de Faturamento na Conexa.
Inputs: id (required).
get_payment_methodGET /paymentMethod/:id (Payment Method)ARead-only
Recuperação dos dados do Meio de Recebimento.
Inputs: id (required).
get_personGET /person/:id (Person)ARead-only
Recuperação dos dados de uma pessoa. ⚠ Alguns campos podem não estar presentes a depender de módulos opcionais ou tipo de sistema contratado.
Inputs: id (required).
get_planGET /plan/:id (Plan)ARead-only
Recuperação dos dados de um Plano no Conexa. ⚠ Fique atento ao produto do seu sistema. Há campos que não serão retornados!
Inputs: id (required).
get_productGET /product/:id (Product)ARead-only
Recuperação dos dados de Itens/Serviços (produtos). Abaixo exibimos uma tabela do que será retornado dado o tipo de versão do software Conexa. ⚠ Fique atento ao produto do seu sistema. Há campos que não serão retornados!
Inputs: id (required).
get_receiving_methodGET /receivingMethod/:id (Receiving Method)BRead-only
Recuperação dos dados do Meio de Recebimento.
Inputs: id (required).
get_recurring_saleGET /recurringSale/:id (Recurring Sale)ARead-only
Recuperação das informações de uma Venda Recorrente, a partir do ID, no sistema Conexa. ⚠ Fique atento ao produto do seu sistema. Há campos que não serão retornados!
Inputs: id (required).
get_room_bookingGET /room/booking/:id (Conexa Coworking > Booking)BRead-only
Recuperação dos dados de uma Reserva de Sala na Conexa.
Inputs: id (required).
get_saleGET /sale/:id (Sale)BRead-only
Recuperação dos principais dados de uma venda, independente de ser avulsa ou recorrente.
Inputs: id (required).
get_service_categoryGET /serviceCategory/:id (Service Category)BRead-only
Recuperação dos dados de Categoria de Serviço.
Inputs: id (required).
get_supplierGET /supplier/:id (Supplier)ARead-only
Recuperação dos dados de Fornecedor.
Inputs: id (required).
list_accountsGET /accounts (Account)ARead-only
Listagem paginada de Contas. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, limit, offset, isActive.
list_bill_categoriesGET /billCategories (Bill Category)ARead-only
Listagem paginada de Categorias de Despesa. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, name, limit, offset, +1 more.
list_billsGET /bills (Bill)ARead-only
Listagem paginada de Despesas. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, limit, offset, status, +4 more.
list_bill_subcategoriesGET /billSubcategories (Bill Subcategory)ARead-only
Listagem paginada de Subcategorias de Despesa. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, name, limit, offset, +2 more.
list_chargesGET /charges (Charge)ARead-only
Listagem paginada de Cobranças. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, limit, tagId, offset, +9 more.
list_companiesGET /companies (Company)ARead-only
Listagem paginada de Unidades. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, city, cnpj, limit, +4 more.
list_contractsGET /contracts (Contract)ARead-only
Listagem paginada de Contratos. Os itens definidos como array podem ter múltiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, limit, offset, companyId.
list_cost_centersGET /costCenters (Cost Center)ARead-only
Listagem paginada de Centros de Custo. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, name, limit, offset.
list_customersGET /customers (Customer)ARead-only
Listagem paginada de clientes. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. Consultar exemplo: (200) Success - Conexa Recorrência . ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, name, limit, offset, +1 more.
list_extra_fieldsGET /extraFields (Extra Field)ARead-only
Listagem paginada de Campos Extras. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: type, limit, offset.
list_invoicing_methodsGET /invoicingMethods (Invoicing Method)ARead-only
Listagem paginada de Meios de Faturamento. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, type, limit, offset, +2 more.
list_payment_methodsGET /paymentMethods (Payment Method)ARead-only
Listagem paginada de Meios de Pagamento. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: name, limit, offset.
list_personsGET /persons (Person)ARead-only
Listagem paginada de pessoas. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. Consultar exemplo: (200) Success - Conexa Recorrência/Contabilidade . ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Exemplo de body: { "username": "admin", "password": "lorem.ipsun0" }
Inputs: id, cpf, limit, offset, +1 more.
list_plansGET /plans (Plan)ARead-only
Listagem paginada de Planos. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: limit, offset, companyId.
list_productsGET /products (Product)ARead-only
Listagem paginada de Serviços/Itens. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: limit, offset, isActive, companyId.
list_receiving_methodsGET /receivingMethods (Receiving Method)ARead-only
Listagem paginada de Meios de Recebimento. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, limit, offset, isInstallmentFee.
list_recurring_salesGET /recurringSales (Recurring Sale)ARead-only
Listagem paginada de Vendas Recorrentes. Os itens definidos como array podem ter múltiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: limit, offset, isActive.
list_room_bookingsGET /room/bookings (Conexa Coworking > Booking)ARead-only
Listagem paginada de Reservas de Sala. Os itens definidos como array podem ter múltiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, limit, offset, customerId, +3 more.
list_salesGET /sales (Sale)ARead-only
Listagem paginada de vendas, independente de ser avulsa ou recorrente. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. Consultar exemplo: (200) Success filted by multiples IDs ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, limit, offset, sellerId, +2 more.
list_service_categoriesGET /serviceCategories (Service Category)ARead-only
Listagem paginada de Categorias de Serviço. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: id, city, name, limit, +4 more.
list_suppliersGET /suppliers (Supplier)ARead-only
Listagem paginada de Fornecedores. Os itens definidos como array podem ter multiplos valores atribuídos separados por vírgula. ATENÇÃO: Para utilizar a nova paginação, é obrigatório informar o parâmetro limit . Caso não seja informado, a API continuará utilizando o modelo anterior - que será descontinuada em 01 de agosto de 2026 .
Inputs: cpf, name, limit, offset.
request_contract_signaturePOST /contract/:id/signature/request (Contract)A
Solicitação de envio do Contrato para Assinatura Eletrônica através da integração feita pela D4Sign dentro do sistema Conexa.
Campos do body:
contractTemplateId (integer) [obrigatório]: ID do modelo de contrato a ser utilizado para gerar o PDF
contractNumber (string/null): Número do contrato (id) para ser substituído no parametro do modelo
companySigners (array of objects) [obrigatório]: Dados do signatário da empresa (sócio)
companySigners[].deliveryValue (string) [obrigatório]: Valor de entrega conforme o método escolhido (e-mail ou número de celular do sócio)
companySigners[].deliveryMethod (string) [obrigatório]: Método de envio da solicitação de assinatura para o sócio. Valores aceitos: email , whatsapp
companySigners[].role (string) [obrigatório]: Papel/função do signatário da empresa no contrato
customerSigners (array of objects) [obrigatório]: Dados do signatário do cliente
customerSigners[].deliveryMethod (string) [obrigatório]: Método de envio da solicitação de assinatura para o cliente. Valores aceitos: email , whatsapp
customerSigners[].deliveryValue (string) [obrigatório]: Valor de entrega conforme o método escolhido (e-mail ou número de celular do cliente)
customerSigners[].role (string) [obrigatório]: Papel/função do signatário do cliente no contrato
customerSigners[].name (string) [obrigatório]: Nome do signatário do cliente no contrato
requirePhoto (boolean/null): Exige foto do documento do signatário para autenticação
requirePhotoWithSelfie (boolean/null): Exige foto do documento com selfie para autenticação
requireDigitalCertificate (boolean/null): Exige certificado digital ICP-Brasil para assinatura
requireInPersonSignature (boolean/null): Exige assinatura presencial
Inputs: id (required), body (required).
settle_chargePATCH /charge/settle/:id (Charge)B
Quitação manual de uma cobrança no sistema Conexa.
Exemplo de body: { "settlementDate": "2024-11-28", "receivingMethod": { "id": 53, "installmentsQuantity": 3 }, "accountId": 1, "paidAmount": 40, "sendEmail": false }
Inputs: id (required), body (required).
test_connectionTestar conexão com o ConexaARead-only
Verifica se a autenticação com a API do Conexa está funcionando. Use após a instalação para confirmar que tudo está configurado.
Inputs: no named parameters.
update_contractPATCH /contract/:id (Contract)A
Edição de um contrato no sistema Conexa.
Campos do body:
startDate (date): Data de início do contrato
dueDay (integer): Dia de vencimento (caso só exista um contrato ativo no cliente)
fidelityDate (date): Data de fidelidade
contractSummary (string): Descrição resumida do contrato
amount (decimal): Valor do contrato
discountValue (decimal): Desconto de contrato
notes (string): Observações
lastAdjustmentDate (date): Último reajuste do contrato
sellerId (integer): ID do vendedor (usuário). Deve ser enviado em requisições que a autenticação é realizada pelo API Token
productQuotas (array of objects): Lista de cotas de serviços/itens
productQuotas[].quantity (integer): Quantidade de cotas
productQuotas[].productId (integer): ID do serviço/item
complementaryServices (array of objects): Define os serviços complementares que serão adicionados ao contrato
complementaryServices[].productOrServiceId (integer): Id do produto ou serviço
complementaryServices[].quantity (integer): Quantidade do produto ou serviço
complementaryServices[].amount (decimal): Valor final do serviço
complementaryServices[].notes (string): Observações
extraFields (array of objects / null): Lista de campos extras do contrato. Enviar null ou omitir para não alterar. Enviar [] para remover todos. Os campos extras devem ser do tipo contract
extraFields[].id (integer): ID do campo extra
extraFields[].value (string): Valor do campo extra
plan (object): Plano (apenas para planos personalizados)
plan.serviceCategoryId (integer): ID da categoria de serviço
plan.costCenterId (integer): ID do centro de custo
plan.nfseDescription (string): Descrição do serviço na NFS-e
discountOnRooms (decimal): Descontos em salas
discountOnWorkstation (decimal): Descontos em ambientes compartilhados
privateSpaceId (integer): ID de um espaço privativo que será vinculado ao contrato
isSmsEnabled (boolean): Habilitar envios de atendimento e correspondência por SMS
serviceCorrespondenceQuotas (object): Cotas de atendimento e correspondência
serviceCorrespondenceQuotas.limited (boolean): Define se a quantidade de atendimentos ou correspondências é ou não limitada
serviceCorrespondenceQuotas.messagesLimit (integer): Define o limite de atendimentos ou correspondências. Definir como 0 para não adicionar cotas ao contrato
serviceCorrespondenceQuotas.priceAdditionalMessage (decimal): Define o valor a ser pago por atendimentos ou correspondências caso o limite seja ultrapassado
Inputs: id (required), body (required).
update_customerPATCH /customer/:id (Customer)C
Edição de uma ou n informações de um cliente no sistema Conexa.
Campos do body:
companyId (integer): Id da unidade
name (string): Nome do cliente
tradeName (string): Nome fantasia
pronunciation (string): Pronúncia
fieldOfActivity (string): Ramo de atividade
notes (string): Observações
cellNumber (string): Celular
phones (string[]): Array com os telefones de contato. Os telefones devem ter 10 ou 11 números.
website (string): Site
hasLoginAccess (boolean): Tem acesso a área do cliente
login (string): Login da área do cliente
password (string): Senha da área do cliente
automaticallyIssueNfse (string): Emitir NFS-e automaticamente (depende de configuração). A opção deve ser uma das seguintes: whenGeneratingBilling , afterPaymentBilling , notIssue
notesNfse (string): Observações da NFS-e (depende de configuração)
taxDeductions (object): Retenção de Imposto Municipal e Federal
taxDeductions.iss (boolean): Retém ISS (Imposto Municipal)
taxDeductions.ir (boolean): Retém IR (Imposto Federal)
taxDeductions.pis (boolean): Retém PIS (Imposto Federal)
taxDeductions.inss (boolean): Retém INSS (Imposto Federal)
taxDeductions.csll (boolean): Retém CSLL (Imposto Federal)
taxDeductions.cofins (boolean): Retém COFINS (Imposto Federal)
naturalPerson (object): Objeto com os dados referentes a um cliente Pessoa Física
naturalPerson.cpf (string): CPF
naturalPerson.rg (string): RG
naturalPerson.birthDate (date): Data de aniversário. Formato: yyyy-MM-dd
naturalPerson.issuingAuthority (string): Órgão expedidor
naturalPerson.profession (string): Profissão
naturalPerson.maritalStatus (string): O estado civil do cliente, sendo: " married ", " single ", " divorced ", " widowed " ou " not informed "
legalPerson (object): Objeto com os dados referentes a um cliente Pessoa Jurídica
legalPerson.cnpj (string): CNPJ
legalPerson.foundationDate (date): Data de fundação. Formato: yyyy-MM-dd
legalPerson.stateInscription (string): Inscrição estadual
legalPerson.municipalInscription (string): Inscrição municipal
foreign (object): Objeto com os dados de estrangeiro
foreign.document (string): Número do documento de identificação estrangeiro
foreign.birthDate (date): Data de aniversário. Formato: yyyy-MM-dd
foreign.profession (string): Profissão
address (object): Objeto com o endereço do cliente
address.zipCode (string): CEP
address.country (string): País de origem (apenas se for estrangeiro )
address.state (string): Sigla do estado (UF)
address.city (string): Cidade
address.street (string): Logradouro
address.number (string): Número
address.neighborhood (string): Bairro
address.additionalDetails (string): Complemento
emailsMessage (string[]): Array com os e-mails para envio de recados
emailsFinancialMessages (string[]): Array com os e-mails para envio de avisos financeiros
tagsId (integer[]): Array com os IDs das Tags para associar ao cliente
extraFields (array of objects): Array de objetos de Campos Extras
extraFields[].id (integer): ID do Campo Extra
extraFields[].value (string): Valor para o Campo Extra
isNetworkingProfileVisible (boolean): Exibir perfil do cliente na área de Networking da área do cliente
isBlockedBookingCustomerArea (boolean): Não permite que o cliente cadastre novas reservas pela área do cliente, caso hasLoginAccess seja true
isAllowedBookingOutsideBusinessHours (boolean): Permite reservar fora do horário de funcionamento padrão, caso hasLoginAccess seja true
internetPlan (string): Nome do plano de internet (Disponível apenas com o módulo Mikrotik ativo)
businessPresentation (string): Breve apresentação sobre o cliente
offeredServicesProducts (string): Serviços e produtos oferecidos
receptionOrientations (string): Orientações para atendimento
mailingOrientations (string): Orientações para correspondência
mailingAddress (object): Objeto com o endereço para correspondências
mailingAddress.zipCode (string): CEP
mailingAddress.state (string): Sigla do estado (UF)
mailingAddress.city (string): Cidade
mailingAddress.street (string): Logradouro
mailingAddress.number (string): Número
mailingAddress.neighborhood (string): Bairro
mailingAddress.additionalDetails (string): Complemento
mailingAddress.landmark (string): Ponto de referência
extensionNumbers (string[]): Array com os ramais
defaultDueDay (integer): Dia de vencimento padrão do cliente
Inputs: id (required), body (required).
update_extra_fieldPATCH /extraField/:id (Extra Field)A
Atualização parcial de um Campo Extra no sistema Conexa. Apenas os campos enviados no body serão atualizados. Campos ausentes mantêm o valor atual. O campo showCustomerService só pode ser enviado quando o type for customer .
Campos do body:
name (string): Nome do campo extra (máx. 255 caracteres)
type (string): Tipo do campo extra. Valores aceitos: customer , plan , contract
showCustomerService (boolean): Exibir campo nas informações de atendimento. Permitido apenas quando type for customer
Inputs: id (required), body (required).
update_personPATCH /person/:id (Person)C
Edição de uma ou n informações de uma pessoa no sistema Conexa. ⚠ Fique atento ao produto do seu sistema. Há campos que não são necessários!
Campos do body:
name (string): Nome da pessoa
nationality (string): Define a nacionalidade da pessoa
placeOfBirth (string): Define a naturalidade da pessoa
maritalStatus (string): Define o estado civil da pessoa. Seu valor deve estar entre os seguintes: ' married', 'single', 'divorced', 'widowed', 'not informed'
isForeign (boolean): Define se a pessoa é estrangeira
foreignData (object): Objeto contendo os dados estrangeiros da pessoa, serão considerados se isForeign for true
foreignData.zipCode (string): Código postal estrangeiro da pessoa
foreignData.contry (string): País da pessoa estrangeira
foreignData.city (string): Cidade da pessoa estrangeira
foreignData.state (string): Estado ou Unidade Administrativa da pessoa estrangeira
foreignData.street (string): Rua da pessoa estrangeira
foreignData.number (string): Número da residência estrangeira da pessoa
foreignData.neighborhood (string): Bairro da pessoa estrangeira
foreignData.additionalDetails (string): Complementos para o endereço estrangeiro da pessoa
foreignData.document (string): Número de documento estrangeiro de identificação da pessoa
isCompanyPartner (boolean): Sinaliza se a pessoa pode assinar documentos em nome do cliente a qual é associada
isGuarantor (boolean): Sinaliza se a pessoa é fiadora do cliente a qual está associada
cpf (string): Número de CPF da pessoa, será considerado se isForeign for false
rg (string): Número de RG da pessoa, será considerado se isForeign for false
issuinAutohrity (string): Órgão expedidor do documento de RG da pessoa, será considerado se isForeign for false
birthDate (string): Data de nascimento da pessoa. Formato: yyyy-MM-dd
cellNumber (string): Número de celular da pessoa, deve possuir 10 ou 11 dígitos
phones (string[]): Array contendo os números de telefone da pessoa. Deve possuir 11 dígitos e números estrangeiros deve inicia com o símbolo +.
emails (string[]): Array contendo os emails da pessoa.
sex (string): Indica o sexo da pessoa, deve ser uma das seguintes iniciais: 'M' => 'Masculine' , 'F' => 'Feminine' , 'U' => 'Not informed' , um valor diferente dos informados será identificado como Not informed
jobTitle (string): Nome do cargo da pessoa
profession (string): Profissão da pessoa
resume (string): Breve currículo da pessoa
notes (string): Observações da pessoa
address (object): Objeto contendo os dados de endereço da pessoa. Válido para pessoas não estrangeiras
address.zipCode (string): CEP da pessoa
address.state (string): Sigla do estado em que a pessoa reside
address.city (string): Nome da cidade em que a pessoa reside
address.street (string): Nome da rua em que a pessoa reside
address.number (integer): Número da residênica da pessoa
address.neighborhood (string): Bairro em que a pessoa reside
address.additionalDetails (string): Complemento do endereço da pessoa
hasLoginAccess (boolean): Indica se a pessoa terá acesso à Área do Clliente
login (string): Define o login da pessoa caso esta tenha acesso à Área do Cliente. O login deve conter: Somente letras , números , @ . - + ou _
password (string): Define a senha da pessoa caso esta tenha acesso. Deve conter pelo menos 6 caracteres, compostos por letras e números
permissions (string[]): Array contendo as permissões que a pessoa terá no sistema. Os valores válidos são: 'finance' , 'orders' , 'rooms' , 'sharedSpaces' , 'assistance' , 'correspondences' e 'printing'
accessId (string): Identificador da pessoa (id, nº do cartão e etc) no dispositivo de controle de acesso (catracas, biometria, etc)
canReceiveMail (boolean): Sinaliza se a pessoa pode receber correspondências para o cliente ao qual é associada
color (string): Código de cor hexadecimal que será associado ao perfil da pessoa
printFeeId (string): Valor utilizado unicamente para identificar o cliente durante a importação do arquivo com as tarifações de impressão. Só pode ser cadastrado por usuários do tipo admin
extensionNumbers (string[]): Array contendo os números de ramal ou extensões da pessoa
urlLinkedin (string): Endereço perfil da pessoa no LinkedIn
urlInstagram (string): Endereço do perfil da pessoa no Instagram
urlFacebook (string): Endereço do perfil da pessoa no Facebook
urlTwitter (string): Endereço do perfil da pessoa no Twitter
useFacialRecognitionPhoto (boolean): Define se a imagem da pessoa deve ser utilizada para o reconhecimento facial. Depende de configurações e equipamento específico
devices (array of objects): Array contendo os objetos que representam os dispositivos da pessoa que serão cadastrados
devices[].nickname (string): Apelido do dispositivo
devices[].macAddress (string): Endereço de mac do dispositivo
Inputs: id (required), body (required).
update_planPATCH /plan/:id (Plan)A
Atualiza um plano, utilizado no cadastro de contrato, no sistema Conexa.
Campos do body:
companyId (integer): ID da unidade
name (string): Nome do plano ( deve ser único )
serviceCategoryId (integer): ID da categoria de serviço
costCenterId (integer): ID do centro custo
description (string): Descrição do plano
paymentPeriodicities (array of objects): Opções de periodicidade de pagamento
paymentPeriodicities[].periodicity (string) [obrigatório]: Periodicidade de pagamento, podendo ser: monthly , bimonthly , quarterly , semester ou yearly
paymentPeriodicities[].amount (decimal) [obrigatório]: Valor do plano para a periodicidade
membershipFee (decimal): Taxa de adesão
refundValue (decimal): Valor de depósito retornável
fidelityMonths (integer): Quantidade de meses de fidelidade
productQuotas (array of objects): Lista de cotas de serviços/itens (produtos) vinculadas ao plano
productQuotas[].productId (integer) [obrigatório]: ID do serviço/item
productQuotas[].quantity (integer) [obrigatório]: Quantidade de cotas
dueDay (integer): Dia do vencimento do plano "Cliente Avulso"
nfseDescription (string): Descrição da nota fiscal
receiptDescription (string): Descrição do recibo (depende de configuração)
discountOnRooms (decimal): Valor em percentual de desconto para reserva em salas
discountOnWorkstation (decimal): Valor em percentual de desconto para reserva em ambientes compartilhados
isSmsEnabled (boolean): Flag de envio de SMS
serviceCorrespondenceQuotas (object): Configura as cotas de atendimentos e correspondências (depende de configuração)
serviceCorrespondenceQuotas.limited (boolean): Define se a quantidade de atendimentos e correspondências é ou não limitada
serviceCorrespondenceQuotas.messagesLimit (integer) [obrigatório]: Define o limite de atendimentos e correspondências. Definir como 0 para não adicionar cotas ao contrato
serviceCorrespondenceQuotas.priceAdditionalMessage (decimal) [obrigatório]: Define o valor adicional por atendimentos e correspondências, caso seja ultrapassado
bookingModels (array of objects): Lista de modelos de reserva (Estações de Trabalho do Ambiente Compartilhado)
bookingModels[].id (integer) [obrigatório]: ID do modelo de reserva
bookingModels[].stations (integer) [obrigatório]: Quantidade de estações
privateSpaceIds (array): Lista de IDs de espaços privativos associados ao plano
hourQuotas (array of objects): Lista de cotas de horas para uso de salas ou ambientes compartilhados
hourQuotas[].hours (integer) [obrigatório]: Quantidade de horas inclusas
hourQuotas[].periodicity (string) [obrigatório]: Frequência de disponibilidade de cota, podendo ser: daily , weekly ou monthly
hourQuotas[].spaceId (integer) [obrigatório]: ID do espaço
hourQuotas[].groupId (integer) [obrigatório]: ID do grupo
Inputs: id (required), body (required).
update_productPATCH /product/:id (Product)B
Edição de campos de um Item/Serviço no sistema Conexa.
Campos do body:
name (string): Nome
price (decimal): Valor
companyId (integer): ID da unidade
serviceCategoryId (integer): ID da categoria de serviço
costCenterId (integer): ID do centro de custo
active (boolean): Define se o produto está ativo ou não
description (string): Descrição detalhada
isCustomerConsumable (boolean): Define se o produto pode ser consumido pela Área do Cliente
notificationsEmails (array of string): Lista de e-mails para notificação de venda
nfseDescription (string): Descrição para NFSe. Depende de configuração, módulo ou versão do sistema
receiptDescription (string): Descrição para recibo. Depende de configuração, módulo ou versão do sistema
Inputs: id (required), body (required).
update_recurring_salePATCH /recurringSale/:id (Recurring Sale)B
Edição de campos de uma Venda Recorrente no sistema Conexa.
Campos do body:
requesterId (integer): ID do solicitante
amount (decimal): Valor da venda recorrente
quantity (integer): Quantidade
lastAdjustmentDate (string): Data do último reajuste
notes (string): Observações
Inputs: id (required), body (required).
update_room_bookingPATCH /room/booking/:id (Conexa Coworking > Booking)B
Edição de campos de uma Reseva de Sala de Reunião no sistema Conexa.
Campos do body:
personId (integer): ID do solicitante
roomId (integer): ID da sala de reunião
date (string): Data da reserva. Formato: yyyy-MM-dd
startTime (string): Hora de início da reserva. Formato HH:mm
finalTime (string): Hora de término da reserva. Formato HH:mm
notes (string): Observações
sendCustomerEmail (boolean): Flag para envio do e-mail de atualização da reserva para o cliente
sendRequesterEmail (boolean): Flag para envio do e-mail de atualização da reserva para o solicitante
sendVisitorsEmail (boolean): Flag para envio do e-mail de atualização da reserva para o convidado
visitors (array of objects): Lista de convidados da reserva
visitors[].name (string): Nome do convidado
visitors[].email (string): E-mail do convidado
Inputs: id (required), body (required).
update_salePATCH /sale/:id (Sale)A
Edição de uma ou n informações de uma venda avulsa no sistema Conexa.
Campos do body:
requesterId (integer): ID do solicitante da venda
sellerId (integer): ID do vendedor (usuário). Deve ser enviado em requisições que a autenticação é realizada pelo API Token
quantity (integer): Quantidade de itens do produto. Deve ser um valor inteiro maior que zero
amount (decimal): Valor da venda
referenceDate (string): Data de referência da venda. Formato W3C ( Y-m-d\TH:i:sP )
notes (string): Observações da venda
Inputs: id (required), body (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 83 tools
Most tools have distinct purposes with clear descriptions, but the sheer number (83) and some overlapping entities (e.g., sale vs charge vs bill) may cause occasional confusion. Overall, well-differentiated.
All tool names follow a consistent verb_noun snake_case pattern (e.g., create_customer, list_contracts). Only minor exceptions like 'end_contract' (instead of delete) remain predictable.
83 tools is far beyond the typical well-scoped range (3-15). While the domain is broad, this size makes agent navigation difficult and increases the risk of misselection.
CRUD operations exist for most core entities (customers, contracts, plans, persons, products, sales, charges, etc.). Minor gaps (no update_supplier, missing deletes for some reference entities) but overall surface covers the domain well.
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
AlicenseAqualityFmaintenanceMCP Server that connects AI agents to Chargebee Platform.269 npm16MIT- AlicenseAqualityBmaintenanceMCP server for Creatio CRM that enables AI assistants to read, create, update, delete records, execute business processes, and manage settings via OData and REST APIs.2477 npm6MIT
- AlicenseBqualityDmaintenanceA comprehensive MCP server that connects AI assistants to GoHighLevel CRM, enabling management of contacts, conversations, calendars, pipelines, payments, and more through 60+ tools.6440 npm1MIT
- AlicenseCqualityDmaintenanceAn MCP server integrating with the BoondManager API to enable AI assistants to search, retrieve, create, and update records across 94 tools in 8 business domains.95MIT