@magnetcustomer/sdk 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -3
- package/dist/client.d.ts +6 -1
- package/dist/client.js +5 -0
- package/dist/generated/api/contacts-api.d.ts +24 -24
- package/dist/generated/api/contacts-api.js +24 -24
- package/dist/generated/api/custom-fields-api.d.ts +1 -43
- package/dist/generated/api/custom-fields-api.js +1 -67
- package/dist/generated/api/customers-api.d.ts +4 -4
- package/dist/generated/api/customers-api.js +4 -4
- package/dist/generated/api/deals-api.d.ts +27 -27
- package/dist/generated/api/deals-api.js +27 -27
- package/dist/generated/api/journeys-api.d.ts +232 -0
- package/dist/generated/api/journeys-api.js +315 -0
- package/dist/generated/api/leads-api.d.ts +4 -4
- package/dist/generated/api/leads-api.js +4 -4
- package/dist/generated/api/meetings-api.d.ts +123 -27
- package/dist/generated/api/meetings-api.js +169 -27
- package/dist/generated/api/observations-api.d.ts +8 -8
- package/dist/generated/api/observations-api.js +8 -8
- package/dist/generated/api/organizations-api.d.ts +24 -24
- package/dist/generated/api/organizations-api.js +24 -24
- package/dist/generated/api/pipelines-api.d.ts +49 -1
- package/dist/generated/api/pipelines-api.js +72 -1
- package/dist/generated/api/prospects-api.d.ts +4 -4
- package/dist/generated/api/prospects-api.js +4 -4
- package/dist/generated/api/staffs-api.d.ts +1 -1
- package/dist/generated/api/staffs-api.js +1 -1
- package/dist/generated/api/task-types-api.d.ts +5 -5
- package/dist/generated/api/task-types-api.js +5 -5
- package/dist/generated/api/tasks-api.d.ts +32 -32
- package/dist/generated/api/tasks-api.js +32 -32
- package/dist/generated/api/teams-api.d.ts +130 -0
- package/dist/generated/api/teams-api.js +199 -0
- package/dist/generated/api/tickets-api.d.ts +610 -0
- package/dist/generated/api/tickets-api.js +860 -0
- package/dist/generated/api/treatments-api.d.ts +379 -0
- package/dist/generated/api/treatments-api.js +539 -0
- package/dist/generated/api/webhooks-api.d.ts +63 -0
- package/dist/generated/api/webhooks-api.js +116 -0
- package/dist/generated/api.d.ts +6 -1
- package/dist/generated/api.js +6 -1
- package/dist/generated/base.d.ts +1 -1
- package/dist/generated/base.js +1 -1
- package/dist/generated/common.d.ts +1 -1
- package/dist/generated/common.js +1 -1
- package/dist/generated/configuration.d.ts +1 -1
- package/dist/generated/configuration.js +1 -1
- package/dist/generated/index.d.ts +1 -1
- package/dist/generated/index.js +1 -1
- package/dist/generated/models/close-deal-request.d.ts +2 -2
- package/dist/generated/models/close-deal-request.js +1 -1
- package/dist/generated/models/contact-input-phones-inner.d.ts +1 -1
- package/dist/generated/models/contact-input-phones-inner.js +1 -1
- package/dist/generated/models/contact-input.d.ts +1 -1
- package/dist/generated/models/contact-input.js +1 -1
- package/dist/generated/models/contact-summary.d.ts +1 -1
- package/dist/generated/models/contact-summary.js +1 -1
- package/dist/generated/models/contact.d.ts +1 -1
- package/dist/generated/models/contact.js +1 -1
- package/dist/generated/models/create-observation-request.d.ts +1 -1
- package/dist/generated/models/create-observation-request.js +1 -1
- package/dist/generated/models/create-task-type-request.d.ts +1 -1
- package/dist/generated/models/create-task-type-request.js +1 -1
- package/dist/generated/models/create-ticket-message-request.d.ts +29 -0
- package/dist/generated/models/create-ticket-message-request.js +19 -0
- package/dist/generated/models/custom-field-settings.d.ts +1 -1
- package/dist/generated/models/custom-field-settings.js +1 -1
- package/dist/generated/models/custom-field-value.d.ts +1 -1
- package/dist/generated/models/custom-field-value.js +1 -1
- package/dist/generated/models/custom-field.d.ts +1 -1
- package/dist/generated/models/custom-field.js +1 -1
- package/dist/generated/models/deal-create.d.ts +1 -1
- package/dist/generated/models/deal-create.js +1 -1
- package/dist/generated/models/deal-input.d.ts +1 -1
- package/dist/generated/models/deal-input.js +1 -1
- package/dist/generated/models/deal-labels-inner.d.ts +1 -1
- package/dist/generated/models/deal-labels-inner.js +1 -1
- package/dist/generated/models/deal-organization.d.ts +1 -1
- package/dist/generated/models/deal-organization.js +1 -1
- package/dist/generated/models/deal-pipeline-one-of.d.ts +1 -1
- package/dist/generated/models/deal-pipeline-one-of.js +1 -1
- package/dist/generated/models/deal-pipeline.d.ts +1 -1
- package/dist/generated/models/deal-pipeline.js +1 -1
- package/dist/generated/models/deal-stage.d.ts +1 -1
- package/dist/generated/models/deal-stage.js +1 -1
- package/dist/generated/models/deal.d.ts +1 -1
- package/dist/generated/models/deal.js +1 -1
- package/dist/generated/models/delete-meetings-request.d.ts +1 -1
- package/dist/generated/models/delete-meetings-request.js +1 -1
- package/dist/generated/models/delete-meetings200-response.d.ts +1 -1
- package/dist/generated/models/delete-meetings200-response.js +1 -1
- package/dist/generated/models/delete-observations-request.d.ts +1 -1
- package/dist/generated/models/delete-observations-request.js +1 -1
- package/dist/generated/models/error-errors-inner.d.ts +1 -1
- package/dist/generated/models/error-errors-inner.js +1 -1
- package/dist/generated/models/finish-meeting-request.d.ts +1 -1
- package/dist/generated/models/finish-meeting-request.js +1 -1
- package/dist/generated/models/finish-tasks-request.d.ts +1 -1
- package/dist/generated/models/finish-tasks-request.js +1 -1
- package/dist/generated/models/get-deal-stage-history200-response-history-inner-stage.d.ts +1 -1
- package/dist/generated/models/get-deal-stage-history200-response-history-inner-stage.js +1 -1
- package/dist/generated/models/get-deal-stage-history200-response-history-inner.d.ts +1 -1
- package/dist/generated/models/get-deal-stage-history200-response-history-inner.js +1 -1
- package/dist/generated/models/get-deal-stage-history200-response-totals.d.ts +1 -1
- package/dist/generated/models/get-deal-stage-history200-response-totals.js +1 -1
- package/dist/generated/models/get-deal-stage-history200-response.d.ts +1 -1
- package/dist/generated/models/get-deal-stage-history200-response.js +1 -1
- package/dist/generated/models/get-journey-health-score200-response.d.ts +34 -0
- package/dist/generated/models/get-journey-health-score200-response.js +20 -0
- package/dist/generated/models/index.d.ts +27 -0
- package/dist/generated/models/index.js +27 -0
- package/dist/generated/models/journey.d.ts +111 -0
- package/dist/generated/models/journey.js +32 -0
- package/dist/generated/models/list-contacts200-response.d.ts +1 -1
- package/dist/generated/models/list-contacts200-response.js +1 -1
- package/dist/generated/models/list-custom-fields200-response.d.ts +1 -1
- package/dist/generated/models/list-custom-fields200-response.js +1 -1
- package/dist/generated/models/list-deals200-response.d.ts +1 -1
- package/dist/generated/models/list-deals200-response.js +1 -1
- package/dist/generated/models/list-deals401-response.d.ts +1 -1
- package/dist/generated/models/list-deals401-response.js +1 -1
- package/dist/generated/models/list-deals403-response.d.ts +1 -1
- package/dist/generated/models/list-deals403-response.js +1 -1
- package/dist/generated/models/list-journeys200-response.d.ts +16 -0
- package/dist/generated/models/list-journeys200-response.js +15 -0
- package/dist/generated/models/list-lost-reasons200-response.d.ts +16 -0
- package/dist/generated/models/list-lost-reasons200-response.js +15 -0
- package/dist/generated/models/list-meeting-rooms200-response.d.ts +16 -0
- package/dist/generated/models/list-meeting-rooms200-response.js +15 -0
- package/dist/generated/models/list-meeting-types200-response.d.ts +16 -0
- package/dist/generated/models/list-meeting-types200-response.js +15 -0
- package/dist/generated/models/list-meetings200-response.d.ts +1 -1
- package/dist/generated/models/list-meetings200-response.js +1 -1
- package/dist/generated/models/list-observations200-response.d.ts +1 -1
- package/dist/generated/models/list-observations200-response.js +1 -1
- package/dist/generated/models/list-organizations200-response.d.ts +1 -1
- package/dist/generated/models/list-organizations200-response.js +1 -1
- package/dist/generated/models/list-pipelines200-response.d.ts +1 -1
- package/dist/generated/models/list-pipelines200-response.js +1 -1
- package/dist/generated/models/list-staffs200-response.d.ts +1 -1
- package/dist/generated/models/list-staffs200-response.js +1 -1
- package/dist/generated/models/list-task-types200-response-one-of.d.ts +1 -1
- package/dist/generated/models/list-task-types200-response-one-of.js +1 -1
- package/dist/generated/models/list-task-types200-response.d.ts +1 -1
- package/dist/generated/models/list-task-types200-response.js +1 -1
- package/dist/generated/models/list-tasks200-response.d.ts +1 -1
- package/dist/generated/models/list-tasks200-response.js +1 -1
- package/dist/generated/models/list-teams200-response.d.ts +16 -0
- package/dist/generated/models/list-teams200-response.js +15 -0
- package/dist/generated/models/list-ticket-statuses200-response.d.ts +16 -0
- package/dist/generated/models/list-ticket-statuses200-response.js +15 -0
- package/dist/generated/models/list-tickets200-response.d.ts +16 -0
- package/dist/generated/models/list-tickets200-response.js +15 -0
- package/dist/generated/models/list-treatment-types200-response.d.ts +16 -0
- package/dist/generated/models/list-treatment-types200-response.js +15 -0
- package/dist/generated/models/list-treatments200-response.d.ts +16 -0
- package/dist/generated/models/list-treatments200-response.js +15 -0
- package/dist/generated/models/list-workspaces200-response.d.ts +16 -0
- package/dist/generated/models/list-workspaces200-response.js +15 -0
- package/dist/generated/models/lost-reason.d.ts +32 -0
- package/dist/generated/models/lost-reason.js +15 -0
- package/dist/generated/models/meeting-create.d.ts +1 -1
- package/dist/generated/models/meeting-create.js +1 -1
- package/dist/generated/models/meeting-deal.d.ts +1 -1
- package/dist/generated/models/meeting-deal.js +1 -1
- package/dist/generated/models/meeting-input.d.ts +1 -1
- package/dist/generated/models/meeting-input.js +1 -1
- package/dist/generated/models/meeting-room.d.ts +1 -1
- package/dist/generated/models/meeting-room.js +1 -1
- package/dist/generated/models/meeting-type.d.ts +1 -1
- package/dist/generated/models/meeting-type.js +1 -1
- package/dist/generated/models/meeting.d.ts +1 -1
- package/dist/generated/models/meeting.js +1 -1
- package/dist/generated/models/model-error.d.ts +1 -1
- package/dist/generated/models/model-error.js +1 -1
- package/dist/generated/models/move-deal-stage-request.d.ts +1 -1
- package/dist/generated/models/move-deal-stage-request.js +1 -1
- package/dist/generated/models/move-deal-stage200-response.d.ts +1 -1
- package/dist/generated/models/move-deal-stage200-response.js +1 -1
- package/dist/generated/models/observation-deal.d.ts +1 -1
- package/dist/generated/models/observation-deal.js +1 -1
- package/dist/generated/models/observation-input.d.ts +1 -1
- package/dist/generated/models/observation-input.js +1 -1
- package/dist/generated/models/observation-organization.d.ts +1 -1
- package/dist/generated/models/observation-organization.js +1 -1
- package/dist/generated/models/observation.d.ts +1 -1
- package/dist/generated/models/observation.js +1 -1
- package/dist/generated/models/organization-input.d.ts +1 -1
- package/dist/generated/models/organization-input.js +1 -1
- package/dist/generated/models/organization.d.ts +1 -1
- package/dist/generated/models/organization.js +1 -1
- package/dist/generated/models/page.d.ts +1 -1
- package/dist/generated/models/page.js +1 -1
- package/dist/generated/models/pipeline.d.ts +1 -1
- package/dist/generated/models/pipeline.js +1 -1
- package/dist/generated/models/reopen-deal-request.d.ts +1 -1
- package/dist/generated/models/reopen-deal-request.js +1 -1
- package/dist/generated/models/staff-summary.d.ts +1 -1
- package/dist/generated/models/staff-summary.js +1 -1
- package/dist/generated/models/staff.d.ts +1 -1
- package/dist/generated/models/staff.js +1 -1
- package/dist/generated/models/stage.d.ts +1 -1
- package/dist/generated/models/stage.js +1 -1
- package/dist/generated/models/task-create.d.ts +1 -1
- package/dist/generated/models/task-create.js +1 -1
- package/dist/generated/models/task-deal.d.ts +1 -1
- package/dist/generated/models/task-deal.js +1 -1
- package/dist/generated/models/task-input.d.ts +1 -1
- package/dist/generated/models/task-input.js +1 -1
- package/dist/generated/models/task-type.d.ts +1 -1
- package/dist/generated/models/task-type.js +1 -1
- package/dist/generated/models/task.d.ts +1 -1
- package/dist/generated/models/task.js +1 -1
- package/dist/generated/models/team.d.ts +27 -0
- package/dist/generated/models/team.js +15 -0
- package/dist/generated/models/ticket-create.d.ts +16 -0
- package/dist/generated/models/ticket-create.js +15 -0
- package/dist/generated/models/ticket-input.d.ts +77 -0
- package/dist/generated/models/ticket-input.js +22 -0
- package/dist/generated/models/ticket-message.d.ts +33 -0
- package/dist/generated/models/ticket-message.js +15 -0
- package/dist/generated/models/ticket-status-workspace.d.ts +18 -0
- package/dist/generated/models/ticket-status-workspace.js +15 -0
- package/dist/generated/models/ticket-status.d.ts +37 -0
- package/dist/generated/models/ticket-status.js +15 -0
- package/dist/generated/models/ticket.d.ts +87 -0
- package/dist/generated/models/ticket.js +22 -0
- package/dist/generated/models/treatment-input.d.ts +58 -0
- package/dist/generated/models/treatment-input.js +15 -0
- package/dist/generated/models/treatment-type.d.ts +43 -0
- package/dist/generated/models/treatment-type.js +15 -0
- package/dist/generated/models/treatment.d.ts +64 -0
- package/dist/generated/models/treatment.js +15 -0
- package/dist/generated/models/update-task-type-request.d.ts +1 -1
- package/dist/generated/models/update-task-type-request.js +1 -1
- package/dist/generated/models/validate-deal200-response-required-actions-pending.d.ts +1 -1
- package/dist/generated/models/validate-deal200-response-required-actions-pending.js +1 -1
- package/dist/generated/models/validate-deal200-response-required-field-pending.d.ts +1 -1
- package/dist/generated/models/validate-deal200-response-required-field-pending.js +1 -1
- package/dist/generated/models/validate-deal200-response.d.ts +1 -1
- package/dist/generated/models/validate-deal200-response.js +1 -1
- package/dist/generated/models/webhook-trigger-group-triggers-inner.d.ts +29 -0
- package/dist/generated/models/webhook-trigger-group-triggers-inner.js +15 -0
- package/dist/generated/models/webhook-trigger-group.d.ts +22 -0
- package/dist/generated/models/webhook-trigger-group.js +15 -0
- package/dist/generated/models/workspace.d.ts +23 -0
- package/dist/generated/models/workspace.js +15 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API da Magnet Customer
|
|
3
|
-
* A API REST da Magnet Customer permite ler e gravar os registros do CRM a partir dos seus sistemas. # Comece aqui ## 1. Crie um Service Account No CRM, abra **Configurações › Service Accounts** (apenas administradores), clique em **Novo service account**, escolha a validade e as permissões, e copie o **Client ID** e o **Client Secret**. O secret aparece uma única vez. ## 2. Solicite um token ```bash curl -X POST https://magnetcustomer.net/realms/platform/protocol/openid-connect/token \\ -H \"Content-Type: application/x-www-form-urlencoded\" \\ -d \"grant_type=client_credentials\" \\ -d \"client_id=SEU_CLIENT_ID\" \\ -d \"client_secret=SEU_CLIENT_SECRET\" ``` ```json { \"access_token\": \"eyJhbGciOiJSUzI1NiIs...\", \"expires_in\": 900, \"token_type\": \"Bearer\" } ``` O token vale 15 minutos e este fluxo não tem refresh token: quando vencer, ou ao receber `401`, repita o pedido. ## 3. Chame a API Cada conta tem o seu endereço. Troque `sua-conta` pelo subdomínio que você usa para abrir o CRM: ```bash curl \"https://sua-conta.platform-api.magnetcustomer.com/api/deals?page=1&limit=15\" \\ -H \"Authorization: Bearer SEU_TOKEN\" ``` Requisições com corpo levam também `Content-Type: application/json`. # Convenções ## Paginação Envie sempre `page`. Com ele, toda listagem devolve o mesmo envelope: ```json { \"docs\": [], \"total\": 132, \"pages\": 9, \"page\": 1, \"limit\": 15 } ``` | Parâmetro | Padrão | Descrição | |---|---|---| | `page` | — | Página, a partir de 1. **Obrigatório na prática** | | `limit` | 15 | Registros por página. Máximo 100: acima disso a API usa 100 | | `sortBy` | varia por recurso | Campo de ordenação | | `sortType` | `desc` | `asc` ou `desc` | | `search` | — | Busca textual, quando o recurso aceita | Sem `page`,
|
|
3
|
+
* A API REST da Magnet Customer permite ler e gravar os registros do CRM a partir dos seus sistemas. # Comece aqui ## 1. Crie um Service Account No CRM, abra **Configurações › Service Accounts** (apenas administradores), clique em **Novo service account**, escolha a validade e as permissões, e copie o **Client ID** e o **Client Secret**. O secret aparece uma única vez. ## 2. Solicite um token ```bash curl -X POST https://magnetcustomer.net/realms/platform/protocol/openid-connect/token \\ -H \"Content-Type: application/x-www-form-urlencoded\" \\ -d \"grant_type=client_credentials\" \\ -d \"client_id=SEU_CLIENT_ID\" \\ -d \"client_secret=SEU_CLIENT_SECRET\" ``` ```json { \"access_token\": \"eyJhbGciOiJSUzI1NiIs...\", \"expires_in\": 900, \"token_type\": \"Bearer\" } ``` O token vale 15 minutos e este fluxo não tem refresh token: quando vencer, ou ao receber `401`, repita o pedido. ## 3. Chame a API Cada conta tem o seu endereço. Troque `sua-conta` pelo subdomínio que você usa para abrir o CRM: ```bash curl \"https://sua-conta.platform-api.magnetcustomer.com/api/deals?page=1&limit=15\" \\ -H \"Authorization: Bearer SEU_TOKEN\" ``` Requisições com corpo levam também `Content-Type: application/json`. # Convenções ## Paginação Envie sempre `page`. Com ele, toda listagem devolve o mesmo envelope: ```json { \"docs\": [], \"total\": 132, \"pages\": 9, \"page\": 1, \"limit\": 15 } ``` | Parâmetro | Padrão | Descrição | |---|---|---| | `page` | — | Página, a partir de 1. **Obrigatório na prática** | | `limit` | 15 | Registros por página. Máximo 100: acima disso a API usa 100 | | `sortBy` | varia por recurso | Campo de ordenação | | `sortType` | `desc` | `asc` ou `desc` | | `search` | — | Busca textual, quando o recurso aceita | Sem `page`, algumas listagens (Contatos, Pipelines, Campos personalizados e os cadastros de apoio, como tipos e situações) devolvem uma lista simples (`[...]`), sem o envelope, e ignoram `limit`. Para percorrer tudo, peça `page=1` e avance até `page` ser igual a `pages`. Uma página além do fim devolve `docs` vazio. O tamanho de página padrão é 15, com duas exceções: 25 em Leads, Prospects e Clientes, e 100 em Usuários. Um `limit` inválido cai no padrão. ## Identificadores e datas Todo ID é um texto de 24 caracteres hexadecimais, como `507f1f77bcf86cd799439011`. Ao gravar, envie a referência como **ID em texto** — nunca o objeto. Um ID fora desse formato hoje é respondido com `500`, não `400`: valide o formato antes de enviar. No corpo e nas respostas, datas são ISO 8601 em UTC, como `2026-05-15T10:00:00Z`. Nos filtros de data da URL (`minDate`, `createdAt_minDate`, `dateOfExpires_minDate`...), envie um **timestamp em milissegundos**, como `1798761600000`. ## Listas na URL Filtros que aceitam vários valores levam colchetes no nome, mesmo quando o valor é um só: ``` /api/contacts?page=1&staffs[]=507f191e810c19729de860eb&staffs[]=507f191e810c19729de860ec ``` Sem colchetes, um valor único é recusado com erro em parte das listagens. ## Campos ausentes Campo sem valor costuma vir **ausente** da resposta, não como `null`. Trate a falta da chave como vazio. ## Campos personalizados Os campos criados pelo administrador da conta vão na lista `customFields`: ```json { \"customFields\": [ { \"customField\": \"507f1f77bcf86cd799439014\", \"k\": \"segmento\", \"v\": \"Tecnologia\" } ] } ``` O valor vai em **`v`**. Um item com `value` é aceito sem erro, mas o campo fica vazio. Descubra os campos e os IDs com `GET /api/customfields?page=1&feature=deal` (troque `deal` por `meeting`, `task`, `contact`...). Com `&required=true` vêm só os obrigatórios da conta. ## Erros ```json { \"reason\": \"Missing required parameters\", \"message\": \"Missing required parameters\", \"code\": \"VALIDATION_ERROR\", \"errors\": [ { \"field\": \"title\", \"message\": \"must NOT have fewer than 1 characters\", \"keyword\": \"minLength\" } ] } ``` | Status | Quando | |---|---| | `400` | Corpo inválido: campo obrigatório ausente, tipo errado, valor fora da lista | | `401` | Token ausente, inválido ou vencido. Corpo: `{\"reason\": \"Access Denied\"}` | | `403` | O Service Account não tem a permissão da rota (`type: SA_PERMISSION_DENIED`, com `requiredPermission`) | | `404` | Registro não encontrado | | `409` | O registro não está no estado que a operação exige | | `429` | Limite de requisições excedido. Espere o tempo de `Retry-After` | ## Permissões Um Service Account só chama as rotas que as permissões dele liberam. Cada operação desta referência informa a permissão exigida, quando há uma: marque-a ao criar o Service Account. Uma chamada sem a permissão devolve `403` com o nome dela em `requiredPermission`. Rotas de administração da conta (usuários, perfis, criação de webhooks, configurações) exigem um usuário administrador e não estão disponíveis para Service Accounts; por isso não aparecem aqui. ## Limite de requisições Os limites são aplicados por conta. Ao receber `429`, espere os segundos indicados em `Retry-After` e tente de novo com intervalo crescente. ## Área de trabalho Em contas com áreas de trabalho, a API define a área do registro pela credencial ou pelo registro pai. Não envie `workspace`. # Webhooks Para ser avisado quando algo muda no CRM, em vez de consultar a API de tempos em tempos, use webhooks. Um administrador cria o webhook no CRM, em **Integrações › Webhooks**, informando a URL do seu sistema e os eventos. A lista de eventos está em `GET /api/webhooks/triggers`; o formato da entrega, a assinatura e os reenvios estão na seção Webhooks do portal. # Cobertura Esta referência cobre Contatos (leads, prospects e clientes), Empresas, Oportunidades, Pipelines, etapas e motivos de perda, Jornadas, Reuniões, Tarefas, Observações, Tickets, Atendimentos, Usuários, Equipes, Áreas de trabalho, Campos personalizados e os eventos de webhook.
|
|
4
4
|
*
|
|
5
5
|
* The version of the OpenAPI document: 2026-11
|
|
6
6
|
* Contact: suporte@magnetcustomer.com
|
|
@@ -20,7 +20,7 @@ import type { OrganizationInput } from '../models';
|
|
|
20
20
|
*/
|
|
21
21
|
export declare const OrganizationsApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
22
22
|
/**
|
|
23
|
-
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`.
|
|
23
|
+
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`. **Permissão do Service Account:** `organizations.create`
|
|
24
24
|
* @summary Criar empresa
|
|
25
25
|
* @param {OrganizationInput} organizationInput
|
|
26
26
|
* @param {*} [options] Override http request option.
|
|
@@ -28,7 +28,7 @@ export declare const OrganizationsApiAxiosParamCreator: (configuration?: Configu
|
|
|
28
28
|
*/
|
|
29
29
|
createOrganization: (organizationInput: OrganizationInput, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* **Permissão do Service Account:** `organizations.delete`
|
|
32
32
|
* @summary Excluir empresa
|
|
33
33
|
* @param {string} id ID do registro.
|
|
34
34
|
* @param {*} [options] Override http request option.
|
|
@@ -36,7 +36,7 @@ export declare const OrganizationsApiAxiosParamCreator: (configuration?: Configu
|
|
|
36
36
|
*/
|
|
37
37
|
deleteOrganization: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* **Permissão do Service Account:** `organizations.read`
|
|
40
40
|
* @summary Obter empresa
|
|
41
41
|
* @param {string} id ID do registro.
|
|
42
42
|
* @param {*} [options] Override http request option.
|
|
@@ -44,20 +44,20 @@ export declare const OrganizationsApiAxiosParamCreator: (configuration?: Configu
|
|
|
44
44
|
*/
|
|
45
45
|
getOrganization: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* **Permissão do Service Account:** `organizations.list`
|
|
48
48
|
* @summary Listar empresas
|
|
49
49
|
* @param {number} [page] Página, a partir de 1. **Envie sempre**: sem `page`, a resposta vem como lista simples, sem o envelope de paginação, e `limit` é ignorado.
|
|
50
50
|
* @param {number} [limit] Registros por página. Padrão: 15, salvo indicação na operação. Máximo: 100 — acima disso a API usa 100.
|
|
51
51
|
* @param {string} [sortBy] Campo de ordenação. O padrão varia por recurso.
|
|
52
52
|
* @param {ListOrganizationsSortTypeEnum} [sortType] Direção da ordenação.
|
|
53
|
-
* @param {Array<string>} [staffs] Usuários responsáveis.
|
|
53
|
+
* @param {Array<string>} [staffs] Usuários responsáveis. Lista de IDs: envie com colchetes, mesmo para um só valor (`?staffs[]=id1&staffs[]=id2`).
|
|
54
54
|
* @param {string} [search] Busca em nome, e-mail e documento.
|
|
55
55
|
* @param {*} [options] Override http request option.
|
|
56
56
|
* @throws {RequiredError}
|
|
57
57
|
*/
|
|
58
58
|
listOrganizations: (page?: number, limit?: number, sortBy?: string, sortType?: ListOrganizationsSortTypeEnum, staffs?: Array<string>, search?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
59
59
|
/**
|
|
60
|
-
* Envie só os campos que mudam.
|
|
60
|
+
* Envie só os campos que mudam. **Permissão do Service Account:** `organizations.update`
|
|
61
61
|
* @summary Atualizar empresa
|
|
62
62
|
* @param {string} id ID do registro.
|
|
63
63
|
* @param {OrganizationInput} organizationInput
|
|
@@ -71,7 +71,7 @@ export declare const OrganizationsApiAxiosParamCreator: (configuration?: Configu
|
|
|
71
71
|
*/
|
|
72
72
|
export declare const OrganizationsApiFp: (configuration?: Configuration) => {
|
|
73
73
|
/**
|
|
74
|
-
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`.
|
|
74
|
+
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`. **Permissão do Service Account:** `organizations.create`
|
|
75
75
|
* @summary Criar empresa
|
|
76
76
|
* @param {OrganizationInput} organizationInput
|
|
77
77
|
* @param {*} [options] Override http request option.
|
|
@@ -79,7 +79,7 @@ export declare const OrganizationsApiFp: (configuration?: Configuration) => {
|
|
|
79
79
|
*/
|
|
80
80
|
createOrganization(organizationInput: OrganizationInput, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Organization>>;
|
|
81
81
|
/**
|
|
82
|
-
*
|
|
82
|
+
* **Permissão do Service Account:** `organizations.delete`
|
|
83
83
|
* @summary Excluir empresa
|
|
84
84
|
* @param {string} id ID do registro.
|
|
85
85
|
* @param {*} [options] Override http request option.
|
|
@@ -87,7 +87,7 @@ export declare const OrganizationsApiFp: (configuration?: Configuration) => {
|
|
|
87
87
|
*/
|
|
88
88
|
deleteOrganization(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
89
89
|
/**
|
|
90
|
-
*
|
|
90
|
+
* **Permissão do Service Account:** `organizations.read`
|
|
91
91
|
* @summary Obter empresa
|
|
92
92
|
* @param {string} id ID do registro.
|
|
93
93
|
* @param {*} [options] Override http request option.
|
|
@@ -95,20 +95,20 @@ export declare const OrganizationsApiFp: (configuration?: Configuration) => {
|
|
|
95
95
|
*/
|
|
96
96
|
getOrganization(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Organization>>;
|
|
97
97
|
/**
|
|
98
|
-
*
|
|
98
|
+
* **Permissão do Service Account:** `organizations.list`
|
|
99
99
|
* @summary Listar empresas
|
|
100
100
|
* @param {number} [page] Página, a partir de 1. **Envie sempre**: sem `page`, a resposta vem como lista simples, sem o envelope de paginação, e `limit` é ignorado.
|
|
101
101
|
* @param {number} [limit] Registros por página. Padrão: 15, salvo indicação na operação. Máximo: 100 — acima disso a API usa 100.
|
|
102
102
|
* @param {string} [sortBy] Campo de ordenação. O padrão varia por recurso.
|
|
103
103
|
* @param {ListOrganizationsSortTypeEnum} [sortType] Direção da ordenação.
|
|
104
|
-
* @param {Array<string>} [staffs] Usuários responsáveis.
|
|
104
|
+
* @param {Array<string>} [staffs] Usuários responsáveis. Lista de IDs: envie com colchetes, mesmo para um só valor (`?staffs[]=id1&staffs[]=id2`).
|
|
105
105
|
* @param {string} [search] Busca em nome, e-mail e documento.
|
|
106
106
|
* @param {*} [options] Override http request option.
|
|
107
107
|
* @throws {RequiredError}
|
|
108
108
|
*/
|
|
109
109
|
listOrganizations(page?: number, limit?: number, sortBy?: string, sortType?: ListOrganizationsSortTypeEnum, staffs?: Array<string>, search?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListOrganizations200Response>>;
|
|
110
110
|
/**
|
|
111
|
-
* Envie só os campos que mudam.
|
|
111
|
+
* Envie só os campos que mudam. **Permissão do Service Account:** `organizations.update`
|
|
112
112
|
* @summary Atualizar empresa
|
|
113
113
|
* @param {string} id ID do registro.
|
|
114
114
|
* @param {OrganizationInput} organizationInput
|
|
@@ -122,7 +122,7 @@ export declare const OrganizationsApiFp: (configuration?: Configuration) => {
|
|
|
122
122
|
*/
|
|
123
123
|
export declare const OrganizationsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
124
124
|
/**
|
|
125
|
-
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`.
|
|
125
|
+
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`. **Permissão do Service Account:** `organizations.create`
|
|
126
126
|
* @summary Criar empresa
|
|
127
127
|
* @param {OrganizationsApiCreateOrganizationRequest} requestParameters Request parameters.
|
|
128
128
|
* @param {*} [options] Override http request option.
|
|
@@ -130,7 +130,7 @@ export declare const OrganizationsApiFactory: (configuration?: Configuration, ba
|
|
|
130
130
|
*/
|
|
131
131
|
createOrganization(requestParameters: OrganizationsApiCreateOrganizationRequest, options?: RawAxiosRequestConfig): AxiosPromise<Organization>;
|
|
132
132
|
/**
|
|
133
|
-
*
|
|
133
|
+
* **Permissão do Service Account:** `organizations.delete`
|
|
134
134
|
* @summary Excluir empresa
|
|
135
135
|
* @param {OrganizationsApiDeleteOrganizationRequest} requestParameters Request parameters.
|
|
136
136
|
* @param {*} [options] Override http request option.
|
|
@@ -138,7 +138,7 @@ export declare const OrganizationsApiFactory: (configuration?: Configuration, ba
|
|
|
138
138
|
*/
|
|
139
139
|
deleteOrganization(requestParameters: OrganizationsApiDeleteOrganizationRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
140
140
|
/**
|
|
141
|
-
*
|
|
141
|
+
* **Permissão do Service Account:** `organizations.read`
|
|
142
142
|
* @summary Obter empresa
|
|
143
143
|
* @param {OrganizationsApiGetOrganizationRequest} requestParameters Request parameters.
|
|
144
144
|
* @param {*} [options] Override http request option.
|
|
@@ -146,7 +146,7 @@ export declare const OrganizationsApiFactory: (configuration?: Configuration, ba
|
|
|
146
146
|
*/
|
|
147
147
|
getOrganization(requestParameters: OrganizationsApiGetOrganizationRequest, options?: RawAxiosRequestConfig): AxiosPromise<Organization>;
|
|
148
148
|
/**
|
|
149
|
-
*
|
|
149
|
+
* **Permissão do Service Account:** `organizations.list`
|
|
150
150
|
* @summary Listar empresas
|
|
151
151
|
* @param {OrganizationsApiListOrganizationsRequest} requestParameters Request parameters.
|
|
152
152
|
* @param {*} [options] Override http request option.
|
|
@@ -154,7 +154,7 @@ export declare const OrganizationsApiFactory: (configuration?: Configuration, ba
|
|
|
154
154
|
*/
|
|
155
155
|
listOrganizations(requestParameters?: OrganizationsApiListOrganizationsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListOrganizations200Response>;
|
|
156
156
|
/**
|
|
157
|
-
* Envie só os campos que mudam.
|
|
157
|
+
* Envie só os campos que mudam. **Permissão do Service Account:** `organizations.update`
|
|
158
158
|
* @summary Atualizar empresa
|
|
159
159
|
* @param {OrganizationsApiUpdateOrganizationRequest} requestParameters Request parameters.
|
|
160
160
|
* @param {*} [options] Override http request option.
|
|
@@ -207,7 +207,7 @@ export interface OrganizationsApiListOrganizationsRequest {
|
|
|
207
207
|
*/
|
|
208
208
|
readonly sortType?: ListOrganizationsSortTypeEnum;
|
|
209
209
|
/**
|
|
210
|
-
* Usuários responsáveis.
|
|
210
|
+
* Usuários responsáveis. Lista de IDs: envie com colchetes, mesmo para um só valor (`?staffs[]=id1&staffs[]=id2`).
|
|
211
211
|
*/
|
|
212
212
|
readonly staffs?: Array<string>;
|
|
213
213
|
/**
|
|
@@ -230,7 +230,7 @@ export interface OrganizationsApiUpdateOrganizationRequest {
|
|
|
230
230
|
*/
|
|
231
231
|
export declare class OrganizationsApi extends BaseAPI {
|
|
232
232
|
/**
|
|
233
|
-
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`.
|
|
233
|
+
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`. **Permissão do Service Account:** `organizations.create`
|
|
234
234
|
* @summary Criar empresa
|
|
235
235
|
* @param {OrganizationsApiCreateOrganizationRequest} requestParameters Request parameters.
|
|
236
236
|
* @param {*} [options] Override http request option.
|
|
@@ -238,7 +238,7 @@ export declare class OrganizationsApi extends BaseAPI {
|
|
|
238
238
|
*/
|
|
239
239
|
createOrganization(requestParameters: OrganizationsApiCreateOrganizationRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Organization, any, {}, any>>;
|
|
240
240
|
/**
|
|
241
|
-
*
|
|
241
|
+
* **Permissão do Service Account:** `organizations.delete`
|
|
242
242
|
* @summary Excluir empresa
|
|
243
243
|
* @param {OrganizationsApiDeleteOrganizationRequest} requestParameters Request parameters.
|
|
244
244
|
* @param {*} [options] Override http request option.
|
|
@@ -246,7 +246,7 @@ export declare class OrganizationsApi extends BaseAPI {
|
|
|
246
246
|
*/
|
|
247
247
|
deleteOrganization(requestParameters: OrganizationsApiDeleteOrganizationRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}, any>>;
|
|
248
248
|
/**
|
|
249
|
-
*
|
|
249
|
+
* **Permissão do Service Account:** `organizations.read`
|
|
250
250
|
* @summary Obter empresa
|
|
251
251
|
* @param {OrganizationsApiGetOrganizationRequest} requestParameters Request parameters.
|
|
252
252
|
* @param {*} [options] Override http request option.
|
|
@@ -254,7 +254,7 @@ export declare class OrganizationsApi extends BaseAPI {
|
|
|
254
254
|
*/
|
|
255
255
|
getOrganization(requestParameters: OrganizationsApiGetOrganizationRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Organization, any, {}, any>>;
|
|
256
256
|
/**
|
|
257
|
-
*
|
|
257
|
+
* **Permissão do Service Account:** `organizations.list`
|
|
258
258
|
* @summary Listar empresas
|
|
259
259
|
* @param {OrganizationsApiListOrganizationsRequest} requestParameters Request parameters.
|
|
260
260
|
* @param {*} [options] Override http request option.
|
|
@@ -262,7 +262,7 @@ export declare class OrganizationsApi extends BaseAPI {
|
|
|
262
262
|
*/
|
|
263
263
|
listOrganizations(requestParameters?: OrganizationsApiListOrganizationsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<import("../models").Page, any, {}, any>>;
|
|
264
264
|
/**
|
|
265
|
-
* Envie só os campos que mudam.
|
|
265
|
+
* Envie só os campos que mudam. **Permissão do Service Account:** `organizations.update`
|
|
266
266
|
* @summary Atualizar empresa
|
|
267
267
|
* @param {OrganizationsApiUpdateOrganizationRequest} requestParameters Request parameters.
|
|
268
268
|
* @param {*} [options] Override http request option.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
/**
|
|
5
5
|
* API da Magnet Customer
|
|
6
|
-
* A API REST da Magnet Customer permite ler e gravar os registros do CRM a partir dos seus sistemas. # Comece aqui ## 1. Crie um Service Account No CRM, abra **Configurações › Service Accounts** (apenas administradores), clique em **Novo service account**, escolha a validade e as permissões, e copie o **Client ID** e o **Client Secret**. O secret aparece uma única vez. ## 2. Solicite um token ```bash curl -X POST https://magnetcustomer.net/realms/platform/protocol/openid-connect/token \\ -H \"Content-Type: application/x-www-form-urlencoded\" \\ -d \"grant_type=client_credentials\" \\ -d \"client_id=SEU_CLIENT_ID\" \\ -d \"client_secret=SEU_CLIENT_SECRET\" ``` ```json { \"access_token\": \"eyJhbGciOiJSUzI1NiIs...\", \"expires_in\": 900, \"token_type\": \"Bearer\" } ``` O token vale 15 minutos e este fluxo não tem refresh token: quando vencer, ou ao receber `401`, repita o pedido. ## 3. Chame a API Cada conta tem o seu endereço. Troque `sua-conta` pelo subdomínio que você usa para abrir o CRM: ```bash curl \"https://sua-conta.platform-api.magnetcustomer.com/api/deals?page=1&limit=15\" \\ -H \"Authorization: Bearer SEU_TOKEN\" ``` Requisições com corpo levam também `Content-Type: application/json`. # Convenções ## Paginação Envie sempre `page`. Com ele, toda listagem devolve o mesmo envelope: ```json { \"docs\": [], \"total\": 132, \"pages\": 9, \"page\": 1, \"limit\": 15 } ``` | Parâmetro | Padrão | Descrição | |---|---|---| | `page` | — | Página, a partir de 1. **Obrigatório na prática** | | `limit` | 15 | Registros por página. Máximo 100: acima disso a API usa 100 | | `sortBy` | varia por recurso | Campo de ordenação | | `sortType` | `desc` | `asc` ou `desc` | | `search` | — | Busca textual, quando o recurso aceita | Sem `page`,
|
|
6
|
+
* A API REST da Magnet Customer permite ler e gravar os registros do CRM a partir dos seus sistemas. # Comece aqui ## 1. Crie um Service Account No CRM, abra **Configurações › Service Accounts** (apenas administradores), clique em **Novo service account**, escolha a validade e as permissões, e copie o **Client ID** e o **Client Secret**. O secret aparece uma única vez. ## 2. Solicite um token ```bash curl -X POST https://magnetcustomer.net/realms/platform/protocol/openid-connect/token \\ -H \"Content-Type: application/x-www-form-urlencoded\" \\ -d \"grant_type=client_credentials\" \\ -d \"client_id=SEU_CLIENT_ID\" \\ -d \"client_secret=SEU_CLIENT_SECRET\" ``` ```json { \"access_token\": \"eyJhbGciOiJSUzI1NiIs...\", \"expires_in\": 900, \"token_type\": \"Bearer\" } ``` O token vale 15 minutos e este fluxo não tem refresh token: quando vencer, ou ao receber `401`, repita o pedido. ## 3. Chame a API Cada conta tem o seu endereço. Troque `sua-conta` pelo subdomínio que você usa para abrir o CRM: ```bash curl \"https://sua-conta.platform-api.magnetcustomer.com/api/deals?page=1&limit=15\" \\ -H \"Authorization: Bearer SEU_TOKEN\" ``` Requisições com corpo levam também `Content-Type: application/json`. # Convenções ## Paginação Envie sempre `page`. Com ele, toda listagem devolve o mesmo envelope: ```json { \"docs\": [], \"total\": 132, \"pages\": 9, \"page\": 1, \"limit\": 15 } ``` | Parâmetro | Padrão | Descrição | |---|---|---| | `page` | — | Página, a partir de 1. **Obrigatório na prática** | | `limit` | 15 | Registros por página. Máximo 100: acima disso a API usa 100 | | `sortBy` | varia por recurso | Campo de ordenação | | `sortType` | `desc` | `asc` ou `desc` | | `search` | — | Busca textual, quando o recurso aceita | Sem `page`, algumas listagens (Contatos, Pipelines, Campos personalizados e os cadastros de apoio, como tipos e situações) devolvem uma lista simples (`[...]`), sem o envelope, e ignoram `limit`. Para percorrer tudo, peça `page=1` e avance até `page` ser igual a `pages`. Uma página além do fim devolve `docs` vazio. O tamanho de página padrão é 15, com duas exceções: 25 em Leads, Prospects e Clientes, e 100 em Usuários. Um `limit` inválido cai no padrão. ## Identificadores e datas Todo ID é um texto de 24 caracteres hexadecimais, como `507f1f77bcf86cd799439011`. Ao gravar, envie a referência como **ID em texto** — nunca o objeto. Um ID fora desse formato hoje é respondido com `500`, não `400`: valide o formato antes de enviar. No corpo e nas respostas, datas são ISO 8601 em UTC, como `2026-05-15T10:00:00Z`. Nos filtros de data da URL (`minDate`, `createdAt_minDate`, `dateOfExpires_minDate`...), envie um **timestamp em milissegundos**, como `1798761600000`. ## Listas na URL Filtros que aceitam vários valores levam colchetes no nome, mesmo quando o valor é um só: ``` /api/contacts?page=1&staffs[]=507f191e810c19729de860eb&staffs[]=507f191e810c19729de860ec ``` Sem colchetes, um valor único é recusado com erro em parte das listagens. ## Campos ausentes Campo sem valor costuma vir **ausente** da resposta, não como `null`. Trate a falta da chave como vazio. ## Campos personalizados Os campos criados pelo administrador da conta vão na lista `customFields`: ```json { \"customFields\": [ { \"customField\": \"507f1f77bcf86cd799439014\", \"k\": \"segmento\", \"v\": \"Tecnologia\" } ] } ``` O valor vai em **`v`**. Um item com `value` é aceito sem erro, mas o campo fica vazio. Descubra os campos e os IDs com `GET /api/customfields?page=1&feature=deal` (troque `deal` por `meeting`, `task`, `contact`...). Com `&required=true` vêm só os obrigatórios da conta. ## Erros ```json { \"reason\": \"Missing required parameters\", \"message\": \"Missing required parameters\", \"code\": \"VALIDATION_ERROR\", \"errors\": [ { \"field\": \"title\", \"message\": \"must NOT have fewer than 1 characters\", \"keyword\": \"minLength\" } ] } ``` | Status | Quando | |---|---| | `400` | Corpo inválido: campo obrigatório ausente, tipo errado, valor fora da lista | | `401` | Token ausente, inválido ou vencido. Corpo: `{\"reason\": \"Access Denied\"}` | | `403` | O Service Account não tem a permissão da rota (`type: SA_PERMISSION_DENIED`, com `requiredPermission`) | | `404` | Registro não encontrado | | `409` | O registro não está no estado que a operação exige | | `429` | Limite de requisições excedido. Espere o tempo de `Retry-After` | ## Permissões Um Service Account só chama as rotas que as permissões dele liberam. Cada operação desta referência informa a permissão exigida, quando há uma: marque-a ao criar o Service Account. Uma chamada sem a permissão devolve `403` com o nome dela em `requiredPermission`. Rotas de administração da conta (usuários, perfis, criação de webhooks, configurações) exigem um usuário administrador e não estão disponíveis para Service Accounts; por isso não aparecem aqui. ## Limite de requisições Os limites são aplicados por conta. Ao receber `429`, espere os segundos indicados em `Retry-After` e tente de novo com intervalo crescente. ## Área de trabalho Em contas com áreas de trabalho, a API define a área do registro pela credencial ou pelo registro pai. Não envie `workspace`. # Webhooks Para ser avisado quando algo muda no CRM, em vez de consultar a API de tempos em tempos, use webhooks. Um administrador cria o webhook no CRM, em **Integrações › Webhooks**, informando a URL do seu sistema e os eventos. A lista de eventos está em `GET /api/webhooks/triggers`; o formato da entrega, a assinatura e os reenvios estão na seção Webhooks do portal. # Cobertura Esta referência cobre Contatos (leads, prospects e clientes), Empresas, Oportunidades, Pipelines, etapas e motivos de perda, Jornadas, Reuniões, Tarefas, Observações, Tickets, Atendimentos, Usuários, Equipes, Áreas de trabalho, Campos personalizados e os eventos de webhook.
|
|
7
7
|
*
|
|
8
8
|
* The version of the OpenAPI document: 2026-11
|
|
9
9
|
* Contact: suporte@magnetcustomer.com
|
|
@@ -29,7 +29,7 @@ const base_1 = require("../base");
|
|
|
29
29
|
const OrganizationsApiAxiosParamCreator = function (configuration) {
|
|
30
30
|
return {
|
|
31
31
|
/**
|
|
32
|
-
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`.
|
|
32
|
+
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`. **Permissão do Service Account:** `organizations.create`
|
|
33
33
|
* @summary Criar empresa
|
|
34
34
|
* @param {OrganizationInput} organizationInput
|
|
35
35
|
* @param {*} [options] Override http request option.
|
|
@@ -63,7 +63,7 @@ const OrganizationsApiAxiosParamCreator = function (configuration) {
|
|
|
63
63
|
};
|
|
64
64
|
},
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* **Permissão do Service Account:** `organizations.delete`
|
|
67
67
|
* @summary Excluir empresa
|
|
68
68
|
* @param {string} id ID do registro.
|
|
69
69
|
* @param {*} [options] Override http request option.
|
|
@@ -96,7 +96,7 @@ const OrganizationsApiAxiosParamCreator = function (configuration) {
|
|
|
96
96
|
};
|
|
97
97
|
},
|
|
98
98
|
/**
|
|
99
|
-
*
|
|
99
|
+
* **Permissão do Service Account:** `organizations.read`
|
|
100
100
|
* @summary Obter empresa
|
|
101
101
|
* @param {string} id ID do registro.
|
|
102
102
|
* @param {*} [options] Override http request option.
|
|
@@ -129,13 +129,13 @@ const OrganizationsApiAxiosParamCreator = function (configuration) {
|
|
|
129
129
|
};
|
|
130
130
|
},
|
|
131
131
|
/**
|
|
132
|
-
*
|
|
132
|
+
* **Permissão do Service Account:** `organizations.list`
|
|
133
133
|
* @summary Listar empresas
|
|
134
134
|
* @param {number} [page] Página, a partir de 1. **Envie sempre**: sem `page`, a resposta vem como lista simples, sem o envelope de paginação, e `limit` é ignorado.
|
|
135
135
|
* @param {number} [limit] Registros por página. Padrão: 15, salvo indicação na operação. Máximo: 100 — acima disso a API usa 100.
|
|
136
136
|
* @param {string} [sortBy] Campo de ordenação. O padrão varia por recurso.
|
|
137
137
|
* @param {ListOrganizationsSortTypeEnum} [sortType] Direção da ordenação.
|
|
138
|
-
* @param {Array<string>} [staffs] Usuários responsáveis.
|
|
138
|
+
* @param {Array<string>} [staffs] Usuários responsáveis. Lista de IDs: envie com colchetes, mesmo para um só valor (`?staffs[]=id1&staffs[]=id2`).
|
|
139
139
|
* @param {string} [search] Busca em nome, e-mail e documento.
|
|
140
140
|
* @param {*} [options] Override http request option.
|
|
141
141
|
* @throws {RequiredError}
|
|
@@ -167,7 +167,7 @@ const OrganizationsApiAxiosParamCreator = function (configuration) {
|
|
|
167
167
|
localVarQueryParameter['sortType'] = sortType;
|
|
168
168
|
}
|
|
169
169
|
if (staffs) {
|
|
170
|
-
localVarQueryParameter['staffs'] = staffs;
|
|
170
|
+
localVarQueryParameter['staffs[]'] = staffs;
|
|
171
171
|
}
|
|
172
172
|
if (search !== undefined) {
|
|
173
173
|
localVarQueryParameter['search'] = search;
|
|
@@ -182,7 +182,7 @@ const OrganizationsApiAxiosParamCreator = function (configuration) {
|
|
|
182
182
|
};
|
|
183
183
|
},
|
|
184
184
|
/**
|
|
185
|
-
* Envie só os campos que mudam.
|
|
185
|
+
* Envie só os campos que mudam. **Permissão do Service Account:** `organizations.update`
|
|
186
186
|
* @summary Atualizar empresa
|
|
187
187
|
* @param {string} id ID do registro.
|
|
188
188
|
* @param {OrganizationInput} organizationInput
|
|
@@ -229,7 +229,7 @@ const OrganizationsApiFp = function (configuration) {
|
|
|
229
229
|
const localVarAxiosParamCreator = (0, exports.OrganizationsApiAxiosParamCreator)(configuration);
|
|
230
230
|
return {
|
|
231
231
|
/**
|
|
232
|
-
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`.
|
|
232
|
+
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`. **Permissão do Service Account:** `organizations.create`
|
|
233
233
|
* @summary Criar empresa
|
|
234
234
|
* @param {OrganizationInput} organizationInput
|
|
235
235
|
* @param {*} [options] Override http request option.
|
|
@@ -242,7 +242,7 @@ const OrganizationsApiFp = function (configuration) {
|
|
|
242
242
|
return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
243
243
|
},
|
|
244
244
|
/**
|
|
245
|
-
*
|
|
245
|
+
* **Permissão do Service Account:** `organizations.delete`
|
|
246
246
|
* @summary Excluir empresa
|
|
247
247
|
* @param {string} id ID do registro.
|
|
248
248
|
* @param {*} [options] Override http request option.
|
|
@@ -255,7 +255,7 @@ const OrganizationsApiFp = function (configuration) {
|
|
|
255
255
|
return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
256
256
|
},
|
|
257
257
|
/**
|
|
258
|
-
*
|
|
258
|
+
* **Permissão do Service Account:** `organizations.read`
|
|
259
259
|
* @summary Obter empresa
|
|
260
260
|
* @param {string} id ID do registro.
|
|
261
261
|
* @param {*} [options] Override http request option.
|
|
@@ -268,13 +268,13 @@ const OrganizationsApiFp = function (configuration) {
|
|
|
268
268
|
return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
269
269
|
},
|
|
270
270
|
/**
|
|
271
|
-
*
|
|
271
|
+
* **Permissão do Service Account:** `organizations.list`
|
|
272
272
|
* @summary Listar empresas
|
|
273
273
|
* @param {number} [page] Página, a partir de 1. **Envie sempre**: sem `page`, a resposta vem como lista simples, sem o envelope de paginação, e `limit` é ignorado.
|
|
274
274
|
* @param {number} [limit] Registros por página. Padrão: 15, salvo indicação na operação. Máximo: 100 — acima disso a API usa 100.
|
|
275
275
|
* @param {string} [sortBy] Campo de ordenação. O padrão varia por recurso.
|
|
276
276
|
* @param {ListOrganizationsSortTypeEnum} [sortType] Direção da ordenação.
|
|
277
|
-
* @param {Array<string>} [staffs] Usuários responsáveis.
|
|
277
|
+
* @param {Array<string>} [staffs] Usuários responsáveis. Lista de IDs: envie com colchetes, mesmo para um só valor (`?staffs[]=id1&staffs[]=id2`).
|
|
278
278
|
* @param {string} [search] Busca em nome, e-mail e documento.
|
|
279
279
|
* @param {*} [options] Override http request option.
|
|
280
280
|
* @throws {RequiredError}
|
|
@@ -286,7 +286,7 @@ const OrganizationsApiFp = function (configuration) {
|
|
|
286
286
|
return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
|
|
287
287
|
},
|
|
288
288
|
/**
|
|
289
|
-
* Envie só os campos que mudam.
|
|
289
|
+
* Envie só os campos que mudam. **Permissão do Service Account:** `organizations.update`
|
|
290
290
|
* @summary Atualizar empresa
|
|
291
291
|
* @param {string} id ID do registro.
|
|
292
292
|
* @param {OrganizationInput} organizationInput
|
|
@@ -309,7 +309,7 @@ const OrganizationsApiFactory = function (configuration, basePath, axios) {
|
|
|
309
309
|
const localVarFp = (0, exports.OrganizationsApiFp)(configuration);
|
|
310
310
|
return {
|
|
311
311
|
/**
|
|
312
|
-
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`.
|
|
312
|
+
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`. **Permissão do Service Account:** `organizations.create`
|
|
313
313
|
* @summary Criar empresa
|
|
314
314
|
* @param {OrganizationsApiCreateOrganizationRequest} requestParameters Request parameters.
|
|
315
315
|
* @param {*} [options] Override http request option.
|
|
@@ -319,7 +319,7 @@ const OrganizationsApiFactory = function (configuration, basePath, axios) {
|
|
|
319
319
|
return localVarFp.createOrganization(requestParameters.organizationInput, options).then((request) => request(axios, basePath));
|
|
320
320
|
},
|
|
321
321
|
/**
|
|
322
|
-
*
|
|
322
|
+
* **Permissão do Service Account:** `organizations.delete`
|
|
323
323
|
* @summary Excluir empresa
|
|
324
324
|
* @param {OrganizationsApiDeleteOrganizationRequest} requestParameters Request parameters.
|
|
325
325
|
* @param {*} [options] Override http request option.
|
|
@@ -329,7 +329,7 @@ const OrganizationsApiFactory = function (configuration, basePath, axios) {
|
|
|
329
329
|
return localVarFp.deleteOrganization(requestParameters.id, options).then((request) => request(axios, basePath));
|
|
330
330
|
},
|
|
331
331
|
/**
|
|
332
|
-
*
|
|
332
|
+
* **Permissão do Service Account:** `organizations.read`
|
|
333
333
|
* @summary Obter empresa
|
|
334
334
|
* @param {OrganizationsApiGetOrganizationRequest} requestParameters Request parameters.
|
|
335
335
|
* @param {*} [options] Override http request option.
|
|
@@ -339,7 +339,7 @@ const OrganizationsApiFactory = function (configuration, basePath, axios) {
|
|
|
339
339
|
return localVarFp.getOrganization(requestParameters.id, options).then((request) => request(axios, basePath));
|
|
340
340
|
},
|
|
341
341
|
/**
|
|
342
|
-
*
|
|
342
|
+
* **Permissão do Service Account:** `organizations.list`
|
|
343
343
|
* @summary Listar empresas
|
|
344
344
|
* @param {OrganizationsApiListOrganizationsRequest} requestParameters Request parameters.
|
|
345
345
|
* @param {*} [options] Override http request option.
|
|
@@ -349,7 +349,7 @@ const OrganizationsApiFactory = function (configuration, basePath, axios) {
|
|
|
349
349
|
return localVarFp.listOrganizations(requestParameters.page, requestParameters.limit, requestParameters.sortBy, requestParameters.sortType, requestParameters.staffs, requestParameters.search, options).then((request) => request(axios, basePath));
|
|
350
350
|
},
|
|
351
351
|
/**
|
|
352
|
-
* Envie só os campos que mudam.
|
|
352
|
+
* Envie só os campos que mudam. **Permissão do Service Account:** `organizations.update`
|
|
353
353
|
* @summary Atualizar empresa
|
|
354
354
|
* @param {OrganizationsApiUpdateOrganizationRequest} requestParameters Request parameters.
|
|
355
355
|
* @param {*} [options] Override http request option.
|
|
@@ -366,7 +366,7 @@ exports.OrganizationsApiFactory = OrganizationsApiFactory;
|
|
|
366
366
|
*/
|
|
367
367
|
class OrganizationsApi extends base_1.BaseAPI {
|
|
368
368
|
/**
|
|
369
|
-
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`.
|
|
369
|
+
* Os campos obrigatórios são definidos pelo administrador da conta: consulte `GET /api/customfields?feature=organization&required=true`. **Permissão do Service Account:** `organizations.create`
|
|
370
370
|
* @summary Criar empresa
|
|
371
371
|
* @param {OrganizationsApiCreateOrganizationRequest} requestParameters Request parameters.
|
|
372
372
|
* @param {*} [options] Override http request option.
|
|
@@ -376,7 +376,7 @@ class OrganizationsApi extends base_1.BaseAPI {
|
|
|
376
376
|
return (0, exports.OrganizationsApiFp)(this.configuration).createOrganization(requestParameters.organizationInput, options).then((request) => request(this.axios, this.basePath));
|
|
377
377
|
}
|
|
378
378
|
/**
|
|
379
|
-
*
|
|
379
|
+
* **Permissão do Service Account:** `organizations.delete`
|
|
380
380
|
* @summary Excluir empresa
|
|
381
381
|
* @param {OrganizationsApiDeleteOrganizationRequest} requestParameters Request parameters.
|
|
382
382
|
* @param {*} [options] Override http request option.
|
|
@@ -386,7 +386,7 @@ class OrganizationsApi extends base_1.BaseAPI {
|
|
|
386
386
|
return (0, exports.OrganizationsApiFp)(this.configuration).deleteOrganization(requestParameters.id, options).then((request) => request(this.axios, this.basePath));
|
|
387
387
|
}
|
|
388
388
|
/**
|
|
389
|
-
*
|
|
389
|
+
* **Permissão do Service Account:** `organizations.read`
|
|
390
390
|
* @summary Obter empresa
|
|
391
391
|
* @param {OrganizationsApiGetOrganizationRequest} requestParameters Request parameters.
|
|
392
392
|
* @param {*} [options] Override http request option.
|
|
@@ -396,7 +396,7 @@ class OrganizationsApi extends base_1.BaseAPI {
|
|
|
396
396
|
return (0, exports.OrganizationsApiFp)(this.configuration).getOrganization(requestParameters.id, options).then((request) => request(this.axios, this.basePath));
|
|
397
397
|
}
|
|
398
398
|
/**
|
|
399
|
-
*
|
|
399
|
+
* **Permissão do Service Account:** `organizations.list`
|
|
400
400
|
* @summary Listar empresas
|
|
401
401
|
* @param {OrganizationsApiListOrganizationsRequest} requestParameters Request parameters.
|
|
402
402
|
* @param {*} [options] Override http request option.
|
|
@@ -406,7 +406,7 @@ class OrganizationsApi extends base_1.BaseAPI {
|
|
|
406
406
|
return (0, exports.OrganizationsApiFp)(this.configuration).listOrganizations(requestParameters.page, requestParameters.limit, requestParameters.sortBy, requestParameters.sortType, requestParameters.staffs, requestParameters.search, options).then((request) => request(this.axios, this.basePath));
|
|
407
407
|
}
|
|
408
408
|
/**
|
|
409
|
-
* Envie só os campos que mudam.
|
|
409
|
+
* Envie só os campos que mudam. **Permissão do Service Account:** `organizations.update`
|
|
410
410
|
* @summary Atualizar empresa
|
|
411
411
|
* @param {OrganizationsApiUpdateOrganizationRequest} requestParameters Request parameters.
|
|
412
412
|
* @param {*} [options] Override http request option.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API da Magnet Customer
|
|
3
|
-
* A API REST da Magnet Customer permite ler e gravar os registros do CRM a partir dos seus sistemas. # Comece aqui ## 1. Crie um Service Account No CRM, abra **Configurações › Service Accounts** (apenas administradores), clique em **Novo service account**, escolha a validade e as permissões, e copie o **Client ID** e o **Client Secret**. O secret aparece uma única vez. ## 2. Solicite um token ```bash curl -X POST https://magnetcustomer.net/realms/platform/protocol/openid-connect/token \\ -H \"Content-Type: application/x-www-form-urlencoded\" \\ -d \"grant_type=client_credentials\" \\ -d \"client_id=SEU_CLIENT_ID\" \\ -d \"client_secret=SEU_CLIENT_SECRET\" ``` ```json { \"access_token\": \"eyJhbGciOiJSUzI1NiIs...\", \"expires_in\": 900, \"token_type\": \"Bearer\" } ``` O token vale 15 minutos e este fluxo não tem refresh token: quando vencer, ou ao receber `401`, repita o pedido. ## 3. Chame a API Cada conta tem o seu endereço. Troque `sua-conta` pelo subdomínio que você usa para abrir o CRM: ```bash curl \"https://sua-conta.platform-api.magnetcustomer.com/api/deals?page=1&limit=15\" \\ -H \"Authorization: Bearer SEU_TOKEN\" ``` Requisições com corpo levam também `Content-Type: application/json`. # Convenções ## Paginação Envie sempre `page`. Com ele, toda listagem devolve o mesmo envelope: ```json { \"docs\": [], \"total\": 132, \"pages\": 9, \"page\": 1, \"limit\": 15 } ``` | Parâmetro | Padrão | Descrição | |---|---|---| | `page` | — | Página, a partir de 1. **Obrigatório na prática** | | `limit` | 15 | Registros por página. Máximo 100: acima disso a API usa 100 | | `sortBy` | varia por recurso | Campo de ordenação | | `sortType` | `desc` | `asc` ou `desc` | | `search` | — | Busca textual, quando o recurso aceita | Sem `page`,
|
|
3
|
+
* A API REST da Magnet Customer permite ler e gravar os registros do CRM a partir dos seus sistemas. # Comece aqui ## 1. Crie um Service Account No CRM, abra **Configurações › Service Accounts** (apenas administradores), clique em **Novo service account**, escolha a validade e as permissões, e copie o **Client ID** e o **Client Secret**. O secret aparece uma única vez. ## 2. Solicite um token ```bash curl -X POST https://magnetcustomer.net/realms/platform/protocol/openid-connect/token \\ -H \"Content-Type: application/x-www-form-urlencoded\" \\ -d \"grant_type=client_credentials\" \\ -d \"client_id=SEU_CLIENT_ID\" \\ -d \"client_secret=SEU_CLIENT_SECRET\" ``` ```json { \"access_token\": \"eyJhbGciOiJSUzI1NiIs...\", \"expires_in\": 900, \"token_type\": \"Bearer\" } ``` O token vale 15 minutos e este fluxo não tem refresh token: quando vencer, ou ao receber `401`, repita o pedido. ## 3. Chame a API Cada conta tem o seu endereço. Troque `sua-conta` pelo subdomínio que você usa para abrir o CRM: ```bash curl \"https://sua-conta.platform-api.magnetcustomer.com/api/deals?page=1&limit=15\" \\ -H \"Authorization: Bearer SEU_TOKEN\" ``` Requisições com corpo levam também `Content-Type: application/json`. # Convenções ## Paginação Envie sempre `page`. Com ele, toda listagem devolve o mesmo envelope: ```json { \"docs\": [], \"total\": 132, \"pages\": 9, \"page\": 1, \"limit\": 15 } ``` | Parâmetro | Padrão | Descrição | |---|---|---| | `page` | — | Página, a partir de 1. **Obrigatório na prática** | | `limit` | 15 | Registros por página. Máximo 100: acima disso a API usa 100 | | `sortBy` | varia por recurso | Campo de ordenação | | `sortType` | `desc` | `asc` ou `desc` | | `search` | — | Busca textual, quando o recurso aceita | Sem `page`, algumas listagens (Contatos, Pipelines, Campos personalizados e os cadastros de apoio, como tipos e situações) devolvem uma lista simples (`[...]`), sem o envelope, e ignoram `limit`. Para percorrer tudo, peça `page=1` e avance até `page` ser igual a `pages`. Uma página além do fim devolve `docs` vazio. O tamanho de página padrão é 15, com duas exceções: 25 em Leads, Prospects e Clientes, e 100 em Usuários. Um `limit` inválido cai no padrão. ## Identificadores e datas Todo ID é um texto de 24 caracteres hexadecimais, como `507f1f77bcf86cd799439011`. Ao gravar, envie a referência como **ID em texto** — nunca o objeto. Um ID fora desse formato hoje é respondido com `500`, não `400`: valide o formato antes de enviar. No corpo e nas respostas, datas são ISO 8601 em UTC, como `2026-05-15T10:00:00Z`. Nos filtros de data da URL (`minDate`, `createdAt_minDate`, `dateOfExpires_minDate`...), envie um **timestamp em milissegundos**, como `1798761600000`. ## Listas na URL Filtros que aceitam vários valores levam colchetes no nome, mesmo quando o valor é um só: ``` /api/contacts?page=1&staffs[]=507f191e810c19729de860eb&staffs[]=507f191e810c19729de860ec ``` Sem colchetes, um valor único é recusado com erro em parte das listagens. ## Campos ausentes Campo sem valor costuma vir **ausente** da resposta, não como `null`. Trate a falta da chave como vazio. ## Campos personalizados Os campos criados pelo administrador da conta vão na lista `customFields`: ```json { \"customFields\": [ { \"customField\": \"507f1f77bcf86cd799439014\", \"k\": \"segmento\", \"v\": \"Tecnologia\" } ] } ``` O valor vai em **`v`**. Um item com `value` é aceito sem erro, mas o campo fica vazio. Descubra os campos e os IDs com `GET /api/customfields?page=1&feature=deal` (troque `deal` por `meeting`, `task`, `contact`...). Com `&required=true` vêm só os obrigatórios da conta. ## Erros ```json { \"reason\": \"Missing required parameters\", \"message\": \"Missing required parameters\", \"code\": \"VALIDATION_ERROR\", \"errors\": [ { \"field\": \"title\", \"message\": \"must NOT have fewer than 1 characters\", \"keyword\": \"minLength\" } ] } ``` | Status | Quando | |---|---| | `400` | Corpo inválido: campo obrigatório ausente, tipo errado, valor fora da lista | | `401` | Token ausente, inválido ou vencido. Corpo: `{\"reason\": \"Access Denied\"}` | | `403` | O Service Account não tem a permissão da rota (`type: SA_PERMISSION_DENIED`, com `requiredPermission`) | | `404` | Registro não encontrado | | `409` | O registro não está no estado que a operação exige | | `429` | Limite de requisições excedido. Espere o tempo de `Retry-After` | ## Permissões Um Service Account só chama as rotas que as permissões dele liberam. Cada operação desta referência informa a permissão exigida, quando há uma: marque-a ao criar o Service Account. Uma chamada sem a permissão devolve `403` com o nome dela em `requiredPermission`. Rotas de administração da conta (usuários, perfis, criação de webhooks, configurações) exigem um usuário administrador e não estão disponíveis para Service Accounts; por isso não aparecem aqui. ## Limite de requisições Os limites são aplicados por conta. Ao receber `429`, espere os segundos indicados em `Retry-After` e tente de novo com intervalo crescente. ## Área de trabalho Em contas com áreas de trabalho, a API define a área do registro pela credencial ou pelo registro pai. Não envie `workspace`. # Webhooks Para ser avisado quando algo muda no CRM, em vez de consultar a API de tempos em tempos, use webhooks. Um administrador cria o webhook no CRM, em **Integrações › Webhooks**, informando a URL do seu sistema e os eventos. A lista de eventos está em `GET /api/webhooks/triggers`; o formato da entrega, a assinatura e os reenvios estão na seção Webhooks do portal. # Cobertura Esta referência cobre Contatos (leads, prospects e clientes), Empresas, Oportunidades, Pipelines, etapas e motivos de perda, Jornadas, Reuniões, Tarefas, Observações, Tickets, Atendimentos, Usuários, Equipes, Áreas de trabalho, Campos personalizados e os eventos de webhook.
|
|
4
4
|
*
|
|
5
5
|
* The version of the OpenAPI document: 2026-11
|
|
6
6
|
* Contact: suporte@magnetcustomer.com
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
import type { Configuration } from '../configuration';
|
|
13
13
|
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
|
|
14
14
|
import { type RequestArgs, BaseAPI } from '../base';
|
|
15
|
+
import type { ListLostReasons200Response } from '../models';
|
|
15
16
|
import type { ListPipelines200Response } from '../models';
|
|
16
17
|
import type { Pipeline } from '../models';
|
|
17
18
|
import type { Stage } from '../models';
|
|
@@ -27,6 +28,15 @@ export declare const PipelinesApiAxiosParamCreator: (configuration?: Configurati
|
|
|
27
28
|
* @throws {RequiredError}
|
|
28
29
|
*/
|
|
29
30
|
getPipeline: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
31
|
+
/**
|
|
32
|
+
* Cada motivo pertence a um pipeline. Use o `_id` em `lostReason` ao fechar uma oportunidade como perdida.
|
|
33
|
+
* @summary Listar motivos de perda
|
|
34
|
+
* @param {number} [page] Página, a partir de 1. **Envie sempre**: sem `page`, a resposta vem como lista simples, sem o envelope de paginação, e `limit` é ignorado.
|
|
35
|
+
* @param {number} [limit] Registros por página. Padrão: 15, salvo indicação na operação. Máximo: 100 — acima disso a API usa 100.
|
|
36
|
+
* @param {*} [options] Override http request option.
|
|
37
|
+
* @throws {RequiredError}
|
|
38
|
+
*/
|
|
39
|
+
listLostReasons: (page?: number, limit?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
30
40
|
/**
|
|
31
41
|
* Use para descobrir o `stage` de uma oportunidade. Devolve uma lista simples, sem envelope de paginação.
|
|
32
42
|
* @summary Listar etapas do pipeline
|
|
@@ -60,6 +70,15 @@ export declare const PipelinesApiFp: (configuration?: Configuration) => {
|
|
|
60
70
|
* @throws {RequiredError}
|
|
61
71
|
*/
|
|
62
72
|
getPipeline(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Pipeline>>;
|
|
73
|
+
/**
|
|
74
|
+
* Cada motivo pertence a um pipeline. Use o `_id` em `lostReason` ao fechar uma oportunidade como perdida.
|
|
75
|
+
* @summary Listar motivos de perda
|
|
76
|
+
* @param {number} [page] Página, a partir de 1. **Envie sempre**: sem `page`, a resposta vem como lista simples, sem o envelope de paginação, e `limit` é ignorado.
|
|
77
|
+
* @param {number} [limit] Registros por página. Padrão: 15, salvo indicação na operação. Máximo: 100 — acima disso a API usa 100.
|
|
78
|
+
* @param {*} [options] Override http request option.
|
|
79
|
+
* @throws {RequiredError}
|
|
80
|
+
*/
|
|
81
|
+
listLostReasons(page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListLostReasons200Response>>;
|
|
63
82
|
/**
|
|
64
83
|
* Use para descobrir o `stage` de uma oportunidade. Devolve uma lista simples, sem envelope de paginação.
|
|
65
84
|
* @summary Listar etapas do pipeline
|
|
@@ -93,6 +112,14 @@ export declare const PipelinesApiFactory: (configuration?: Configuration, basePa
|
|
|
93
112
|
* @throws {RequiredError}
|
|
94
113
|
*/
|
|
95
114
|
getPipeline(requestParameters: PipelinesApiGetPipelineRequest, options?: RawAxiosRequestConfig): AxiosPromise<Pipeline>;
|
|
115
|
+
/**
|
|
116
|
+
* Cada motivo pertence a um pipeline. Use o `_id` em `lostReason` ao fechar uma oportunidade como perdida.
|
|
117
|
+
* @summary Listar motivos de perda
|
|
118
|
+
* @param {PipelinesApiListLostReasonsRequest} requestParameters Request parameters.
|
|
119
|
+
* @param {*} [options] Override http request option.
|
|
120
|
+
* @throws {RequiredError}
|
|
121
|
+
*/
|
|
122
|
+
listLostReasons(requestParameters?: PipelinesApiListLostReasonsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListLostReasons200Response>;
|
|
96
123
|
/**
|
|
97
124
|
* Use para descobrir o `stage` de uma oportunidade. Devolve uma lista simples, sem envelope de paginação.
|
|
98
125
|
* @summary Listar etapas do pipeline
|
|
@@ -119,6 +146,19 @@ export interface PipelinesApiGetPipelineRequest {
|
|
|
119
146
|
*/
|
|
120
147
|
readonly id: string;
|
|
121
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Request parameters for listLostReasons operation in PipelinesApi.
|
|
151
|
+
*/
|
|
152
|
+
export interface PipelinesApiListLostReasonsRequest {
|
|
153
|
+
/**
|
|
154
|
+
* Página, a partir de 1. **Envie sempre**: sem `page`, a resposta vem como lista simples, sem o envelope de paginação, e `limit` é ignorado.
|
|
155
|
+
*/
|
|
156
|
+
readonly page?: number;
|
|
157
|
+
/**
|
|
158
|
+
* Registros por página. Padrão: 15, salvo indicação na operação. Máximo: 100 — acima disso a API usa 100.
|
|
159
|
+
*/
|
|
160
|
+
readonly limit?: number;
|
|
161
|
+
}
|
|
122
162
|
/**
|
|
123
163
|
* Request parameters for listPipelineStages operation in PipelinesApi.
|
|
124
164
|
*/
|
|
@@ -165,6 +205,14 @@ export declare class PipelinesApi extends BaseAPI {
|
|
|
165
205
|
* @throws {RequiredError}
|
|
166
206
|
*/
|
|
167
207
|
getPipeline(requestParameters: PipelinesApiGetPipelineRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Pipeline, any, {}, any>>;
|
|
208
|
+
/**
|
|
209
|
+
* Cada motivo pertence a um pipeline. Use o `_id` em `lostReason` ao fechar uma oportunidade como perdida.
|
|
210
|
+
* @summary Listar motivos de perda
|
|
211
|
+
* @param {PipelinesApiListLostReasonsRequest} requestParameters Request parameters.
|
|
212
|
+
* @param {*} [options] Override http request option.
|
|
213
|
+
* @throws {RequiredError}
|
|
214
|
+
*/
|
|
215
|
+
listLostReasons(requestParameters?: PipelinesApiListLostReasonsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<import("../models").Page, any, {}, any>>;
|
|
168
216
|
/**
|
|
169
217
|
* Use para descobrir o `stage` de uma oportunidade. Devolve uma lista simples, sem envelope de paginação.
|
|
170
218
|
* @summary Listar etapas do pipeline
|