@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.
Files changed (248) hide show
  1. package/README.md +20 -3
  2. package/dist/client.d.ts +6 -1
  3. package/dist/client.js +5 -0
  4. package/dist/generated/api/contacts-api.d.ts +24 -24
  5. package/dist/generated/api/contacts-api.js +24 -24
  6. package/dist/generated/api/custom-fields-api.d.ts +1 -43
  7. package/dist/generated/api/custom-fields-api.js +1 -67
  8. package/dist/generated/api/customers-api.d.ts +4 -4
  9. package/dist/generated/api/customers-api.js +4 -4
  10. package/dist/generated/api/deals-api.d.ts +27 -27
  11. package/dist/generated/api/deals-api.js +27 -27
  12. package/dist/generated/api/journeys-api.d.ts +232 -0
  13. package/dist/generated/api/journeys-api.js +315 -0
  14. package/dist/generated/api/leads-api.d.ts +4 -4
  15. package/dist/generated/api/leads-api.js +4 -4
  16. package/dist/generated/api/meetings-api.d.ts +123 -27
  17. package/dist/generated/api/meetings-api.js +169 -27
  18. package/dist/generated/api/observations-api.d.ts +8 -8
  19. package/dist/generated/api/observations-api.js +8 -8
  20. package/dist/generated/api/organizations-api.d.ts +24 -24
  21. package/dist/generated/api/organizations-api.js +24 -24
  22. package/dist/generated/api/pipelines-api.d.ts +49 -1
  23. package/dist/generated/api/pipelines-api.js +72 -1
  24. package/dist/generated/api/prospects-api.d.ts +4 -4
  25. package/dist/generated/api/prospects-api.js +4 -4
  26. package/dist/generated/api/staffs-api.d.ts +1 -1
  27. package/dist/generated/api/staffs-api.js +1 -1
  28. package/dist/generated/api/task-types-api.d.ts +5 -5
  29. package/dist/generated/api/task-types-api.js +5 -5
  30. package/dist/generated/api/tasks-api.d.ts +32 -32
  31. package/dist/generated/api/tasks-api.js +32 -32
  32. package/dist/generated/api/teams-api.d.ts +130 -0
  33. package/dist/generated/api/teams-api.js +199 -0
  34. package/dist/generated/api/tickets-api.d.ts +610 -0
  35. package/dist/generated/api/tickets-api.js +860 -0
  36. package/dist/generated/api/treatments-api.d.ts +379 -0
  37. package/dist/generated/api/treatments-api.js +539 -0
  38. package/dist/generated/api/webhooks-api.d.ts +63 -0
  39. package/dist/generated/api/webhooks-api.js +116 -0
  40. package/dist/generated/api.d.ts +6 -1
  41. package/dist/generated/api.js +6 -1
  42. package/dist/generated/base.d.ts +1 -1
  43. package/dist/generated/base.js +1 -1
  44. package/dist/generated/common.d.ts +1 -1
  45. package/dist/generated/common.js +1 -1
  46. package/dist/generated/configuration.d.ts +1 -1
  47. package/dist/generated/configuration.js +1 -1
  48. package/dist/generated/index.d.ts +1 -1
  49. package/dist/generated/index.js +1 -1
  50. package/dist/generated/models/close-deal-request.d.ts +2 -2
  51. package/dist/generated/models/close-deal-request.js +1 -1
  52. package/dist/generated/models/contact-input-phones-inner.d.ts +1 -1
  53. package/dist/generated/models/contact-input-phones-inner.js +1 -1
  54. package/dist/generated/models/contact-input.d.ts +1 -1
  55. package/dist/generated/models/contact-input.js +1 -1
  56. package/dist/generated/models/contact-summary.d.ts +1 -1
  57. package/dist/generated/models/contact-summary.js +1 -1
  58. package/dist/generated/models/contact.d.ts +1 -1
  59. package/dist/generated/models/contact.js +1 -1
  60. package/dist/generated/models/create-observation-request.d.ts +1 -1
  61. package/dist/generated/models/create-observation-request.js +1 -1
  62. package/dist/generated/models/create-task-type-request.d.ts +1 -1
  63. package/dist/generated/models/create-task-type-request.js +1 -1
  64. package/dist/generated/models/create-ticket-message-request.d.ts +29 -0
  65. package/dist/generated/models/create-ticket-message-request.js +19 -0
  66. package/dist/generated/models/custom-field-settings.d.ts +1 -1
  67. package/dist/generated/models/custom-field-settings.js +1 -1
  68. package/dist/generated/models/custom-field-value.d.ts +1 -1
  69. package/dist/generated/models/custom-field-value.js +1 -1
  70. package/dist/generated/models/custom-field.d.ts +1 -1
  71. package/dist/generated/models/custom-field.js +1 -1
  72. package/dist/generated/models/deal-create.d.ts +1 -1
  73. package/dist/generated/models/deal-create.js +1 -1
  74. package/dist/generated/models/deal-input.d.ts +1 -1
  75. package/dist/generated/models/deal-input.js +1 -1
  76. package/dist/generated/models/deal-labels-inner.d.ts +1 -1
  77. package/dist/generated/models/deal-labels-inner.js +1 -1
  78. package/dist/generated/models/deal-organization.d.ts +1 -1
  79. package/dist/generated/models/deal-organization.js +1 -1
  80. package/dist/generated/models/deal-pipeline-one-of.d.ts +1 -1
  81. package/dist/generated/models/deal-pipeline-one-of.js +1 -1
  82. package/dist/generated/models/deal-pipeline.d.ts +1 -1
  83. package/dist/generated/models/deal-pipeline.js +1 -1
  84. package/dist/generated/models/deal-stage.d.ts +1 -1
  85. package/dist/generated/models/deal-stage.js +1 -1
  86. package/dist/generated/models/deal.d.ts +1 -1
  87. package/dist/generated/models/deal.js +1 -1
  88. package/dist/generated/models/delete-meetings-request.d.ts +1 -1
  89. package/dist/generated/models/delete-meetings-request.js +1 -1
  90. package/dist/generated/models/delete-meetings200-response.d.ts +1 -1
  91. package/dist/generated/models/delete-meetings200-response.js +1 -1
  92. package/dist/generated/models/delete-observations-request.d.ts +1 -1
  93. package/dist/generated/models/delete-observations-request.js +1 -1
  94. package/dist/generated/models/error-errors-inner.d.ts +1 -1
  95. package/dist/generated/models/error-errors-inner.js +1 -1
  96. package/dist/generated/models/finish-meeting-request.d.ts +1 -1
  97. package/dist/generated/models/finish-meeting-request.js +1 -1
  98. package/dist/generated/models/finish-tasks-request.d.ts +1 -1
  99. package/dist/generated/models/finish-tasks-request.js +1 -1
  100. package/dist/generated/models/get-deal-stage-history200-response-history-inner-stage.d.ts +1 -1
  101. package/dist/generated/models/get-deal-stage-history200-response-history-inner-stage.js +1 -1
  102. package/dist/generated/models/get-deal-stage-history200-response-history-inner.d.ts +1 -1
  103. package/dist/generated/models/get-deal-stage-history200-response-history-inner.js +1 -1
  104. package/dist/generated/models/get-deal-stage-history200-response-totals.d.ts +1 -1
  105. package/dist/generated/models/get-deal-stage-history200-response-totals.js +1 -1
  106. package/dist/generated/models/get-deal-stage-history200-response.d.ts +1 -1
  107. package/dist/generated/models/get-deal-stage-history200-response.js +1 -1
  108. package/dist/generated/models/get-journey-health-score200-response.d.ts +34 -0
  109. package/dist/generated/models/get-journey-health-score200-response.js +20 -0
  110. package/dist/generated/models/index.d.ts +27 -0
  111. package/dist/generated/models/index.js +27 -0
  112. package/dist/generated/models/journey.d.ts +111 -0
  113. package/dist/generated/models/journey.js +32 -0
  114. package/dist/generated/models/list-contacts200-response.d.ts +1 -1
  115. package/dist/generated/models/list-contacts200-response.js +1 -1
  116. package/dist/generated/models/list-custom-fields200-response.d.ts +1 -1
  117. package/dist/generated/models/list-custom-fields200-response.js +1 -1
  118. package/dist/generated/models/list-deals200-response.d.ts +1 -1
  119. package/dist/generated/models/list-deals200-response.js +1 -1
  120. package/dist/generated/models/list-deals401-response.d.ts +1 -1
  121. package/dist/generated/models/list-deals401-response.js +1 -1
  122. package/dist/generated/models/list-deals403-response.d.ts +1 -1
  123. package/dist/generated/models/list-deals403-response.js +1 -1
  124. package/dist/generated/models/list-journeys200-response.d.ts +16 -0
  125. package/dist/generated/models/list-journeys200-response.js +15 -0
  126. package/dist/generated/models/list-lost-reasons200-response.d.ts +16 -0
  127. package/dist/generated/models/list-lost-reasons200-response.js +15 -0
  128. package/dist/generated/models/list-meeting-rooms200-response.d.ts +16 -0
  129. package/dist/generated/models/list-meeting-rooms200-response.js +15 -0
  130. package/dist/generated/models/list-meeting-types200-response.d.ts +16 -0
  131. package/dist/generated/models/list-meeting-types200-response.js +15 -0
  132. package/dist/generated/models/list-meetings200-response.d.ts +1 -1
  133. package/dist/generated/models/list-meetings200-response.js +1 -1
  134. package/dist/generated/models/list-observations200-response.d.ts +1 -1
  135. package/dist/generated/models/list-observations200-response.js +1 -1
  136. package/dist/generated/models/list-organizations200-response.d.ts +1 -1
  137. package/dist/generated/models/list-organizations200-response.js +1 -1
  138. package/dist/generated/models/list-pipelines200-response.d.ts +1 -1
  139. package/dist/generated/models/list-pipelines200-response.js +1 -1
  140. package/dist/generated/models/list-staffs200-response.d.ts +1 -1
  141. package/dist/generated/models/list-staffs200-response.js +1 -1
  142. package/dist/generated/models/list-task-types200-response-one-of.d.ts +1 -1
  143. package/dist/generated/models/list-task-types200-response-one-of.js +1 -1
  144. package/dist/generated/models/list-task-types200-response.d.ts +1 -1
  145. package/dist/generated/models/list-task-types200-response.js +1 -1
  146. package/dist/generated/models/list-tasks200-response.d.ts +1 -1
  147. package/dist/generated/models/list-tasks200-response.js +1 -1
  148. package/dist/generated/models/list-teams200-response.d.ts +16 -0
  149. package/dist/generated/models/list-teams200-response.js +15 -0
  150. package/dist/generated/models/list-ticket-statuses200-response.d.ts +16 -0
  151. package/dist/generated/models/list-ticket-statuses200-response.js +15 -0
  152. package/dist/generated/models/list-tickets200-response.d.ts +16 -0
  153. package/dist/generated/models/list-tickets200-response.js +15 -0
  154. package/dist/generated/models/list-treatment-types200-response.d.ts +16 -0
  155. package/dist/generated/models/list-treatment-types200-response.js +15 -0
  156. package/dist/generated/models/list-treatments200-response.d.ts +16 -0
  157. package/dist/generated/models/list-treatments200-response.js +15 -0
  158. package/dist/generated/models/list-workspaces200-response.d.ts +16 -0
  159. package/dist/generated/models/list-workspaces200-response.js +15 -0
  160. package/dist/generated/models/lost-reason.d.ts +32 -0
  161. package/dist/generated/models/lost-reason.js +15 -0
  162. package/dist/generated/models/meeting-create.d.ts +1 -1
  163. package/dist/generated/models/meeting-create.js +1 -1
  164. package/dist/generated/models/meeting-deal.d.ts +1 -1
  165. package/dist/generated/models/meeting-deal.js +1 -1
  166. package/dist/generated/models/meeting-input.d.ts +1 -1
  167. package/dist/generated/models/meeting-input.js +1 -1
  168. package/dist/generated/models/meeting-room.d.ts +1 -1
  169. package/dist/generated/models/meeting-room.js +1 -1
  170. package/dist/generated/models/meeting-type.d.ts +1 -1
  171. package/dist/generated/models/meeting-type.js +1 -1
  172. package/dist/generated/models/meeting.d.ts +1 -1
  173. package/dist/generated/models/meeting.js +1 -1
  174. package/dist/generated/models/model-error.d.ts +1 -1
  175. package/dist/generated/models/model-error.js +1 -1
  176. package/dist/generated/models/move-deal-stage-request.d.ts +1 -1
  177. package/dist/generated/models/move-deal-stage-request.js +1 -1
  178. package/dist/generated/models/move-deal-stage200-response.d.ts +1 -1
  179. package/dist/generated/models/move-deal-stage200-response.js +1 -1
  180. package/dist/generated/models/observation-deal.d.ts +1 -1
  181. package/dist/generated/models/observation-deal.js +1 -1
  182. package/dist/generated/models/observation-input.d.ts +1 -1
  183. package/dist/generated/models/observation-input.js +1 -1
  184. package/dist/generated/models/observation-organization.d.ts +1 -1
  185. package/dist/generated/models/observation-organization.js +1 -1
  186. package/dist/generated/models/observation.d.ts +1 -1
  187. package/dist/generated/models/observation.js +1 -1
  188. package/dist/generated/models/organization-input.d.ts +1 -1
  189. package/dist/generated/models/organization-input.js +1 -1
  190. package/dist/generated/models/organization.d.ts +1 -1
  191. package/dist/generated/models/organization.js +1 -1
  192. package/dist/generated/models/page.d.ts +1 -1
  193. package/dist/generated/models/page.js +1 -1
  194. package/dist/generated/models/pipeline.d.ts +1 -1
  195. package/dist/generated/models/pipeline.js +1 -1
  196. package/dist/generated/models/reopen-deal-request.d.ts +1 -1
  197. package/dist/generated/models/reopen-deal-request.js +1 -1
  198. package/dist/generated/models/staff-summary.d.ts +1 -1
  199. package/dist/generated/models/staff-summary.js +1 -1
  200. package/dist/generated/models/staff.d.ts +1 -1
  201. package/dist/generated/models/staff.js +1 -1
  202. package/dist/generated/models/stage.d.ts +1 -1
  203. package/dist/generated/models/stage.js +1 -1
  204. package/dist/generated/models/task-create.d.ts +1 -1
  205. package/dist/generated/models/task-create.js +1 -1
  206. package/dist/generated/models/task-deal.d.ts +1 -1
  207. package/dist/generated/models/task-deal.js +1 -1
  208. package/dist/generated/models/task-input.d.ts +1 -1
  209. package/dist/generated/models/task-input.js +1 -1
  210. package/dist/generated/models/task-type.d.ts +1 -1
  211. package/dist/generated/models/task-type.js +1 -1
  212. package/dist/generated/models/task.d.ts +1 -1
  213. package/dist/generated/models/task.js +1 -1
  214. package/dist/generated/models/team.d.ts +27 -0
  215. package/dist/generated/models/team.js +15 -0
  216. package/dist/generated/models/ticket-create.d.ts +16 -0
  217. package/dist/generated/models/ticket-create.js +15 -0
  218. package/dist/generated/models/ticket-input.d.ts +77 -0
  219. package/dist/generated/models/ticket-input.js +22 -0
  220. package/dist/generated/models/ticket-message.d.ts +33 -0
  221. package/dist/generated/models/ticket-message.js +15 -0
  222. package/dist/generated/models/ticket-status-workspace.d.ts +18 -0
  223. package/dist/generated/models/ticket-status-workspace.js +15 -0
  224. package/dist/generated/models/ticket-status.d.ts +37 -0
  225. package/dist/generated/models/ticket-status.js +15 -0
  226. package/dist/generated/models/ticket.d.ts +87 -0
  227. package/dist/generated/models/ticket.js +22 -0
  228. package/dist/generated/models/treatment-input.d.ts +58 -0
  229. package/dist/generated/models/treatment-input.js +15 -0
  230. package/dist/generated/models/treatment-type.d.ts +43 -0
  231. package/dist/generated/models/treatment-type.js +15 -0
  232. package/dist/generated/models/treatment.d.ts +64 -0
  233. package/dist/generated/models/treatment.js +15 -0
  234. package/dist/generated/models/update-task-type-request.d.ts +1 -1
  235. package/dist/generated/models/update-task-type-request.js +1 -1
  236. package/dist/generated/models/validate-deal200-response-required-actions-pending.d.ts +1 -1
  237. package/dist/generated/models/validate-deal200-response-required-actions-pending.js +1 -1
  238. package/dist/generated/models/validate-deal200-response-required-field-pending.d.ts +1 -1
  239. package/dist/generated/models/validate-deal200-response-required-field-pending.js +1 -1
  240. package/dist/generated/models/validate-deal200-response.d.ts +1 -1
  241. package/dist/generated/models/validate-deal200-response.js +1 -1
  242. package/dist/generated/models/webhook-trigger-group-triggers-inner.d.ts +29 -0
  243. package/dist/generated/models/webhook-trigger-group-triggers-inner.js +15 -0
  244. package/dist/generated/models/webhook-trigger-group.d.ts +22 -0
  245. package/dist/generated/models/webhook-trigger-group.js +15 -0
  246. package/dist/generated/models/workspace.d.ts +23 -0
  247. package/dist/generated/models/workspace.js +15 -0
  248. 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`, a maioria das listagens devolve uma lista simples (`[...]`), sem o envelope, e ignora `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`, `dateOfExpires_minDate`...), o valor é um **timestamp em milissegundos**, como `1798761600000`; uma data ISO ali não filtra o que você espera. ## 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`) ou a rota exige administrador (`type: ADMIN_REQUIRED`) | | `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` | ## 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`. # Cobertura Esta referência cobre Contatos (leads, prospects e clientes), Empresas, Oportunidades, Pipelines e etapas, Reuniões, Tarefas, Observações, Usuários e Campos personalizados. Tickets, Atendimentos e Webhooks entram nas próximas revisões.
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
@@ -22,7 +22,7 @@ import type { TaskInput } from '../models';
22
22
  */
