Cadastros
Produtos, canais de venda, segmentos e motivos de ganho e perda.
18 rotas. Todas exigem a chave de API no header Authorization, salvo quando marcadas como públicas. Abrir este módulo no Swagger.
Listar produtos e serviços da empresa
GET /companie/product
Inclui inativos. Aceita ?q= para buscar pelo título.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
q | query | string | Busca no título. |
Respostas
| Status | Descrição |
|---|---|
200 | Produtos em ordem alfabética. |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Criar produto ou serviço
POST /companie/product
O produto fica no nome do dono da chave.
is_product:truepara produto,falsepara serviço. Em serviços,timeé a duração em minutos (usada no Google Agenda ao agendar).value: número com ponto (150.5).- Checkout: com
is_checkout: true, informecheckout_form_of_payment. Parcelamento (checkout_allow_installmentsecheckout_max_installmentsentre 2 e 12) só vale paracreditcard. Comis_recurrence: true, a forma viracreditcard. - Envie sempre
file: { "title": "", "base64": "" }, mesmo sem anexo: semfilea rota responde 500. Para anexar,base64em data URL (data:application/pdf;base64,...) ou uma URLhttps://já hospedada. - Erros de negócio (checkout inválido, produto inexistente) voltam como 500, não como 4xx.
Corpo (application/json)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | sim | |
value | número | sim | |
is_active | boolean | sim | |
is_product | boolean | sim | |
is_checkout | boolean | ||
checkout_form_of_payment | creditcard · boleto · pix | ||
checkout_allow_installments | boolean | ||
checkout_max_installments | número ou null | ||
is_checkout_dependents | boolean | ||
is_recurrence | boolean | ||
description | string | ||
file | object | ||
file.title | string | ||
file.base64 | string | ||
url | string | ||
time | número |
Respostas
| Status | Descrição |
|---|---|
200 | Produto criado. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Listar produtos e serviços ativos
GET /companie/product/active
Respostas
| Status | Descrição |
|---|---|
200 | Produtos ativos em ordem alfabética. |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Editar produto ou serviço
PUT /companie/product/{id}
is_product:truepara produto,falsepara serviço. Em serviços,timeé a duração em minutos (usada no Google Agenda ao agendar).value: número com ponto (150.5).- Checkout: com
is_checkout: true, informecheckout_form_of_payment. Parcelamento (checkout_allow_installmentsecheckout_max_installmentsentre 2 e 12) só vale paracreditcard. Comis_recurrence: true, a forma viracreditcard. - Envie sempre
file: { "title": "", "base64": "" }, mesmo sem anexo: semfilea rota responde 500. Para anexar,base64em data URL (data:application/pdf;base64,...) ou uma URLhttps://já hospedada. - Erros de negócio (checkout inválido, produto inexistente) voltam como 500, não como 4xx.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
id | URL | string | sim |
Corpo (application/json)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | sim | |
value | número | sim | |
is_active | boolean | sim | |
is_product | boolean | sim | |
is_checkout | boolean | ||
checkout_form_of_payment | creditcard · boleto · pix | ||
checkout_allow_installments | boolean | ||
checkout_max_installments | número ou null | ||
is_checkout_dependents | boolean | ||
is_recurrence | boolean | ||
description | string | ||
file | object | ||
file.title | string | ||
file.base64 | string | ||
url | string | ||
time | número |
Respostas
| Status | Descrição |
|---|---|
200 | Produto atualizado. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Excluir produto ou serviço
DELETE /companie/product/{id}
Remove também os anexos. Não exclui produto usado em oportunidade.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
id | URL | string | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Produto excluído. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
409 | error_product_not_exist ou error_product_exist_opportunity (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Listar canais de venda
GET /companie/salesChannel
Aceita ?q= para buscar pelo título.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
q | query | string | Busca no título. |
Respostas
| Status | Descrição |
|---|---|
200 | Canais em ordem alfabética. |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Criar canal de venda
POST /companie/salesChannel
companie_user_id: usuário dono do registro; normalmente o dono da chave.
Corpo (application/json)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
companie_user_id | número | sim | |
title | string | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Canal criado. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Editar canal de venda
PUT /companie/salesChannel/{id}
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
id | URL | string | sim |
Corpo (application/json)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Canal atualizado. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
409 | error_sales_channel_not_exist (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Excluir canal de venda
DELETE /companie/salesChannel/{id}
Não exclui canal usado em oportunidade, instância de WhatsApp ou automação.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
id | URL | string | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Canal excluído. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
409 | error_sales_channel_not_exist, error_opportunity_using_sales_channel, error_companie_whatsapp_instances_using_sales_channel ou error_companie_settings_automations_using_sales_channel em message. (GenericError) |
429 | Limite de requisições excedido. (ErrorCode) |
Listar segmentos
GET /companie/segment
Aceita ?q= para buscar pelo título.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
q | query | string | Busca no título. |
Respostas
| Status | Descrição |
|---|---|
200 | Segmentos em ordem alfabética. |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Criar segmento
POST /companie/segment
companie_user_id: usuário dono do registro; normalmente o dono da chave.
Corpo (application/json)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
companie_user_id | número | sim | |
title | string | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Segmento criado. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Editar segmento
PUT /companie/segment/{id}
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
id | URL | string | sim |
Corpo (application/json)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Segmento atualizado. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
409 | error_segment_not_exist (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Excluir segmento
DELETE /companie/segment/{id}
Não exclui segmento usado em oportunidade, instância de WhatsApp ou automação.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
id | URL | string | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Segmento excluído. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
409 | error_segment_not_exist, error_opportunity_using_segment, error_companie_whatsapp_instances_using_segment ou error_companie_settings_automations_using_segment em message. (GenericError) |
429 | Limite de requisições excedido. (ErrorCode) |
Listar motivos de ganho e perda
GET /companie/responsesWinLose
Inclui inativos. Aceita ?q= para buscar pelo título.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
q | query | string | Busca no título. |
Respostas
| Status | Descrição |
|---|---|
200 | Motivos em ordem alfabética. |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Criar motivo de ganho ou perda
POST /companie/responsesWinLose
companie_user_id: usuário dono do registro; normalmente o dono da chave.
Corpo (application/json)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
companie_user_id | número | sim | |
title | string | sim | |
is_win | boolean | sim | |
is_active | boolean | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Motivo criado. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
409 | error_companie_user_id_not_exist (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Listar motivos de ganho e perda ativos
GET /companie/responsesWinLose/active
Filtre por is_win para separar ganho de perda ao fechar oportunidades.
Respostas
| Status | Descrição |
|---|---|
200 | Motivos ativos em ordem alfabética. |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Editar motivo de ganho ou perda
PUT /companie/responsesWinLose/{id}
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
id | URL | string | sim |
Corpo (application/json)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | sim | |
is_win | boolean | sim | |
is_active | boolean | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Motivo atualizado. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
409 | error_responses_win_lose_not_exist (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |
Excluir motivo de ganho ou perda
DELETE /companie/responsesWinLose/{id}
Motivo já usado no fechamento de alguma oportunidade não pode ser excluído (a rota responde 500); desative com is_active: false.
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
id | URL | string | sim |
Respostas
| Status | Descrição |
|---|---|
200 | Motivo excluído. |
400 | Parâmetros inválidos. (ValidationError) |
401 | Chave ausente, inválida, revogada ou vencida. (ErrorCode) |
403 | Acesso via API desligado, empresa inativa ou rota não permitida. (ErrorCode) |
409 | error_responses_win_lose_not_exist (ErrorCode) |
429 | Limite de requisições excedido. (ErrorCode) |