Skip to main content
Glama
Conexa MCP

Conexa MCP

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: SEUSUBDOMINIO.conexa.app

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-mcp

Edite 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 build

E 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

CONEXA_SUBDOMAIN

Sim*

Subdomínio do seu Conexa (minhaempresa de minhaempresa.conexa.app)

CONEXA_TOKEN

Sim**

Token de Aplicação (recomendado) — criado em Config > Integrações > API / Token

CONEXA_USERNAME / CONEXA_PASSWORD

Alternativa**

Login e senha de um usuário admin/funcionário. O servidor faz o login e renova a sessão sozinho

CONEXA_BASE_URL

Alternativa*

URL completa da API, caso seu ambiente não siga o padrão https://X.conexa.app/index.php/api/v2

* 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

create_sale, get_sale, update_sale, delete_sale, list_sales

Clientes

create_customer, get_customer, update_customer, delete_customer, list_customers

Pessoas

create_person, get_person, update_person, delete_person, list_persons

Planos

create_plan, get_plan, update_plan, delete_plan, list_plans

Contratos

create_contract, get_contract, update_contract, end_contract, delete_contract, list_contracts, request_contract_signature

Vendas recorrentes

create_recurring_sale, get_recurring_sale, update_recurring_sale, end_recurring_sale, delete_recurring_sale, list_recurring_sales

Produtos

create_product, get_product, update_product, delete_product, list_products

Cobranças

create_charge, get_charge, list_charges, settle_charge, get_charge_pix, create_credit_card

Financeiro

create_bill, get_bill, list_bills, get_bill_category, list_bill_categories, get_bill_subcategory, list_bill_subcategories, get_cost_center, list_cost_centers, get_account, list_accounts

Meios de pagamento

get_invoicing_method, list_invoicing_methods, get_receiving_method, list_receiving_methods, get_payment_method, list_payment_methods

Fornecedores

create_supplier, get_supplier, list_suppliers

Campos extras

create_extra_field, get_extra_field, update_extra_field, delete_extra_field, list_extra_fields

Unidades e serviços

get_company, list_companies, get_service_category, list_service_categories

Leads

create_potential_customer

Coworking

create_room_booking, get_room_booking, update_room_booking, cancel_room_booking, checkout_room_booking, list_room_bookings, create_checkin, create_checkout

Utilitário

test_connection

Observações:

  • A rota POST /auth da 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

MIT

Available Tools

83 tools
cancel_room_bookingPATCH /room/booking/:id/cancel (Conexa Coworking > Booking)A
Destructive

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)B
Destructive

Exclusão de um contrato no Conexa.

Inputs: id (required).

delete_customerDELETE /customer/:id (Customer)A
Destructive

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)A
Destructive

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)A
Destructive

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)C
Destructive

Exclusão de um plano no Conexa.

Inputs: id (required).

delete_productDELETE /product/:id (Product)A
Destructive

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)C
Destructive

Exclusão de uma venda recorrente no Conexa.

Inputs: id (required).

delete_saleDELETE /sale/:id (Sale)A
Destructive

Exclusão de uma venda avulsa no Conexa não faturada.

Inputs: id (required).

end_contractPATCH /contract/end/:id (Contract)A
Destructive

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)B
Destructive

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)A
Read-only

Recuperação dos dados de Conta Bancária.

Inputs: id (required).

get_billGET /bill/:id (Bill)C
Read-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)C
Read-only

Recuperação dos dados da Categoria da Despesa.

Inputs: id (required).

get_bill_subcategoryGET /billSubcategory/:id (Bill Subcategory)C
Read-only

Recuperação dos dados da Subcategoria da Despesa.

Inputs: id (required).

get_chargeGET /charge/:id (Charge)B
Read-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)A
Read-only

Retorna o Pix gerado no Conexa para o ID da cobrança informado.

Inputs: id (required).

get_companyGET /company/:id (Company)A
Read-only

Recuperação dos dados de uma Unidade no sistema Conexa.

Inputs: id (required).

get_contractGET /contract/:id (Contract)A
Read-only

Recupera as informações de um Contrato a partir do ID.

Inputs: id (required).

get_cost_centerGET /costCenter/:id (Cost Center)C
Read-only

Recuperação dos dados do Centro de Custo.

Inputs: id (required).

get_customerGET /customer/:id (Customer)B
Read-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)B
Read-only

Recuperação dos dados de um Campo Extra.

Inputs: id (required).

get_invoicing_methodGET /invoicingMethod/:id (Invoicing Method)B
Read-only

Recuperação dos dados de um Meio de Faturamento na Conexa.

Inputs: id (required).

get_payment_methodGET /paymentMethod/:id (Payment Method)A
Read-only

Recuperação dos dados do Meio de Recebimento.

Inputs: id (required).

get_personGET /person/:id (Person)A
Read-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)A
Read-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)A
Read-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)B
Read-only

Recuperação dos dados do Meio de Recebimento.

Inputs: id (required).

get_recurring_saleGET /recurringSale/:id (Recurring Sale)A
Read-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)B
Read-only

Recuperação dos dados de uma Reserva de Sala na Conexa.

Inputs: id (required).

get_saleGET /sale/:id (Sale)B
Read-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)B
Read-only

Recuperação dos dados de Categoria de Serviço.

Inputs: id (required).

get_supplierGET /supplier/:id (Supplier)A
Read-only

Recuperação dos dados de Fornecedor.

Inputs: id (required).

list_accountsGET /accounts (Account)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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)A
Read-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 ConexaA
Read-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

    B3.4/5.0

    Scored across 83 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count2/5

    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.

    Completeness4/5

    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

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      MCP 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.
      24
      77 npm
      6
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A comprehensive MCP server that connects AI assistants to GoHighLevel CRM, enabling management of contacts, conversations, calendars, pipelines, payments, and more through 60+ tools.
      64
      40 npm
      1
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      An 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.
      95
      MIT