23
23
  export declare const TasksApiAxiosParamCreator: (configuration?: Configuration) => {
24
24
  /**
25
- *
25
+ * **Permissão do Service Account:** `tasks.create`
26
26
  * @summary Criar tarefa
27
27
  * @param {TaskCreate} taskCreate
28
28
  * @param {*} [options] Override http request option.
@@ -30,7 +30,7 @@ export declare const TasksApiAxiosParamCreator: (configuration?: Configuration)
30
30
  */
31
31
  createTask: (taskCreate: TaskCreate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
32
32
  /**
33
- *
33
+ * **Permissão do Service Account:** `tasks.delete`
34
34
  * @summary Excluir tarefa
35
35
  * @param {string} id ID do registro.
36
36
  * @param {*} [options] Override http request option.
@@ -46,7 +46,7 @@ export declare const TasksApiAxiosParamCreator: (configuration?: Configuration)
46
46
  */
47
47
  deleteTasks: (finishTasksRequest: FinishTasksRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
48
48
  /**
49
- * Marca como `finished`. Sem corpo.
49
+ * Marca como `finished`. Sem corpo. **Permissão do Service Account:** `tasks.finish`
50
50
  * @summary Concluir tarefa
51
51
  * @param {string} id ID do registro.
52
52
  * @param {*} [options] Override http request option.
@@ -54,7 +54,7 @@ export declare const TasksApiAxiosParamCreator: (configuration?: Configuration)
54
54
  */
55
55
  finishTask: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
56
56
  /**
57
- *
57
+ * **Permissão do Service Account:** `tasks.finish`
58
58
  * @summary Concluir várias tarefas
59
59
  * @param {FinishTasksRequest} finishTasksRequest
60
60
  * @param {*} [options] Override http request option.
@@ -62,7 +62,7 @@ export declare const TasksApiAxiosParamCreator: (configuration?: Configuration)
62
62
  */
63
63
  finishTasks: (finishTasksRequest: FinishTasksRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
64
64
  /**
65
- *
65
+ * **Permissão do Service Account:** `tasks.read`
66
66
  * @summary Obter tarefa
67
67
  * @param {string} id ID do registro.
68
68
  * @param {*} [options] Override http request option.
@@ -70,14 +70,14 @@ export declare const TasksApiAxiosParamCreator: (configuration?: Configuration)
70
70
  */
71
71
  getTask: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
72
72
  /**
73
- * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`.
73
+ * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`. **Permissão do Service Account:** `tasks.list`
74
74
  * @summary Listar tarefas
75
75
  * @param {number} [page] Página, a partir de 1. **Envie sempre**: sem &#x60;page&#x60;, a resposta vem como lista simples, sem o envelope de paginação, e &#x60;limit&#x60; é ignorado.
76
76
  * @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.
77
77
  * @param {string} [sortBy] Campo de ordenação. O padrão varia por recurso.
78
78
  * @param {ListTasksSortTypeEnum} [sortType] Direção da ordenação.
79
79
  * @param {string} [owner] ID do responsável.
80
- * @param {Array<string>} [staffs] Usuários: busca em responsável, participantes e observadores. Repita o parâmetro para enviar vários (&#x60;?staffs&#x3D;id1&amp;staffs&#x3D;id2&#x60;).
80
+ * @param {Array<string>} [staffs] Usuários: busca em responsável, participantes e observadores. Lista de IDs: envie com colchetes, mesmo para um só valor (&#x60;?staffs[]&#x3D;id1&amp;staffs[]&#x3D;id2&#x60;).
81
81
  * @param {string} [type] ID do tipo.
82
82
  * @param {ListTasksStatusEnum} [status] Situação.
83
83
  * @param {ListTasksPriorityEnum} [priority] Prioridade.
@@ -94,7 +94,7 @@ export declare const TasksApiAxiosParamCreator: (configuration?: Configuration)
94
94
  */
95
95
  listTasks: (page?: number, limit?: number, sortBy?: string, sortType?: ListTasksSortTypeEnum, owner?: string, staffs?: Array<string>, type?: string, status?: ListTasksStatusEnum, priority?: ListTasksPriorityEnum, source?: string, contact?: string, deal?: string, organization?: string, dateOfExpiresMinDate?: number, dateOfExpiresMaxDate?: number, visualization?: ListTasksVisualizationEnum, search?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
96
96
  /**
97
- * Envie só os campos que mudam.
97
+ * Envie só os campos que mudam. **Permissão do Service Account:** `tasks.update`
98
98
  * @summary Atualizar tarefa
99
99
  * @param {string} id ID do registro.
100
100
  * @param {TaskInput} taskInput
@@ -108,7 +108,7 @@ export declare const TasksApiAxiosParamCreator: (configuration?: Configuration)
108
108
  */
109
109
  export declare const TasksApiFp: (configuration?: Configuration) => {
110
110
  /**
111
- *
111
+ * **Permissão do Service Account:** `tasks.create`
112
112
  * @summary Criar tarefa
113
113
  * @param {TaskCreate} taskCreate
114
114
  * @param {*} [options] Override http request option.
@@ -116,7 +116,7 @@ export declare const TasksApiFp: (configuration?: Configuration) => {
116
116
  */
117
117
  createTask(taskCreate: TaskCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Task>>;
118
118
  /**
119
- *
119
+ * **Permissão do Service Account:** `tasks.delete`
120
120
  * @summary Excluir tarefa
121
121
  * @param {string} id ID do registro.
122
122
  * @param {*} [options] Override http request option.
@@ -132,7 +132,7 @@ export declare const TasksApiFp: (configuration?: Configuration) => {
132
132
  */
133
133
  deleteTasks(finishTasksRequest: FinishTasksRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
134
134
  /**
135
- * Marca como `finished`. Sem corpo.
135
+ * Marca como `finished`. Sem corpo. **Permissão do Service Account:** `tasks.finish`
136
136
  * @summary Concluir tarefa
137
137
  * @param {string} id ID do registro.
138
138
  * @param {*} [options] Override http request option.
@@ -140,7 +140,7 @@ export declare const TasksApiFp: (configuration?: Configuration) => {
140
140
  */
141
141
  finishTask(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Task>>;
142
142
  /**
143
- *
143
+ * **Permissão do Service Account:** `tasks.finish`
144
144
  * @summary Concluir várias tarefas
145
145
  * @param {FinishTasksRequest} finishTasksRequest
146
146
  * @param {*} [options] Override http request option.
@@ -148,7 +148,7 @@ export declare const TasksApiFp: (configuration?: Configuration) => {
148
148
  */
149
149
  finishTasks(finishTasksRequest: FinishTasksRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
150
150
  /**
151
- *
151
+ * **Permissão do Service Account:** `tasks.read`
152
152
  * @summary Obter tarefa
153
153
  * @param {string} id ID do registro.
154
154
  * @param {*} [options] Override http request option.
@@ -156,14 +156,14 @@ export declare const TasksApiFp: (configuration?: Configuration) => {
156
156
  */
157
157
  getTask(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Task>>;
158
158
  /**
159
- * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`.
159
+ * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`. **Permissão do Service Account:** `tasks.list`
160
160
  * @summary Listar tarefas
161
161
  * @param {number} [page] Página, a partir de 1. **Envie sempre**: sem &#x60;page&#x60;, a resposta vem como lista simples, sem o envelope de paginação, e &#x60;limit&#x60; é ignorado.
162
162
  * @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.
163
163
  * @param {string} [sortBy] Campo de ordenação. O padrão varia por recurso.
164
164
  * @param {ListTasksSortTypeEnum} [sortType] Direção da ordenação.
165
165
  * @param {string} [owner] ID do responsável.
166
- * @param {Array<string>} [staffs] Usuários: busca em responsável, participantes e observadores. Repita o parâmetro para enviar vários (&#x60;?staffs&#x3D;id1&amp;staffs&#x3D;id2&#x60;).
166
+ * @param {Array<string>} [staffs] Usuários: busca em responsável, participantes e observadores. Lista de IDs: envie com colchetes, mesmo para um só valor (&#x60;?staffs[]&#x3D;id1&amp;staffs[]&#x3D;id2&#x60;).
167
167
  * @param {string} [type] ID do tipo.
168
168
  * @param {ListTasksStatusEnum} [status] Situação.
169
169
  * @param {ListTasksPriorityEnum} [priority] Prioridade.
@@ -180,7 +180,7 @@ export declare const TasksApiFp: (configuration?: Configuration) => {
180
180
  */
181
181
  listTasks(page?: number, limit?: number, sortBy?: string, sortType?: ListTasksSortTypeEnum, owner?: string, staffs?: Array<string>, type?: string, status?: ListTasksStatusEnum, priority?: ListTasksPriorityEnum, source?: string, contact?: string, deal?: string, organization?: string, dateOfExpiresMinDate?: number, dateOfExpiresMaxDate?: number, visualization?: ListTasksVisualizationEnum, search?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListTasks200Response>>;
182
182
  /**
183
- * Envie só os campos que mudam.
183
+ * Envie só os campos que mudam. **Permissão do Service Account:** `tasks.update`
184
184
  * @summary Atualizar tarefa
185
185
  * @param {string} id ID do registro.
186
186
  * @param {TaskInput} taskInput
@@ -194,7 +194,7 @@ export declare const TasksApiFp: (configuration?: Configuration) => {
194
194
  */
195
195
  export declare const TasksApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
196
196
  /**
197
- *
197
+ * **Permissão do Service Account:** `tasks.create`
198
198
  * @summary Criar tarefa
199
199
  * @param {TasksApiCreateTaskRequest} requestParameters Request parameters.
200
200
  * @param {*} [options] Override http request option.
@@ -202,7 +202,7 @@ export declare const TasksApiFactory: (configuration?: Configuration, basePath?:
202
202
  */
203
203
  createTask(requestParameters: TasksApiCreateTaskRequest, options?: RawAxiosRequestConfig): AxiosPromise<Task>;
204
204
  /**
205
- *
205
+ * **Permissão do Service Account:** `tasks.delete`
206
206
  * @summary Excluir tarefa
207
207
  * @param {TasksApiDeleteTaskRequest} requestParameters Request parameters.
208
208
  * @param {*} [options] Override http request option.
@@ -218,7 +218,7 @@ export declare const TasksApiFactory: (configuration?: Configuration, basePath?:
218
218
  */
219
219
  deleteTasks(requestParameters: TasksApiDeleteTasksRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
220
220
  /**
221
- * Marca como `finished`. Sem corpo.
221
+ * Marca como `finished`. Sem corpo. **Permissão do Service Account:** `tasks.finish`
222
222
  * @summary Concluir tarefa
223
223
  * @param {TasksApiFinishTaskRequest} requestParameters Request parameters.
224
224
  * @param {*} [options] Override http request option.
@@ -226,7 +226,7 @@ export declare const TasksApiFactory: (configuration?: Configuration, basePath?:
226
226
  */
227
227
  finishTask(requestParameters: TasksApiFinishTaskRequest, options?: RawAxiosRequestConfig): AxiosPromise<Task>;
228
228
  /**
229
- *
229
+ * **Permissão do Service Account:** `tasks.finish`
230
230
  * @summary Concluir várias tarefas
231
231
  * @param {TasksApiFinishTasksRequest} requestParameters Request parameters.
232
232
  * @param {*} [options] Override http request option.
@@ -234,7 +234,7 @@ export declare const TasksApiFactory: (configuration?: Configuration, basePath?:
234
234
  */
235
235
  finishTasks(requestParameters: TasksApiFinishTasksRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
236
236
  /**
237
- *
237
+ * **Permissão do Service Account:** `tasks.read`
238
238
  * @summary Obter tarefa
239
239
  * @param {TasksApiGetTaskRequest} requestParameters Request parameters.
240
240
  * @param {*} [options] Override http request option.
@@ -242,7 +242,7 @@ export declare const TasksApiFactory: (configuration?: Configuration, basePath?:
242
242
  */
243
243
  getTask(requestParameters: TasksApiGetTaskRequest, options?: RawAxiosRequestConfig): AxiosPromise<Task>;
244
244
  /**
245
- * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`.
245
+ * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`. **Permissão do Service Account:** `tasks.list`
246
246
  * @summary Listar tarefas
247
247
  * @param {TasksApiListTasksRequest} requestParameters Request parameters.
248
248
  * @param {*} [options] Override http request option.
@@ -250,7 +250,7 @@ export declare const TasksApiFactory: (configuration?: Configuration, basePath?:
250
250
  */
251
251
  listTasks(requestParameters?: TasksApiListTasksRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListTasks200Response>;
252
252
  /**
253
- * Envie só os campos que mudam.
253
+ * Envie só os campos que mudam. **Permissão do Service Account:** `tasks.update`
254
254
  * @summary Atualizar tarefa
255
255
  * @param {TasksApiUpdateTaskRequest} requestParameters Request parameters.
256
256
  * @param {*} [options] Override http request option.
@@ -328,7 +328,7 @@ export interface TasksApiListTasksRequest {
328
328
  */
329
329
  readonly owner?: string;
330
330
  /**
331
- * Usuários: busca em responsável, participantes e observadores. Repita o parâmetro para enviar vários (&#x60;?staffs&#x3D;id1&amp;staffs&#x3D;id2&#x60;).
331
+ * Usuários: busca em responsável, participantes e observadores. Lista de IDs: envie com colchetes, mesmo para um só valor (&#x60;?staffs[]&#x3D;id1&amp;staffs[]&#x3D;id2&#x60;).
332
332
  */
333
333
  readonly staffs?: Array<string>;
334
334
  /**
@@ -391,7 +391,7 @@ export interface TasksApiUpdateTaskRequest {
391
391
  */
392
392
  export declare class TasksApi extends BaseAPI {
393
393
  /**
394
- *
394
+ * **Permissão do Service Account:** `tasks.create`
395
395
  * @summary Criar tarefa
396
396
  * @param {TasksApiCreateTaskRequest} requestParameters Request parameters.
397
397
  * @param {*} [options] Override http request option.
@@ -399,7 +399,7 @@ export declare class TasksApi extends BaseAPI {
399
399
  */
400
400
  createTask(requestParameters: TasksApiCreateTaskRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Task, any, {}, any>>;
401
401
  /**
402
- *
402
+ * **Permissão do Service Account:** `tasks.delete`
403
403
  * @summary Excluir tarefa
404
404
  * @param {TasksApiDeleteTaskRequest} requestParameters Request parameters.
405
405
  * @param {*} [options] Override http request option.
@@ -415,7 +415,7 @@ export declare class TasksApi extends BaseAPI {
415
415
  */
416
416
  deleteTasks(requestParameters: TasksApiDeleteTasksRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}, any>>;
417
417
  /**
418
- * Marca como `finished`. Sem corpo.
418
+ * Marca como `finished`. Sem corpo. **Permissão do Service Account:** `tasks.finish`
419
419
  * @summary Concluir tarefa
420
420
  * @param {TasksApiFinishTaskRequest} requestParameters Request parameters.
421
421
  * @param {*} [options] Override http request option.
@@ -423,7 +423,7 @@ export declare class TasksApi extends BaseAPI {
423
423
  */
424
424
  finishTask(requestParameters: TasksApiFinishTaskRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Task, any, {}, any>>;
425
425
  /**
426
- *
426
+ * **Permissão do Service Account:** `tasks.finish`
427
427
  * @summary Concluir várias tarefas
428
428
  * @param {TasksApiFinishTasksRequest} requestParameters Request parameters.
429
429
  * @param {*} [options] Override http request option.
@@ -431,7 +431,7 @@ export declare class TasksApi extends BaseAPI {
431
431
  */
432
432
  finishTasks(requestParameters: TasksApiFinishTasksRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}, any>>;
433
433
  /**
434
- *
434
+ * **Permissão do Service Account:** `tasks.read`
435
435
  * @summary Obter tarefa
436
436
  * @param {TasksApiGetTaskRequest} requestParameters Request parameters.
437
437
  * @param {*} [options] Override http request option.
@@ -439,7 +439,7 @@ export declare class TasksApi extends BaseAPI {
439
439
  */
440
440
  getTask(requestParameters: TasksApiGetTaskRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Task, any, {}, any>>;
441
441
  /**
442
- * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`.
442
+ * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`. **Permissão do Service Account:** `tasks.list`
443
443
  * @summary Listar tarefas
444
444
  * @param {TasksApiListTasksRequest} requestParameters Request parameters.
445
445
  * @param {*} [options] Override http request option.
@@ -447,7 +447,7 @@ export declare class TasksApi extends BaseAPI {
447
447
  */
448
448
  listTasks(requestParameters?: TasksApiListTasksRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<import("../models").Page, any, {}, any>>;
449
449
  /**
450
- * Envie só os campos que mudam.
450
+ * Envie só os campos que mudam. **Permissão do Service Account:** `tasks.update`
451
451
  * @summary Atualizar tarefa
452
452
  * @param {TasksApiUpdateTaskRequest} requestParameters Request parameters.
453
453
  * @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`, a maioria das listagens devolve uma lista simples (`[...]`), sem o envelope, e ignora `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`, `dateOfExpires_minDate`...), o valor é um **timestamp em milissegundos**, como `1798761600000`; uma data ISO ali não filtra o que você espera. ## 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`) ou a rota exige administrador (`type: ADMIN_REQUIRED`) | | `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` | ## 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`. # Cobertura Esta referência cobre Contatos (leads, prospects e clientes), Empresas, Oportunidades, Pipelines e etapas, Reuniões, Tarefas, Observações, Usuários e Campos personalizados. Tickets, Atendimentos e Webhooks entram nas próximas revisões.
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 TasksApiAxiosParamCreator = function (configuration) {
30
30
  return {
31
31
  /**
32
- *
32
+ * **Permissão do Service Account:** `tasks.create`
33
33
  * @summary Criar tarefa
34
34
  * @param {TaskCreate} taskCreate
35
35
  * @param {*} [options] Override http request option.
@@ -63,7 +63,7 @@ const TasksApiAxiosParamCreator = function (configuration) {
63
63
  };
64
64
  },
65
65
  /**
66
- *
66
+ * **Permissão do Service Account:** `tasks.delete`
67
67
  * @summary Excluir tarefa
68
68
  * @param {string} id ID do registro.
69
69
  * @param {*} [options] Override http request option.
@@ -130,7 +130,7 @@ const TasksApiAxiosParamCreator = function (configuration) {
130
130
  };
131
131
  },
132
132
  /**
133
- * Marca como `finished`. Sem corpo.
133
+ * Marca como `finished`. Sem corpo. **Permissão do Service Account:** `tasks.finish`
134
134
  * @summary Concluir tarefa
135
135
  * @param {string} id ID do registro.
136
136
  * @param {*} [options] Override http request option.
@@ -163,7 +163,7 @@ const TasksApiAxiosParamCreator = function (configuration) {
163
163
  };
164
164
  },
165
165
  /**
166
- *
166
+ * **Permissão do Service Account:** `tasks.finish`
167
167
  * @summary Concluir várias tarefas
168
168
  * @param {FinishTasksRequest} finishTasksRequest
169
169
  * @param {*} [options] Override http request option.
@@ -197,7 +197,7 @@ const TasksApiAxiosParamCreator = function (configuration) {
197
197
  };
198
198
  },
199
199
  /**
200
- *
200
+ * **Permissão do Service Account:** `tasks.read`
201
201
  * @summary Obter tarefa
202
202
  * @param {string} id ID do registro.
203
203
  * @param {*} [options] Override http request option.
@@ -230,14 +230,14 @@ const TasksApiAxiosParamCreator = function (configuration) {
230
230
  };
231
231
  },
232
232
  /**
233
- * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`.
233
+ * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`. **Permissão do Service Account:** `tasks.list`
234
234
  * @summary Listar tarefas
235
235
  * @param {number} [page] Página, a partir de 1. **Envie sempre**: sem &#x60;page&#x60;, a resposta vem como lista simples, sem o envelope de paginação, e &#x60;limit&#x60; é ignorado.
236
236
  * @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.
237
237
  * @param {string} [sortBy] Campo de ordenação. O padrão varia por recurso.
238
238
  * @param {ListTasksSortTypeEnum} [sortType] Direção da ordenação.
239
239
  * @param {string} [owner] ID do responsável.
240
- * @param {Array<string>} [staffs] Usuários: busca em responsável, participantes e observadores. Repita o parâmetro para enviar vários (&#x60;?staffs&#x3D;id1&amp;staffs&#x3D;id2&#x60;).
240
+ * @param {Array<string>} [staffs] Usuários: busca em responsável, participantes e observadores. Lista de IDs: envie com colchetes, mesmo para um só valor (&#x60;?staffs[]&#x3D;id1&amp;staffs[]&#x3D;id2&#x60;).
241
241
  * @param {string} [type] ID do tipo.
242
242
  * @param {ListTasksStatusEnum} [status] Situação.
243
243
  * @param {ListTasksPriorityEnum} [priority] Prioridade.
@@ -282,7 +282,7 @@ const TasksApiAxiosParamCreator = function (configuration) {
282
282
  localVarQueryParameter['owner'] = owner;
283
283
  }
284
284
  if (staffs) {
285
- localVarQueryParameter['staffs'] = staffs;
285
+ localVarQueryParameter['staffs[]'] = staffs;
286
286
  }
287
287
  if (type !== undefined) {
288
288
  localVarQueryParameter['type'] = type;
@@ -327,7 +327,7 @@ const TasksApiAxiosParamCreator = function (configuration) {
327
327
  };
328
328
  },
329
329
  /**
330
- * Envie só os campos que mudam.
330
+ * Envie só os campos que mudam. **Permissão do Service Account:** `tasks.update`
331
331
  * @summary Atualizar tarefa
332
332
  * @param {string} id ID do registro.
333
333
  * @param {TaskInput} taskInput
@@ -374,7 +374,7 @@ const TasksApiFp = function (configuration) {
374
374
  const localVarAxiosParamCreator = (0, exports.TasksApiAxiosParamCreator)(configuration);
375
375
  return {
376
376
  /**
377
- *
377
+ * **Permissão do Service Account:** `tasks.create`
378
378
  * @summary Criar tarefa
379
379
  * @param {TaskCreate} taskCreate
380
380
  * @param {*} [options] Override http request option.
@@ -387,7 +387,7 @@ const TasksApiFp = function (configuration) {
387
387
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
388
388
  },
389
389
  /**
390
- *
390
+ * **Permissão do Service Account:** `tasks.delete`
391
391
  * @summary Excluir tarefa
392
392
  * @param {string} id ID do registro.
393
393
  * @param {*} [options] Override http request option.
@@ -413,7 +413,7 @@ const TasksApiFp = function (configuration) {
413
413
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
414
414
  },
415
415
  /**
416
- * Marca como `finished`. Sem corpo.
416
+ * Marca como `finished`. Sem corpo. **Permissão do Service Account:** `tasks.finish`
417
417
  * @summary Concluir tarefa
418
418
  * @param {string} id ID do registro.
419
419
  * @param {*} [options] Override http request option.
@@ -426,7 +426,7 @@ const TasksApiFp = function (configuration) {
426
426
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
427
427
  },
428
428
  /**
429
- *
429
+ * **Permissão do Service Account:** `tasks.finish`
430
430
  * @summary Concluir várias tarefas
431
431
  * @param {FinishTasksRequest} finishTasksRequest
432
432
  * @param {*} [options] Override http request option.
@@ -439,7 +439,7 @@ const TasksApiFp = function (configuration) {
439
439
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
440
440
  },
441
441
  /**
442
- *
442
+ * **Permissão do Service Account:** `tasks.read`
443
443
  * @summary Obter tarefa
444
444
  * @param {string} id ID do registro.
445
445
  * @param {*} [options] Override http request option.
@@ -452,14 +452,14 @@ const TasksApiFp = function (configuration) {
452
452
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
453
453
  },
454
454
  /**
455
- * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`.
455
+ * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`. **Permissão do Service Account:** `tasks.list`
456
456
  * @summary Listar tarefas
457
457
  * @param {number} [page] Página, a partir de 1. **Envie sempre**: sem &#x60;page&#x60;, a resposta vem como lista simples, sem o envelope de paginação, e &#x60;limit&#x60; é ignorado.
458
458
  * @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.
459
459
  * @param {string} [sortBy] Campo de ordenação. O padrão varia por recurso.
460
460
  * @param {ListTasksSortTypeEnum} [sortType] Direção da ordenação.
461
461
  * @param {string} [owner] ID do responsável.
462
- * @param {Array<string>} [staffs] Usuários: busca em responsável, participantes e observadores. Repita o parâmetro para enviar vários (&#x60;?staffs&#x3D;id1&amp;staffs&#x3D;id2&#x60;).
462
+ * @param {Array<string>} [staffs] Usuários: busca em responsável, participantes e observadores. Lista de IDs: envie com colchetes, mesmo para um só valor (&#x60;?staffs[]&#x3D;id1&amp;staffs[]&#x3D;id2&#x60;).
463
463
  * @param {string} [type] ID do tipo.
464
464
  * @param {ListTasksStatusEnum} [status] Situação.
465
465
  * @param {ListTasksPriorityEnum} [priority] Prioridade.
@@ -481,7 +481,7 @@ const TasksApiFp = function (configuration) {
481
481
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
482
482
  },
483
483
  /**
484
- * Envie só os campos que mudam.
484
+ * Envie só os campos que mudam. **Permissão do Service Account:** `tasks.update`
485
485
  * @summary Atualizar tarefa
486
486
  * @param {string} id ID do registro.
487
487
  * @param {TaskInput} taskInput
@@ -504,7 +504,7 @@ const TasksApiFactory = function (configuration, basePath, axios) {
504
504
  const localVarFp = (0, exports.TasksApiFp)(configuration);
505
505
  return {
506
506
  /**
507
- *
507
+ * **Permissão do Service Account:** `tasks.create`
508
508
  * @summary Criar tarefa
509
509
  * @param {TasksApiCreateTaskRequest} requestParameters Request parameters.
510
510
  * @param {*} [options] Override http request option.
@@ -514,7 +514,7 @@ const TasksApiFactory = function (configuration, basePath, axios) {
514
514
  return localVarFp.createTask(requestParameters.taskCreate, options).then((request) => request(axios, basePath));
515
515
  },
516
516
  /**
517
- *
517
+ * **Permissão do Service Account:** `tasks.delete`
518
518
  * @summary Excluir tarefa
519
519
  * @param {TasksApiDeleteTaskRequest} requestParameters Request parameters.
520
520
  * @param {*} [options] Override http request option.
@@ -534,7 +534,7 @@ const TasksApiFactory = function (configuration, basePath, axios) {
534
534
  return localVarFp.deleteTasks(requestParameters.finishTasksRequest, options).then((request) => request(axios, basePath));
535
535
  },
536
536
  /**
537
- * Marca como `finished`. Sem corpo.
537
+ * Marca como `finished`. Sem corpo. **Permissão do Service Account:** `tasks.finish`
538
538
  * @summary Concluir tarefa
539
539
  * @param {TasksApiFinishTaskRequest} requestParameters Request parameters.
540
540
  * @param {*} [options] Override http request option.
@@ -544,7 +544,7 @@ const TasksApiFactory = function (configuration, basePath, axios) {
544
544
  return localVarFp.finishTask(requestParameters.id, options).then((request) => request(axios, basePath));
545
545
  },
546
546
  /**
547
- *
547
+ * **Permissão do Service Account:** `tasks.finish`
548
548
  * @summary Concluir várias tarefas
549
549
  * @param {TasksApiFinishTasksRequest} requestParameters Request parameters.
550
550
  * @param {*} [options] Override http request option.
@@ -554,7 +554,7 @@ const TasksApiFactory = function (configuration, basePath, axios) {
554
554
  return localVarFp.finishTasks(requestParameters.finishTasksRequest, options).then((request) => request(axios, basePath));
555
555
  },
556
556
  /**
557
- *
557
+ * **Permissão do Service Account:** `tasks.read`
558
558
  * @summary Obter tarefa
559
559
  * @param {TasksApiGetTaskRequest} requestParameters Request parameters.
560
560
  * @param {*} [options] Override http request option.
@@ -564,7 +564,7 @@ const TasksApiFactory = function (configuration, basePath, axios) {
564
564
  return localVarFp.getTask(requestParameters.id, options).then((request) => request(axios, basePath));
565
565
  },
566
566
  /**
567
- * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`.
567
+ * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`. **Permissão do Service Account:** `tasks.list`
568
568
  * @summary Listar tarefas
569
569
  * @param {TasksApiListTasksRequest} requestParameters Request parameters.
570
570
  * @param {*} [options] Override http request option.
@@ -574,7 +574,7 @@ const TasksApiFactory = function (configuration, basePath, axios) {
574
574
  return localVarFp.listTasks(requestParameters.page, requestParameters.limit, requestParameters.sortBy, requestParameters.sortType, requestParameters.owner, requestParameters.staffs, requestParameters.type, requestParameters.status, requestParameters.priority, requestParameters.source, requestParameters.contact, requestParameters.deal, requestParameters.organization, requestParameters.dateOfExpiresMinDate, requestParameters.dateOfExpiresMaxDate, requestParameters.visualization, requestParameters.search, options).then((request) => request(axios, basePath));
575
575
  },
576
576
  /**
577
- * Envie só os campos que mudam.
577
+ * Envie só os campos que mudam. **Permissão do Service Account:** `tasks.update`
578
578
  * @summary Atualizar tarefa
579
579
  * @param {TasksApiUpdateTaskRequest} requestParameters Request parameters.
580
580
  * @param {*} [options] Override http request option.
@@ -591,7 +591,7 @@ exports.TasksApiFactory = TasksApiFactory;
591
591
  */
592
592
  class TasksApi extends base_1.BaseAPI {
593
593
  /**
594
- *
594
+ * **Permissão do Service Account:** `tasks.create`
595
595
  * @summary Criar tarefa
596
596
  * @param {TasksApiCreateTaskRequest} requestParameters Request parameters.
597
597
  * @param {*} [options] Override http request option.
@@ -601,7 +601,7 @@ class TasksApi extends base_1.BaseAPI {
601
601
  return (0, exports.TasksApiFp)(this.configuration).createTask(requestParameters.taskCreate, options).then((request) => request(this.axios, this.basePath));
602
602
  }
603
603
  /**
604
- *
604
+ * **Permissão do Service Account:** `tasks.delete`
605
605
  * @summary Excluir tarefa
606
606
  * @param {TasksApiDeleteTaskRequest} requestParameters Request parameters.
607
607
  * @param {*} [options] Override http request option.
@@ -621,7 +621,7 @@ class TasksApi extends base_1.BaseAPI {
621
621
  return (0, exports.TasksApiFp)(this.configuration).deleteTasks(requestParameters.finishTasksRequest, options).then((request) => request(this.axios, this.basePath));
622
622
  }
623
623
  /**
624
- * Marca como `finished`. Sem corpo.
624
+ * Marca como `finished`. Sem corpo. **Permissão do Service Account:** `tasks.finish`
625
625
  * @summary Concluir tarefa
626
626
  * @param {TasksApiFinishTaskRequest} requestParameters Request parameters.
627
627
  * @param {*} [options] Override http request option.
@@ -631,7 +631,7 @@ class TasksApi extends base_1.BaseAPI {
631
631
  return (0, exports.TasksApiFp)(this.configuration).finishTask(requestParameters.id, options).then((request) => request(this.axios, this.basePath));
632
632
  }
633
633
  /**
634
- *
634
+ * **Permissão do Service Account:** `tasks.finish`
635
635
  * @summary Concluir várias tarefas
636
636
  * @param {TasksApiFinishTasksRequest} requestParameters Request parameters.
637
637
  * @param {*} [options] Override http request option.
@@ -641,7 +641,7 @@ class TasksApi extends base_1.BaseAPI {
641
641
  return (0, exports.TasksApiFp)(this.configuration).finishTasks(requestParameters.finishTasksRequest, options).then((request) => request(this.axios, this.basePath));
642
642
  }
643
643
  /**
644
- *
644
+ * **Permissão do Service Account:** `tasks.read`
645
645
  * @summary Obter tarefa
646
646
  * @param {TasksApiGetTaskRequest} requestParameters Request parameters.
647
647
  * @param {*} [options] Override http request option.
@@ -651,7 +651,7 @@ class TasksApi extends base_1.BaseAPI {
651
651
  return (0, exports.TasksApiFp)(this.configuration).getTask(requestParameters.id, options).then((request) => request(this.axios, this.basePath));
652
652
  }
653
653
  /**
654
- * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`.
654
+ * Ordenação padrão: `status` decrescente. Campos aceitos em `sortBy`: `title`, `dateOfExpires`, `createdAt`, `updatedAt`, `status`, `priority`, `type`, `owner`, `dueDate`. **Permissão do Service Account:** `tasks.list`
655
655
  * @summary Listar tarefas
656
656
  * @param {TasksApiListTasksRequest} requestParameters Request parameters.
657
657
  * @param {*} [options] Override http request option.
@@ -661,7 +661,7 @@ class TasksApi extends base_1.BaseAPI {
661
661
  return (0, exports.TasksApiFp)(this.configuration).listTasks(requestParameters.page, requestParameters.limit, requestParameters.sortBy, requestParameters.sortType, requestParameters.owner, requestParameters.staffs, requestParameters.type, requestParameters.status, requestParameters.priority, requestParameters.source, requestParameters.contact, requestParameters.deal, requestParameters.organization, requestParameters.dateOfExpiresMinDate, requestParameters.dateOfExpiresMaxDate, requestParameters.visualization, requestParameters.search, options).then((request) => request(this.axios, this.basePath));
662
662
  }
663
663
  /**
664
- * Envie só os campos que mudam.
664
+ * Envie só os campos que mudam. **Permissão do Service Account:** `tasks.update`
665
665
  * @summary Atualizar tarefa
666
666
  * @param {TasksApiUpdateTaskRequest} requestParameters Request parameters.
667
667
  * @param {*} [options] Override http request option.