From de8c49c8ca88ae15923f4cb7a523e026f94cdce9 Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 20 Aug 2026 21:53:25 -0300 Subject: [PATCH] =?UTF-8?q?docs:=20adiciona=20spec=20do=20or=C3=A7amento?= =?UTF-8?q?=20autom=C3=A1tico=20de=20exames=20via=20foto=20(GChat/Z-PRO=20?= =?UTF-8?q?+=20n8n)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5 --- Z-PRO v4.x.x.x.postman_collection.json | 9244 +++++++++++++++++ ...26-08-20-orcamento-exames-imagem-design.md | 172 + 2 files changed, 9416 insertions(+) create mode 100644 Z-PRO v4.x.x.x.postman_collection.json create mode 100644 docs/superpowers/specs/2026-08-20-orcamento-exames-imagem-design.md diff --git a/Z-PRO v4.x.x.x.postman_collection.json b/Z-PRO v4.x.x.x.postman_collection.json new file mode 100644 index 0000000..96e50b1 --- /dev/null +++ b/Z-PRO v4.x.x.x.postman_collection.json @@ -0,0 +1,9244 @@ +{ + "info": { + "_postman_id": "8c70ee78-d85c-478f-be3e-d702283f72da", + "name": "Z-PRO v4.x.x.x", + "description": "Postman Z-PRO v4.x.x.x", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "56519634", + "_collection_link": "https://go.postman.co/collection/25151510-8c70ee78-d85c-478f-be3e-d702283f72da?source=collection_link" + }, + "item": [ + { + "name": "📅 Agendamentos e Lembretes", + "item": [ + { + "name": "AppointmentCreate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"title\": \"Reunião de Vendas\",\n \"description\": \"Reunião sobre proposta comercial\",\n \"contactId\": \"{{contactId}}\",\n \"contactName\": \"João Silva\",\n \"contactPhone\": \"5511999999999\",\n \"whatsappId\": \"{{whatsappId}}\",\n \"startAt\": \"2026-04-15T14:00:00.000Z\",\n \"endAt\": \"2026-04-15T15:00:00.000Z\",\n \"status\": \"pending\",\n \"notes\": \"Levar proposta impressa\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/appointment/create", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "appointment", + "create" + ] + } + }, + "response": [] + }, + { + "name": "AppointmentDelete", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/appointment/delete/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "appointment", + "delete", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "AppointmentList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/appointment/list?page=1&limit=20&status=pending", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "appointment", + "list" + ], + "query": [ + { + "key": "page", + "value": "1" + }, + { + "key": "limit", + "value": "20" + }, + { + "key": "status", + "value": "pending", + "description": "pending | confirmed | cancelled | completed" + }, + { + "key": "startFrom", + "value": "2026-04-01T00:00:00.000Z", + "description": "Filtrar agendamentos a partir desta data (ISO 8601)", + "disabled": true + }, + { + "key": "startTo", + "value": "2026-04-30T23:59:59.000Z", + "description": "Filtrar agendamentos até esta data (ISO 8601)", + "disabled": true + }, + { + "key": "search", + "value": "", + "description": "Busca por título ou nome do contato", + "disabled": true + } + ] + } + }, + "response": [] + }, + { + "name": "AppointmentShow", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/appointment/show/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "appointment", + "show", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "AppointmentUpdate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"title\": \"Reunião de Vendas (atualizada)\",\n \"description\": \"Descrição atualizada\",\n \"contactId\": \"{{contactId}}\",\n \"contactName\": \"João Silva\",\n \"contactPhone\": \"5511999999999\",\n \"whatsappId\": \"{{whatsappId}}\",\n \"startAt\": \"2026-04-15T15:00:00.000Z\",\n \"endAt\": \"2026-04-15T16:00:00.000Z\",\n \"status\": \"confirmed\",\n \"notes\": \"Cliente confirmou presença\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/appointment/update/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "appointment", + "update", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "ScheduleReminderCreate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Lembrete 24h antes\",\n \"description\": \"Envia mensagem ao contato 24h antes do agendamento\",\n \"hoursBeforeEvent\": 24,\n \"messageType\": \"message\",\n \"messageContent\": \"Olá {{nome}}, lembrete da sua reunião amanhã!\",\n \"whatsappId\": \"{{whatsappId}}\",\n \"active\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/scheduleReminder/create", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "scheduleReminder", + "create" + ] + } + }, + "response": [] + }, + { + "name": "ScheduleReminderDelete", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/scheduleReminder/delete/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "scheduleReminder", + "delete", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "ScheduleReminderList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/scheduleReminder/list", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "scheduleReminder", + "list" + ] + } + }, + "response": [] + }, + { + "name": "ScheduleReminderToggle", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/scheduleReminder/toggle/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "scheduleReminder", + "toggle", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "ScheduleReminderUpdate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Lembrete 48h antes\",\n \"description\": \"Envia mensagem 48h antes do evento\",\n \"hoursBeforeEvent\": 48,\n \"messageType\": \"message\",\n \"messageContent\": \"Olá {{nome}}, sua reunião é em 2 dias!\",\n \"whatsappId\": \"{{whatsappId}}\",\n \"active\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/scheduleReminder/update/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "scheduleReminder", + "update", + "{{id}}" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📣 Campanhas", + "item": [ + { + "name": "CampaignCancel", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/cancel/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "cancel", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignContactsAdd", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "[\n {\n \"name\": \"Contato 1\",\n \"number\": \"5511999990001\"\n },\n {\n \"name\": \"Contato 2\",\n \"number\": \"5511999990002\"\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/contacts/add/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "contacts", + "add", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignContactsList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/contacts/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "contacts", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignContactsRemove", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/contacts/remove/{{campaignId}}/{{contactId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "contacts", + "remove", + "{{campaignId}}", + "{{contactId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignContactsRemoveAll", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/contacts/removeAll/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "contacts", + "removeAll", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignCreate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Campanha Teste\",\n \"start\": \"2026-04-10T10:00:00.000Z\",\n \"message1\": \"Olá {nome}!\",\n \"message2\": \"Como vai?\",\n \"message3\": \"Até logo!\",\n \"sessionId\": \"{{sessionId}}\",\n \"delay\": \"5\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/create", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "create" + ] + } + }, + "response": [] + }, + { + "name": "CampaignDelete", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/delete/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "delete", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignDuplicate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/duplicate/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "duplicate", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/list?page=1&limit=10", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "list" + ], + "query": [ + { + "key": "page", + "value": "1" + }, + { + "key": "limit", + "value": "10" + } + ] + } + }, + "response": [] + }, + { + "name": "CampaignPause", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/pause/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "pause", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignReport", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/report/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "report", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignResume", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/resume/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "resume", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignSkip", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/skip/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "skip", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignStart", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/start/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "start", + "{{campaignId}}" + ] + } + }, + "response": [] + }, + { + "name": "CampaignUpdate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Campanha Atualizada\",\n \"start\": \"2026-04-15T10:00:00.000Z\",\n \"message1\": \"Olá!\",\n \"message2\": \"Tudo bem?\",\n \"message3\": \"Até logo!\",\n \"sessionId\": \"{{sessionId}}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/campaign/update/{{campaignId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "campaign", + "update", + "{{campaignId}}" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "🔌 Canais e Sessões", + "item": [ + { + "name": "CreateSession", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Nome da instância do WhatsApp\n \"name\": \"My WhatsApp Instance\",\n \n // Status inicial da sessão (DISCONNECTED, CONNECTED)\n \"status\": \"DISCONNECTED\",\n \n // Tipo da sessão\n \"type\": \"baileys\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createtSession", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createtSession" + ] + } + }, + "response": [] + }, + { + "name": "DeleteSession", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID da sessão do WhatsApp que será deletada\n \"whatsappId\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/deleteSession", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "deleteSession" + ] + } + }, + "response": [] + }, + { + "name": "RequestNewQrCode", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID da sessão do WhatsApp que terá um novo QR Code gerado\n \"whatsappId\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/requestNewQrCodeSession", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "requestNewQrCodeSession" + ] + } + }, + "response": [] + }, + { + "name": "ShowChannelInformation", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Número do WhatsApp do canal (formato: 5511999999999)\n \"number\": \"5515998566622\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/showChannel", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "showChannel" + ] + } + }, + "response": [] + }, + { + "name": "ShowChannelInformationById", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do canal que será consultado\n \"id\": 43\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/showChannelById", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "showChannelById" + ] + } + }, + "response": [] + }, + { + "name": "ShowQrCode", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID da sessão do WhatsApp que terá o QR Code gerado\n \"whatsappId\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/qrCodeSession", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "qrCodeSession" + ] + } + }, + "response": [] + }, + { + "name": "StartSession", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID da sessão do WhatsApp que será iniciada\n \"whatsappId\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/startSession", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "startSession" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "👤 Contatos", + "item": [ + { + "name": "BlockContact", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do contato que será bloqueado/desbloqueado\n \"contactId\": 1,\n \n // true para bloquear, false para desbloquear\n \"blocked\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/blockContact", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "blockContact" + ] + } + }, + "response": [] + }, + { + "name": "CreateContact", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Nome completo do contato\n \"name\": \"Nome\", \n \n // Número do WhatsApp (formato: 5511999999999)\n \"number\": \"5515998566622\", \n \n // Email do contato\n \"email\": \"contato@email.com\",\n \n // CPF do contato (formato: 000.000.000-00)\n \"cpf\": \"012.345.678.91\",\n \n // Primeiro nome do contato\n \"firstName\": \"Nome Principal\",\n \n // Sobrenome do contato\n \"lastName\": \"Sobrenome\",\n \n // Nome da empresa do contato\n \"businessName\": \"Empresa\",\n \n // Data de nascimento (formato: DD/MM/AAAA)\n \"birthdayDate\": \"01/01/1990\",\n \n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\",\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createContact", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createContact" + ] + } + }, + "response": [] + }, + { + "name": "GetContactExtraInfo", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/getContactExtraInfo?contactId=1", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "getContactExtraInfo" + ], + "query": [ + { + "key": "contactId", + "value": "1", + "description": "ID do contato" + } + ] + } + }, + "response": [] + }, + { + "name": "SearchContacts", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Parâmetro de busca textual (opcional) - busca em nome, número, CPF, etc\n \"searchParam\": \"\",\n \n // Número da página (padrão: 1)\n \"page\": 1,\n \n // Limite de resultados por página (padrão: 40)\n \"limit\": 40,\n \n // ID de uma tag para filtrar (opcional)\n \"tagId\": 1,\n \n // OU array de IDs de tags para filtrar por múltiplas tags (opcional)\n // \"tagIds\": [1, 2, 3],\n \n // ID da wallet para filtrar (opcional)\n // \"walletId\": 1,\n \n // Filtrar por contatos bloqueados (opcional: true/false)\n // \"blocked\": false\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/contacts/search", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "contacts", + "search" + ] + } + }, + "response": [] + }, + { + "name": "ShowContact", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Número do WhatsApp do contato (formato: 5511999999999)\n \"number\": \"5515998566622\",\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/showcontact", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "showcontact" + ] + } + }, + "response": [] + }, + { + "name": "UpdateContact", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Nome completo do contato\n \"name\": \"Nome\", \n \n // Número do WhatsApp (formato: 5511999999999)\n \"number\": \"5515998566622\", \n \n // Email do contato\n \"email\": \"contato@email.com\",\n \n // CPF do contato (formato: 000.000.000-00)\n \"cpf\": \"012.345.678.91\",\n \n // Primeiro nome do contato\n \"firstName\": \"Nome Principal\",\n \n // Sobrenome do contato\n \"lastName\": \"Sobrenome\",\n \n // Nome da empresa do contato\n \"businessName\": \"Empresa\",\n \n // Data de nascimento (formato: DD/MM/AAAA)\n \"birthdayDate\": \"01/01/1990\",\n \n // ID do kanban do contato\n \"kanban\": 2,\n \n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\",\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateContact", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateContact" + ] + } + }, + "response": [] + }, + { + "name": "UpdateContactExtraInfo", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do contato que terá as informações adicionais atualizadas\n \"contactId\": 1,\n \n // Array de campos personalizados (extraInfo)\n \"extraInfo\": [\n {\n \"name\": \"Campo Personalizado 1\",\n \"value\": \"Valor do campo 1\"\n },\n {\n \"name\": \"Campo Personalizado 2\",\n \"value\": \"Valor do campo 2\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateContactExtraInfo", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateContactExtraInfo" + ] + } + }, + "response": [] + }, + { + "name": "UpdateContactKanban", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do contato que terá o kanban (carteira) alterado\n \"contactId\": 1,\n \n // ID do kanban (carteira) que será atribuído ao contato\n \"kanban\": 2\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateContactKanban", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateContactKanban" + ] + } + }, + "response": [] + }, + { + "name": "UpdateContactWallet", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do contato que será carteirizado\n \"contactId\": 1,\n \n // ID da wallet que será atribuída ao contato (pode usar walletId ou walletIds)\n \"walletId\": 2,\n \n // OU array de IDs de wallets para atribuir múltiplas wallets de uma vez\n // \"walletIds\": [1, 2, 3]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateContactWallet", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateContactWallet" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "🏗️ CRM - Pipeline", + "item": [ + { + "name": "PipelineCreate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Funil de Vendas\",\n \"description\": \"Pipeline principal\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/pipeline/create", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "pipeline", + "create" + ] + } + }, + "response": [] + }, + { + "name": "PipelineDelete", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/pipeline/delete/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "pipeline", + "delete", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "PipelineList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/pipeline/list?page=1&limit=20", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "pipeline", + "list" + ], + "query": [ + { + "key": "page", + "value": "1" + }, + { + "key": "limit", + "value": "20" + } + ] + } + }, + "response": [] + }, + { + "name": "PipelineShow", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/pipeline/show/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "pipeline", + "show", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "PipelineUpdate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Funil Atualizado\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/pipeline/update/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "pipeline", + "update", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "StageCreate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Prospecção\",\n \"pipelineId\": \"{{pipelineId}}\",\n \"order\": 1,\n \"color\": \"#00a300\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/stage/create", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "stage", + "create" + ] + } + }, + "response": [] + }, + { + "name": "StageDelete", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/stage/delete/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "stage", + "delete", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "StageList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/stage/list?page=1&limit=20&pipelineId={{pipelineId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "stage", + "list" + ], + "query": [ + { + "key": "page", + "value": "1" + }, + { + "key": "limit", + "value": "20" + }, + { + "key": "pipelineId", + "value": "{{pipelineId}}" + } + ] + } + }, + "response": [] + }, + { + "name": "StageShow", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/stage/show/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "stage", + "show", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "StageUpdate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Qualificação\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/stage/update/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "stage", + "update", + "{{id}}" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📊 Dashboard", + "item": [ + { + "name": "DashTicketsAndTimes", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsAndTimes?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsAndTimes" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + }, + { + "name": "DashTicketsChannels", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsChannels?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsChannels" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + }, + { + "name": "DashTicketsEvolution", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsEvolution?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsEvolution" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + }, + { + "name": "DashTicketsEvolutionByValue", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsEvolutionByValue?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsEvolutionByValue" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + }, + { + "name": "DashTicketsEvolutionChannelsName", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsEvolutionChannelsName?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsEvolutionChannelsName" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + }, + { + "name": "DashTicketsPerUser", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsPerUser?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsPerUser" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + }, + { + "name": "DashTicketsQueue", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsQueue?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsQueue" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + }, + { + "name": "DashTicketsReasons", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsReasons?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsReasons" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + }, + { + "name": "DashTicketsStatus", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsStatus?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsStatus" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + }, + { + "name": "DashTicketsUser", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/dash/ticketsUser?startDate=2026-03-01&endDate=2026-03-31", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "dash", + "ticketsUser" + ], + "query": [ + { + "key": "startDate", + "value": "2026-03-01" + }, + { + "key": "endDate", + "value": "2026-03-31" + } + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📤 Envio em Lote", + "item": [ + { + "name": "BulkDispatchIncrementProgress", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"success\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/bulkDispatch/incrementProgress/{{dispatchId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "bulkDispatch", + "incrementProgress", + "{{dispatchId}}" + ] + } + }, + "response": [] + }, + { + "name": "BulkDispatchList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/bulkDispatch/list?page=1&limit=20", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "bulkDispatch", + "list" + ], + "query": [ + { + "key": "page", + "value": "1" + }, + { + "key": "limit", + "value": "20" + } + ] + } + }, + "response": [] + }, + { + "name": "BulkDispatchShow", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/bulkDispatch/show/{{dispatchId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "bulkDispatch", + "show", + "{{dispatchId}}" + ] + } + }, + "response": [] + }, + { + "name": "BulkDispatchUpdate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"status\": \"cancelled\",\n \"cancellationReason\": \"Cancelado pelo usuário\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/bulkDispatch/update/{{dispatchId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "bulkDispatch", + "update", + "{{dispatchId}}" + ] + } + }, + "response": [] + }, + { + "name": "BulkFastMessage", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"whatsappType\": \"baileys\",\n \"arrayNumbers\": [\n \"5511999990001\",\n \"5511999990002\"\n ],\n \"message\": \"Olá, mensagem rápida!\",\n \"min\": 3,\n \"max\": 8\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/bulkFastMessage", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "bulkFastMessage" + ] + } + }, + "response": [] + }, + { + "name": "BulkIndividual", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"number\": \"5511999990001\",\n \"message\": \"Olá, mensagem individual!\",\n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/bulkIndividual", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "bulkIndividual" + ] + } + }, + "response": [] + }, + { + "name": "BulkSendMessage", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"arrayNumbers\": [\n \"5511999990001\",\n \"5511999990002\"\n ],\n \"message\": \"Olá, tudo bem?\",\n \"min\": 3,\n \"max\": 8\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/bulkSendMessage", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "bulkSendMessage" + ] + } + }, + "response": [] + }, + { + "name": "BulkSendMessageWithVariable", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"message\": \"Olá {nome}, seu código é {codigo}\",\n \"dataInput\": \"5511999990001,João,ABC123\\n5511999990002,Maria,DEF456\",\n \"min\": 3,\n \"max\": 8\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/bulkSendMessageWithVariable", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "bulkSendMessageWithVariable" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📂 Galeria", + "item": [ + { + "name": "GalleryDelete", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/gallery/delete/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "gallery", + "delete", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "GalleryList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/gallery/list?pageNumber=1&fileType=image", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "gallery", + "list" + ], + "query": [ + { + "key": "pageNumber", + "value": "1" + }, + { + "key": "fileType", + "value": "image" + } + ] + } + }, + "response": [] + }, + { + "name": "GalleryUpload", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"description\": \"Arquivo de marketing\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/gallery/upload", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "gallery", + "upload" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "👥 Grupos WhatsApp", + "item": [ + { + "name": "GroupAddParticipant", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupIds\": [\n \"{{groupId}}\"\n ],\n \"participants\": [\n \"5511999990001\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/addParticipant", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "addParticipant" + ] + } + }, + "response": [] + }, + { + "name": "GroupChangeDescription", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupIds\": [\n \"{{groupId}}\"\n ],\n \"description\": \"Nova descrição do grupo\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/changeDescription", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "changeDescription" + ] + } + }, + "response": [] + }, + { + "name": "GroupChangePicture", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupIds\": [\n \"{{groupId}}\"\n ],\n \"picture\": \"https://exemplo.com/foto.jpg\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/changePicture", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "changePicture" + ] + } + }, + "response": [] + }, + { + "name": "GroupChangeTitle", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupIds\": [\n \"{{groupId}}\"\n ],\n \"title\": \"Novo Título do Grupo\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/changeTitle", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "changeTitle" + ] + } + }, + "response": [] + }, + { + "name": "GroupCreate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"titles\": [\n \"Meu Grupo 1\"\n ],\n \"number\": \"5511999990001\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/create", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "create" + ] + } + }, + "response": [] + }, + { + "name": "GroupDemote", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupIds\": [\n \"{{groupId}}\"\n ],\n \"participants\": [\n \"5511999990001\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/demote", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "demote" + ] + } + }, + "response": [] + }, + { + "name": "GroupGetInviteLink", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupId\": \"{{groupId}}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/getInviteLink", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "getInviteLink" + ] + } + }, + "response": [] + }, + { + "name": "GroupList", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/list", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "list" + ] + } + }, + "response": [] + }, + { + "name": "GroupListParticipants", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupIds\": [\n \"{{groupId}}\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/listParticipants", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "listParticipants" + ] + } + }, + "response": [] + }, + { + "name": "GroupPromote", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupIds\": [\n \"{{groupId}}\"\n ],\n \"participants\": [\n \"5511999990001\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/promote", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "promote" + ] + } + }, + "response": [] + }, + { + "name": "GroupRemoveParticipant", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupIds\": [\n \"{{groupId}}\"\n ],\n \"participants\": [\n \"5511999990001\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/removeParticipant", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "removeParticipant" + ] + } + }, + "response": [] + }, + { + "name": "GroupSetAdminsOnly", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupIds\": [\n \"{{groupId}}\"\n ],\n \"adminsOnly\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/setAdminsOnly", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "setAdminsOnly" + ] + } + }, + "response": [] + }, + { + "name": "GroupShowById", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"whatsappId\": \"{{whatsappId}}\",\n \"groupId\": \"{{groupId}}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group/showById", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group", + "showById" + ] + } + }, + "response": [] + }, + { + "name": "ListGroupsInfo", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n //lista todos os grupos\n \"listGroups\": true, \n \n //lista todos os grupos e adiciona o array de participantes\n \"listParticipants\": true \n\n // opicional (lista dados de um grupo específico ex: idDoGrupo@g.us)\n // \"groupId\": \"46211553263266@g.us\" \n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listGroupInfo", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listGroupInfo" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "🟢 Interativo Baileys", + "item": [ + { + "name": "BaileysQuickReply", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"body\": {\n \"text\": \"Escolha uma opcao:\"\n },\n \"footer\": {\n \"text\": \"Rodape opcional\"\n },\n \"buttons\": [\n {\n \"display_text\": \"Opcao 1\",\n \"id\": \"op1\"\n },\n {\n \"display_text\": \"Opcao 2\",\n \"id\": \"op2\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/baileys/quickReply", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "baileys", + "quickReply" + ] + } + }, + "response": [] + }, + { + "name": "BaileysSingleSelect", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"body\": {\n \"text\": \"Escolha uma opcao:\"\n },\n \"footer\": {\n \"text\": \"Rodape\"\n },\n \"list\": {\n \"title\": \"Ver opcoes\",\n \"sections\": [\n {\n \"title\": \"Secao 1\",\n \"rows\": [\n {\n \"id\": \"1\",\n \"title\": \"Item 1\",\n \"description\": \"Descricao\"\n },\n {\n \"id\": \"2\",\n \"title\": \"Item 2\"\n }\n ]\n }\n ]\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/baileys/singleSelect", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "baileys", + "singleSelect" + ] + } + }, + "response": [] + }, + { + "name": "BaileysPixButton", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"pixType\": \"EVP\",\n \"pixKey\": \"chave-aleatoria-uuid\",\n \"pixName\": \"Nome Beneficiario\",\n \"bodyText\": \"Pague com PIX:\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/baileys/pixButton", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "baileys", + "pixButton" + ] + } + }, + "response": [] + }, + { + "name": "BaileysCtaCopy", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"body\": {\n \"text\": \"Copie seu codigo:\"\n },\n \"footer\": {\n \"text\": \"Valido por 24h\"\n },\n \"displayText\": \"Copiar codigo\",\n \"copyCode\": \"BR123456789\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/baileys/ctaCopy", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "baileys", + "ctaCopy" + ] + } + }, + "response": [] + }, + { + "name": "BaileysCtaUrl", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"body\": {\n \"text\": \"Acesse nosso site:\"\n },\n \"footer\": {\n \"text\": \"Clique para visitar\"\n },\n \"displayText\": \"Visitar site\",\n \"url\": \"https://exemplo.com\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/baileys/ctaUrl", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "baileys", + "ctaUrl" + ] + } + }, + "response": [] + }, + { + "name": "BaileysCtaCall", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"body\": {\n \"text\": \"Precisa de ajuda?\"\n },\n \"footer\": {\n \"text\": \"Ligue para nos\"\n },\n \"displayText\": \"Ligar agora\",\n \"phoneNumber\": \"+5511999999999\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/baileys/ctaCall", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "baileys", + "ctaCall" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📷 Interativo Instagram", + "item": [ + { + "name": "Quick Reply", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"message\": \"Escolha uma opção:\",\n \"quickReplies\": [\n {\n \"content_type\": \"text\",\n \"title\": \"Sim\",\n \"payload\": \"YES\"\n },\n {\n \"content_type\": \"text\",\n \"title\": \"Não\",\n \"payload\": \"NO\"\n },\n {\n \"content_type\": \"user_phone_number\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/instagram/quickReply", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "instagram", + "quickReply" + ] + } + }, + "response": [] + }, + { + "name": "Button Template", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"message\": \"Clique em uma opção:\",\n \"buttons\": [\n {\n \"type\": \"postback\",\n \"title\": \"Comprar\",\n \"payload\": \"BUY\"\n },\n {\n \"type\": \"postback\",\n \"title\": \"Falar com atendente\",\n \"payload\": \"HUMAN\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/instagram/buttonTemplate", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "instagram", + "buttonTemplate" + ] + } + }, + "response": [] + }, + { + "name": "Generic Template (cards)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"elements\": [\n {\n \"title\": \"Produto 1\",\n \"subtitle\": \"Descrição\",\n \"image_url\": \"https://...\",\n \"buttons\": [\n {\n \"type\": \"postback\",\n \"title\": \"Ver\",\n \"payload\": \"PROD_1\"\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/instagram/genericTemplate", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "instagram", + "genericTemplate" + ] + } + }, + "response": [] + }, + { + "name": "Ice Breakers (get/set/delete)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"action\": \"set\",\n \"iceBreakers\": [\n {\n \"question\": \"Qual o horário?\",\n \"payload\": \"HOURS\"\n },\n {\n \"question\": \"Vocês fazem entrega?\",\n \"payload\": \"DELIVERY\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/instagram/iceBreakers", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "instagram", + "iceBreakers" + ] + } + }, + "response": [] + }, + { + "name": "Persistent Menu (get/set/delete)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"action\": \"set\",\n \"composerInputDisabled\": false,\n \"menuItems\": [\n {\n \"type\": \"postback\",\n \"title\": \"Menu\",\n \"payload\": \"MAIN_MENU\"\n },\n {\n \"type\": \"web_url\",\n \"title\": \"Site\",\n \"url\": \"https://...\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/instagram/persistentMenu", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "instagram", + "persistentMenu" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "💬 Interativo Messenger", + "item": [ + { + "name": "Quick Reply", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"message\": \"Escolha:\",\n \"quickReplies\": [\n {\n \"content_type\": \"text\",\n \"title\": \"Sim\",\n \"payload\": \"YES\"\n },\n {\n \"content_type\": \"text\",\n \"title\": \"Não\",\n \"payload\": \"NO\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/messenger/quickReply", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "messenger", + "quickReply" + ] + } + }, + "response": [] + }, + { + "name": "Button Template", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"message\": \"Opções:\",\n \"buttons\": [\n {\n \"type\": \"postback\",\n \"title\": \"Opção 1\",\n \"payload\": \"OPT_1\"\n },\n {\n \"type\": \"web_url\",\n \"title\": \"Visitar\",\n \"url\": \"https://...\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/messenger/buttonTemplate", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "messenger", + "buttonTemplate" + ] + } + }, + "response": [] + }, + { + "name": "Generic Template (cards)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"elements\": [\n {\n \"title\": \"Card 1\",\n \"subtitle\": \"Subtítulo\",\n \"image_url\": \"https://...\",\n \"buttons\": [\n {\n \"type\": \"postback\",\n \"title\": \"Ação\",\n \"payload\": \"ACT\"\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/messenger/genericTemplate", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "messenger", + "genericTemplate" + ] + } + }, + "response": [] + }, + { + "name": "Media Template (image/video + botões)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"mediaType\": \"image\",\n \"mediaUrl\": \"https://exemplo.com/imagem.jpg\",\n \"buttons\": [\n {\n \"type\": \"postback\",\n \"title\": \"Comprar\",\n \"payload\": \"BUY\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/messenger/mediaTemplate", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "messenger", + "mediaTemplate" + ] + } + }, + "response": [] + }, + { + "name": "Receipt Template (recibo)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"receipt\": {\n \"recipient_name\": \"João Silva\",\n \"order_number\": \"ORD-001\",\n \"currency\": \"BRL\",\n \"payment_method\": \"PIX\",\n \"summary\": {\n \"total_cost\": 150.0\n },\n \"elements\": [\n {\n \"title\": \"Produto A\",\n \"price\": 100.0,\n \"quantity\": 1\n },\n {\n \"title\": \"Produto B\",\n \"price\": 50.0,\n \"quantity\": 1\n }\n ]\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/messenger/receiptTemplate", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "messenger", + "receiptTemplate" + ] + } + }, + "response": [] + }, + { + "name": "Message Tag (Marketing/Utility)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"message\": \"Seu pedido foi aprovado.\",\n \"tag\": \"POST_PURCHASE_UPDATE\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/messenger/messageTag", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "messenger", + "messageTag" + ] + } + }, + "response": [] + }, + { + "name": "Customer Feedback Template (NPS/CSAT)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 123,\n \"title\": \"Avalie sua experiência\",\n \"subtitle\": \"Opcional\",\n \"business_privacy_url\": \"https://exemplo.com/privacidade\",\n \"expires_in_days\": 7,\n \"feedback_screens\": [\n {\n \"questions\": [\n {\n \"id\": \"CSAT\",\n \"type\": \"csat\",\n \"title\": \"Como foi nosso atendimento?\"\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/sendInteractive/messenger/customerFeedback", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "sendInteractive", + "messenger", + "customerFeedback" + ] + } + }, + "response": [] + }, + { + "name": "Greeting Text (get/set/delete)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"action\": \"set\",\n \"greetings\": [\n {\n \"locale\": \"default\",\n \"text\": \"Olá! Como podemos ajudar?\"\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/messenger/greeting", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "messenger", + "greeting" + ] + } + }, + "response": [] + }, + { + "name": "Personas (list/create/delete)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{API_TOKEN}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"action\": \"create\",\n \"name\": \"Atendente Ana\",\n \"profilePictureUrl\": \"https://exemplo.com/ana.jpg\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/v2/api/external/{{apiId}}/messenger/personas", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "v2", + "api", + "external", + "{{apiId}}", + "messenger", + "personas" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "🟩 Interativo UazAPI", + "item": [ + { + "name": "UazapiButton", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"text\": \"Escolha uma opcao:\",\n \"choices\": [\n \"Opcao 1\",\n \"Opcao 2\",\n \"Opcao 3\"\n ],\n \"footerText\": \"Rodape opcional\",\n \"imageButton\": \"https://exemplo.com/img.png\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/uazapi/button", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "uazapi", + "button" + ] + } + }, + "response": [] + }, + { + "name": "UazapiList", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"text\": \"Escolha uma opcao:\",\n \"choices\": [\n \"Item 1\",\n \"Item 2\",\n \"Item 3\",\n \"Item 4\"\n ],\n \"listButton\": \"Ver opcoes\",\n \"footerText\": \"Selecione uma opcao\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/uazapi/list", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "uazapi", + "list" + ] + } + }, + "response": [] + }, + { + "name": "UazapiPoll", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"text\": \"Qual sua preferencia?\",\n \"choices\": [\n \"Opcao A\",\n \"Opcao B\",\n \"Opcao C\"\n ],\n \"selectableCount\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/uazapi/poll", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "uazapi", + "poll" + ] + } + }, + "response": [] + }, + { + "name": "UazapiCarousel", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"text\": \"Confira nossas opcoes:\",\n \"carousel\": [\n {\n \"text\": \"Produto A\",\n \"image\": \"https://exemplo.com/a.png\",\n \"buttons\": [\n {\n \"text\": \"Ver detalhes\",\n \"type\": \"REPLY\"\n }\n ]\n },\n {\n \"text\": \"Produto B\",\n \"image\": \"https://exemplo.com/b.png\",\n \"buttons\": [\n {\n \"text\": \"Comprar\",\n \"type\": \"URL\"\n }\n ]\n }\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/uazapi/carousel", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "uazapi", + "carousel" + ] + } + }, + "response": [] + }, + { + "name": "UazapiPixButton", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"pixType\": \"EVP\",\n \"pixKey\": \"chave-aleatoria-uuid\",\n \"pixName\": \"Nome Beneficiario\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/uazapi/pixButton", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "uazapi", + "pixButton" + ] + } + }, + "response": [] + }, + { + "name": "UazapiLocationButton", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"text\": \"Por favor, compartilhe sua localizacao:\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/uazapi/locationButton", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "uazapi", + "locationButton" + ] + } + }, + "response": [] + }, + { + "name": "UazapiRequestPayment", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": 1262,\n \"amount\": 150.0,\n \"title\": \"Pedido #001\",\n \"text\": \"Sua cobranca esta pronta:\",\n \"footer\": \"Vencimento em 3 dias\",\n \"itemName\": \"Produto X\",\n \"invoiceNumber\": \"NF-001\",\n \"pixType\": \"EVP\",\n \"pixKey\": \"chave-aleatoria-uuid\",\n \"pixName\": \"Nome Beneficiario\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendInteractive/uazapi/requestPayment", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendInteractive", + "uazapi", + "requestPayment" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "🔘 Interativo Waba", + "item": [ + { + "name": "SendButtonWABA", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Número do WhatsApp do destinatário (formato: 5511999999999)\n \"number\": \"5515998566622\",\n \n // Mensagem que acompanhará os botões\n \"message\": \"Escolha uma opção:\",\n \n // Texto do primeiro botão\n \"button1\": \"Opção 1\",\n \n // Texto do segundo botão\n \"button2\": \"Opção 2\",\n \n // Texto do terceiro botão (opcional)\n \"button3\": \"Opção 3\",\n \n // ID do ticket \n \"ticketId\": 1262\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendButtonWABA", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendButtonWABA" + ] + } + }, + "response": [] + }, + { + "name": "SendListWABA", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Número do WhatsApp do destinatário (formato: 5511999999999)\n \"number\": \"5515998566622\",\n \n // Cabeçalho da lista\n \"header\": \"Menu Principal\",\n \n // Corpo da lista\n \"body\": \"Escolha uma opção da lista:\",\n \n // Rodapé da lista\n \"footer\": \"Selecione uma opção\",\n \n // Texto do botão\n \"button_text\": \"Ver opções\",\n \n // Seções da lista (array de objetos)\n \"sections\": [\n {\n \"title\": \"Seção 1\",\n \"rows\": [\n {\n \"id\": \"1\",\n \"title\": \"Opção 1\",\n \"description\": \"Descrição da opção 1\"\n },\n {\n \"id\": \"2\",\n \"title\": \"Opção 2\",\n \"description\": \"Descrição da opção 2\"\n }\n ]\n }\n ],\n \n // ID do ticket\n \"ticketId\": 1262\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendListWABA", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendListWABA" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "🏷️ Kanban / Tags / Motivos / Filas", + "item": [ + { + "name": "CreateKanban", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Coluna 1\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createKanban", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createKanban" + ] + } + }, + "response": [] + }, + { + "name": "CreateQueueData", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"queue\": \"Suporte\",\n \"isActive\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createQueueData", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createQueueData" + ] + } + }, + "response": [] + }, + { + "name": "CreateReason", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Resolvido\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createReason", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createReason" + ] + } + }, + "response": [] + }, + { + "name": "CreateTag", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"tag\": \"Urgente\",\n \"color\": \"#FF0000\",\n \"isActive\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createTag", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createTag" + ] + } + }, + "response": [] + }, + { + "name": "DeleteKanban", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/deleteKanban/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "deleteKanban", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "DeleteQueueData", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/deleteQueueData/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "deleteQueueData", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "DeleteReason", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/deleteReason/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "deleteReason", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "DeleteTag", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/deleteTag/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "deleteTag", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "ListKanban", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listKanban", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listKanban" + ] + } + }, + "response": [] + }, + { + "name": "ListReasons", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listReasons", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listReasons" + ] + } + }, + "response": [] + }, + { + "name": "UpdateKanban", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Coluna Atualizada\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateKanban/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateKanban", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "UpdateQueueData", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"queue\": \"Suporte v2\",\n \"isActive\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateQueueData/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateQueueData", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "UpdateReason", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Resolvido com sucesso\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateReason/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateReason", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "UpdateTagData", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"tag\": \"Urgente v2\",\n \"color\": \"#CC0000\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateTagData/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateTagData", + "{{id}}" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📊 Listagens", + "item": [ + { + "name": "GetAllSessionApis", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/getAllSessionApis", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "getAllSessionApis" + ] + } + }, + "response": [] + }, + { + "name": "ListChannels", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listChannels", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listChannels" + ] + } + }, + "response": [] + }, + { + "name": "ListContacts", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listContacts?pageNumber=1", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listContacts" + ], + "query": [ + { + "key": "pageNumber", + "value": "1", + "description": "Número da página" + }, + { + "key": "searchParam", + "value": "", + "description": "Parâmetro de busca (opcional)", + "disabled": true + }, + { + "key": "walletId", + "value": "", + "description": "ID da wallet (opcional)", + "disabled": true + }, + { + "key": "tagId", + "value": "", + "description": "ID da tag (opcional)", + "disabled": true + } + ] + } + }, + "response": [] + }, + { + "name": "ListOpportunities", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listOpportunities?page=1&limit=40", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listOpportunities" + ], + "query": [ + { + "key": "page", + "value": "1", + "description": "Número da página" + }, + { + "key": "limit", + "value": "40", + "description": "Limite de resultados por página" + }, + { + "key": "status", + "value": "", + "description": "Status da oportunidade (opcional)", + "disabled": true + }, + { + "key": "pipelineId", + "value": "", + "description": "ID do pipeline (opcional)", + "disabled": true + } + ] + } + }, + "response": [] + }, + { + "name": "ListQueues", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listQueues", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listQueues" + ] + } + }, + "response": [] + }, + { + "name": "ListSessions", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listSessions", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listSessions" + ] + } + }, + "response": [] + }, + { + "name": "ListTags", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listTags?isActive=true", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listTags" + ], + "query": [ + { + "key": "isActive", + "value": "true", + "description": "Filtrar por tags ativas (true/false)" + } + ] + } + }, + "response": [] + }, + { + "name": "ListTickets", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listTickets?pageNumber=1&status=open", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listTickets" + ], + "query": [ + { + "key": "pageNumber", + "value": "1", + "description": "Número da página" + }, + { + "key": "status", + "value": "open", + "description": "Status do ticket (open, pending, closed)" + }, + { + "key": "searchParam", + "value": "", + "description": "Parâmetro de busca (opcional)", + "disabled": true + }, + { + "key": "queuesIds", + "value": "", + "description": "IDs das filas (opcional)", + "disabled": true + }, + { + "key": "whatsappIds", + "value": "", + "description": "IDs dos canais (opcional)", + "disabled": true + } + ] + } + }, + "response": [] + } + ] + }, + { + "name": "🔍 Listagens Utilitárias", + "item": [ + { + "name": "ListAutoReplies", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listAutoReplies", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listAutoReplies" + ] + } + }, + "response": [] + }, + { + "name": "ListChatFlows", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listChatFlows", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listChatFlows" + ] + } + }, + "response": [] + }, + { + "name": "ListFastReplies", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listFastReplies", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listFastReplies" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📞 Logs de Chamadas", + "item": [ + { + "name": "CallLogList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/callLog/list?page=1&limit=20", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "callLog", + "list" + ], + "query": [ + { + "key": "page", + "value": "1" + }, + { + "key": "limit", + "value": "20" + } + ] + } + }, + "response": [] + }, + { + "name": "CallLogShow", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/callLog/show/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "callLog", + "show", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "WavoipCallList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/wavoip/calls?page=1&limit=20", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "wavoip", + "calls" + ], + "query": [ + { + "key": "page", + "value": "1" + }, + { + "key": "limit", + "value": "20" + } + ] + } + }, + "response": [] + }, + { + "name": "WavoipCallShow", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/wavoip/calls/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "wavoip", + "calls", + "{{id}}" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📨 Mensagens", + "item": [ + { + "name": "GetMessageByMessageId", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/getMessageByMessageId?messageId=wamid.xxxxx", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "getMessageByMessageId" + ], + "query": [ + { + "key": "messageId", + "value": "wamid.xxxxx", + "description": "ID da mensagem retornado pela Meta (ex: wamid.xxxxx)" + } + ] + } + }, + "response": [] + }, + { + "name": "SendMessageAPIFile", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "media", + "description": "Arquivo a ser enviado (imagem, documento, etc)", + "type": "file", + "src": "/C:/Users/Pedro/Downloads/cps_vanderlei.docx" + }, + { + "key": "body", + "value": "Mensagem de teste 2", + "description": "Texto da mensagem que acompanhará o arquivo", + "type": "text" + }, + { + "key": "number", + "value": "5515998566622", + "description": "Número do WhatsApp do destinatário (formato: 5511999999999)", + "type": "text" + }, + { + "key": "externalKey", + "value": "ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK", + "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)", + "type": "text" + }, + { + "key": "isClosed", + "value": "false", + "description": "Define se o ticket será fechado após o envio", + "type": "text" + }, + { + "key": "validateNumber", + "value": "true", + "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR (recomendado p/ WABA).", + "type": "text" + } + ] + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}" + ] + } + }, + "response": [] + }, + { + "name": "SendMessageAPIFileURL", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n // URL do arquivo que será enviado (imagem, documento, etc)\r\n \"mediaUrl\": \"https://comunidadezdg.com.br/wp-content/uploads/2022/07/icon100.png\",\r\n \r\n // Texto da mensagem que acompanhará o arquivo\r\n \"body\": \"A mensagem desejada\",\r\n \r\n // Número do WhatsApp do destinatário (formato: 5511999999999)\r\n \"number\": \"5515998566622\",\r\n \r\n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\r\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\",\r\n \r\n // Define se o ticket será fechado após o envio\r\n \"isClosed\": false,\r\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\r\n \"validateNumber\": true\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/url", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "url" + ] + } + }, + "response": [] + }, + { + "name": "SendMessageAPIText", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Texto da mensagem que será enviada\n \"body\": \"A mensagem desejada\",\n \n // Número do WhatsApp do destinatário (formato: 5511999999999)\n \"number\": \"5515998566622\",\n \n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\",\n \n // Define se o ticket será fechado após o envio\n \"isClosed\": false,\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}" + ] + } + }, + "response": [] + }, + { + "name": "SendMessageAPITextBase64", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Texto da mensagem que acompanhará o arquivo\n \"body\": \"A mensagem desejada\",\n \n // Número do WhatsApp do destinatário (formato: 5511999999999)\n \"number\": \"5515998566622\",\n \n // Arquivo codificado em base64\n \"base64Data\": \"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\",\n \n // Tipo MIME do arquivo (ex: image/png, application/pdf)\n \"mimeType\": \"image/png\",\n \n // Nome do arquivo que será exibido\n \"fileName\": \"exemplo_imagem\",\n \n // Define se o ticket será fechado após o envio\n \"isClosed\": false,\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/base64", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "base64" + ] + } + }, + "response": [] + }, + { + "name": "SendMessageAPIVoice", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // URL do arquivo de áudio que será enviado\n \"audio\": \"https://comunidadezdg.com.br/wp-content/uploads/2022/12/audio.ogg\",\n \n // Número do WhatsApp do destinatário (formato: 5511999999999)\n \"number\": \"5515998566622\",\n \n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\",\n \n // Define se o ticket será fechado após o envio\n \"isClosed\": false\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/voice", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "voice" + ] + } + }, + "response": [] + }, + { + "name": "SendMessageParams", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/params/?body=A%20mensagem%20desejadaa&number=5515998566622&externalKey=ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK&bearertoken={{BearerToken}}&isClosed=false&validateNumber=true", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "params", + "" + ], + "query": [ + { + "key": "body", + "value": "A%20mensagem%20desejadaa", + "description": "Texto da mensagem que será enviada" + }, + { + "key": "number", + "value": "5515998566622", + "description": "Número do WhatsApp do destinatário (formato: 5511999999999)" + }, + { + "key": "externalKey", + "value": "ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK", + "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)" + }, + { + "key": "bearertoken", + "value": "{{BearerToken}}", + "description": "Token de autenticação" + }, + { + "key": "isClosed", + "value": "false", + "description": "Define se o ticket será fechado após o envio" + }, + { + "key": "validateNumber", + "value": "true", + "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR (recomendado p/ WABA)." + } + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📨 Mensagens Avançadas", + "item": [ + { + "name": "SearchMessages", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/searchMessages?ticketId={{ticketId}}&searchParam=olá&page=1&limit=20", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "searchMessages" + ], + "query": [ + { + "key": "ticketId", + "value": "{{ticketId}}" + }, + { + "key": "searchParam", + "value": "olá" + }, + { + "key": "page", + "value": "1" + }, + { + "key": "limit", + "value": "20" + } + ] + } + }, + "response": [] + }, + { + "name": "SendLocation", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"number\": \"5511999990001\",\n \"latitude\": -23.5505,\n \"longitude\": -46.6333,\n \"name\": \"São Paulo\",\n \"address\": \"Av. Paulista, 1000\",\n \"ticketId\": null,\n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendLocation", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendLocation" + ] + } + }, + "response": [] + }, + { + "name": "SendVcard", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"number\": \"5511999990001\",\n \"contact\": [\n {\n \"fullName\": \"João Silva\",\n \"wuid\": \"5511999990002@s.whatsapp.net\",\n \"phoneNumber\": \"5511999990002\"\n }\n ],\n \"ticketId\": null,\n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendVcard", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendVcard" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "👥 Mensagens em Grupo", + "item": [ + { + "name": "SendGroupMessageAPIFile", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "media", + "description": "Arquivo(s) a ser enviado (imagem, documento, etc)", + "type": "file", + "src": [ + "/C:/Users/Pedro/Downloads/cps_vanderlei.docx", + "/C:/Users/pedro/OneDrive/Desktop/izing-passaporte/frontend/public/bg-wchats.png" + ] + }, + { + "key": "body", + "value": "Mensagem de teste 2", + "description": "Texto da mensagem que acompanhará o arquivo", + "type": "text" + }, + { + "key": "number", + "value": "12356818915189153", + "description": "ID do grupo do WhatsApp", + "type": "text" + }, + { + "key": "externalKey", + "value": "ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK", + "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)", + "type": "text" + }, + { + "key": "isClosed", + "value": "false", + "description": "Define se o ticket será fechado após o envio", + "type": "text" + } + ] + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group" + ] + } + }, + "response": [] + }, + { + "name": "SendGroupMessageAPIText", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Texto da mensagem que será enviada\n \"body\": \"A mensagem desejada\",\n \n // ID do grupo do WhatsApp\n \"number\": \"12356818915189153\",\n \n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\",\n \n // Define se o ticket será fechado após o envio\n \"isClosed\": false\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/group", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "group" + ] + } + }, + "response": [] + }, + { + "name": "SendMessageAPIFileURLGroup", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n // URL do arquivo que será enviado (imagem, documento, etc)\r\n \"mediaUrl\": \"https://comunidadezdg.com.br/wp-content/uploads/2022/07/icon100.png\",\r\n \r\n // Texto da mensagem que acompanhará o arquivo\r\n \"body\": \"A mensagem desejada\",\r\n \r\n // ID do grupo do WhatsApp\r\n \"number\": \"12356818915189153\",\r\n \r\n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\r\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\",\r\n \r\n // Define se o ticket será fechado após o envio\r\n \"isClosed\": false\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/groupMediaUrl", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "groupMediaUrl" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "💼 Oportunidades", + "item": [ + { + "name": "CreateOpportunity", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Campos do contato\n \"number\": \"5535912345678\", // número do WhatsApp\n \"contactName\": \"Nome do Contato\", // nome do contato\n \"email\": \"contato@email.com\", // email do contato\n\n // Campos da oportunidade\n \"name\": \"Nome da Oportunidade 2\", // nome da oportunidade\n \"value\": 10000.00, // valor da oportunidade\n \"status\": \"open\", // pode ser: \"open\", \"win\", \"lose\"\n \"pipelineId\": 16, // ID do pipeline\n \"stageId\": 7, // ID do estágio\n \"responsibleId\": 1, // ID do responsável\n \"closingForecast\": \"2024-12-31\", // data esperada de fechamento\n \"description\": \"Descrição da oportunidade\", // descrição da oportunidade\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createOpportunity", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createOpportunity" + ] + } + }, + "response": [] + }, + { + "name": "DeleteOpportunity", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Campos da oportunidade\n \"opportunityId\": 19 // id da oportunidade\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/deleteOpportunity", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "deleteOpportunity" + ] + } + }, + "response": [] + }, + { + "name": "UpdateOpportunity", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Campos da oportunidade\n \"opportunityId\": 30, // id da oportunidade\n \"name\": \"Nome da Oportunidade 2 API\", // nome da oportunidade\n \"value\": 500.00, // valor da oportunidade\n \"status\": \"open\", // pode ser: \"open\", \"win\", \"lose\"\n \"pipelineId\": 16, // ID do pipeline\n \"stageId\": 7, // ID do estágio\n \"responsibleId\": 1, // ID do responsável\n \"closingForecast\": \"2024-12-31\", // data esperada de fechamento\n \"description\": \"Descrição da oportunidade\" // descrição da oportunidade\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateOpportunity", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateOpportunity" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "📋 Templates WABA", + "item": [ + { + "name": "SendTemplateWaba", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n // Número do WhatsApp do destinatário (formato: 5511999999999)\r\n \"number\": \"5515998566622\",\r\n \r\n // Define se o ticket será fechado após o envio\r\n \"isClosed\": false,\r\n \r\n // Dados do template do WhatsApp Business API\r\n \"templateData\": {\r\n // Produto de mensageria (sempre whatsapp)\r\n \"messaging_product\": \"whatsapp\",\r\n \r\n // Número do destinatário (mesmo do campo number)\r\n \"to\": \"5515998566622\",\r\n \r\n // Tipo da mensagem (sempre template)\r\n \"type\": \"template\",\r\n \r\n // Configurações do template\r\n \"template\": {\r\n // Nome do template aprovado\r\n \"name\": \"hello_world\",\r\n \r\n // Configurações de idioma\r\n \"language\": {\r\n // Código do idioma (ex: en_US, pt_BR)\r\n \"code\": \"en_US\"\r\n }\r\n }\r\n },\r\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\r\n \"validateNumber\": true\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/template", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "template" + ] + }, + "description": "A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { \"success\": true, \"data\": { \"message\": \"Message sent successfully\", \"ticketId\": 123 } }" + }, + "response": [] + }, + { + "name": "SendTemplateWabaBody", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n // Número do WhatsApp do destinatário (formato: 5511999999999)\r\n \"number\": \"5515998566622\",\r\n \r\n // Define se o ticket será fechado após o envio\r\n \"isClosed\": false,\r\n \r\n // Dados do template do WhatsApp Business API\r\n \"templateData\": {\r\n // Produto de mensageria (sempre whatsapp)\r\n \"messaging_product\": \"whatsapp\",\r\n \r\n // Número do destinatário (mesmo do campo number)\r\n \"to\": \"5515998566622\",\r\n \r\n // Tipo da mensagem (sempre template)\r\n \"type\": \"template\",\r\n \r\n // Configurações do template\r\n \"template\": {\r\n // Nome do template aprovado\r\n \"name\": \"hello_world\",\r\n \r\n // Configurações de idioma\r\n \"language\": {\r\n // Código do idioma (ex: en_US, pt_BR)\r\n \"code\": \"en_US\"\r\n }\r\n }\r\n },\r\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\r\n \"validateNumber\": true\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/templateBody", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "templateBody" + ] + }, + "description": "A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { \"success\": true, \"data\": { \"message\": \"Message sent successfully\", \"ticketId\": 123 } }" + }, + "response": [] + }, + { + "name": "SendTemplateWabaMarketing", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n // Número do WhatsApp do destinatário (formato: 5511999999999)\r\n \"number\": \"5515998566622\",\r\n \r\n // Define se o ticket será fechado após o envio\r\n \"isClosed\": false,\r\n \r\n // Dados do template do WhatsApp Business API\r\n \"templateData\": {\r\n // Produto de mensageria (sempre whatsapp)\r\n \"messaging_product\": \"whatsapp\",\r\n \r\n // Número do destinatário (mesmo do campo number)\r\n \"to\": \"5515998566622\",\r\n \r\n // Tipo da mensagem (sempre template)\r\n \"type\": \"template\",\r\n \r\n // Configurações do template\r\n \"template\": {\r\n // Nome do template aprovado\r\n \"name\": \"hello_world\",\r\n \r\n // Configurações de idioma\r\n \"language\": {\r\n // Código do idioma (ex: en_US, pt_BR)\r\n \"code\": \"en_US\"\r\n }\r\n }\r\n },\r\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\r\n \"validateNumber\": true\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/templateMarketingBody", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "templateMarketingBody" + ] + }, + "description": "A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { \"success\": true, \"data\": { \"message\": \"Message sent successfully\", \"ticketId\": 123 } }" + }, + "response": [] + } + ] + }, + { + "name": "🏢 Tenant API", + "item": [ + { + "name": "CreateApi", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{SuperAdminToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Nome da API que será criada\n \"name\": \"API 1\",\n \n // ID da sessão do WhatsApp associada\n \"sessionId\": 1,\n \n // URL para receber atualizações de status do serviço (opcional)\n \"urlServiceStatus\": null,\n \n // URL para receber atualizações de status das mensagens (opcional)\n \"urlMessageStatus\": null,\n \n // ID do usuário que está criando a API\n \"userId\": 1,\n \n // Token de autenticação para a API\n \"authToken\": \"123456\",\n \n // ID do tenant que terá a API\n \"tenant\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/tenantCreateApi", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "tenantCreateApi" + ] + } + }, + "response": [] + }, + { + "name": "CreateSessionTenant", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{SuperAdminToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Tenant\n \"tenant\": 1,\n\n // Nome da instância do WhatsApp\n \"name\": \"My WhatsApp Instance\",\n \n // Status inicial da sessão (DISCONNECTED, CONNECTED)\n \"status\": \"DISCONNECTED\",\n \n // Tipo da sessão (whatsapp, baileys, meow, evo, uazapi, zapi)\n \"type\": \"baileys\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/tenantApiCreateSession", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "tenantApiCreateSession" + ] + } + }, + "response": [] + }, + { + "name": "DeleteApi", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{SuperAdminToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID da sessão do WhatsApp associada à API\n \"sessionId\": 43,\n \n // ID do usuário que está deletando a API\n \"userId\": 1,\n \n // ID do tenant que possui a API\n \"tenant\": 1,\n \n // ID da API que será deletada\n \"apiId\": \"5ec32c80-4549-4256-8ed1-ed57b86396c3\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/tenantDeleteApi", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "tenantDeleteApi" + ] + } + }, + "response": [] + }, + { + "name": "ListTenants", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{SuperAdminToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/tenantApiListTenants", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "tenantApiListTenants" + ] + } + }, + "response": [] + }, + { + "name": "ShowTenant", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{SuperAdminToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do tenant que será consultado\n \"id\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/tenantApiShowTenant", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "tenantApiShowTenant" + ] + } + }, + "response": [] + }, + { + "name": "StoreTenant", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{SuperAdminToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Status do tenant (active, inactive)\n \"status\": \"active\",\n \n // Nome da empresa/tenant\n \"name\": \"Empresa Exemplo\",\n \n // Número máximo de usuários permitidos\n \"maxUsers\": 3,\n \n // Número máximo de conexões WhatsApp permitidas\n \"maxConnections\": 3,\n \n // Confirmação de aceite dos termos\n \"acceptTerms\": true,\n \n // Email do administrador do tenant\n \"email\": \"user@example.com\",\n \n // Senha do administrador (mínimo 8 caracteres, incluindo números e caracteres especiais)\n \"password\": \"securePassword123!\",\n \n // Nome completo do administrador\n \"userName\": \"Pedro Bastos\",\n \n // Perfil do administrador (admin, user)\n \"profile\": \"admin\",\n\n // Vinculo de gateway de pagamento (OPCIONAL). Define qual gateway o webhook\n // usa para atualizar o status de pagamento do tenant automaticamente.\n // Valores: asaas, stripe, pagarme, mercadopago.\n \"paymentGateway\": \"stripe\",\n\n // Credenciais do gateway informado acima (envie apenas o par do gateway escolhido).\n // Exemplo Stripe: Customer ID + Secret Key.\n \"stripeCustomerId\": \"cus_XXXXXXXXXXXXXX\",\n \"stripeToken\": \"sk_live_XXXXXXXXXXXXXXXX\"\n\n // Outros gateways seguem o mesmo padrao CustomerId + Token:\n // \"pagarmeCustomerId\": \"cus_xxx\", \"pagarmeToken\": \"sk_xxx\"\n // \"mercadopagoCustomerId\": \"123456\", \"mercadopagoToken\": \"APP_USR-xxx\"\n // \"asaasCustomerId\": \"cus_xxx\", \"asaasToken\": \"xxx\", \"asaas\": \"enabled\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/tenantApiStoreTenant", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "tenantApiStoreTenant" + ] + } + }, + "response": [] + }, + { + "name": "UpdateTenant", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{SuperAdminToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Identidade do tenant (CPF/CNPJ) - identificador usado para reconhecer qual tenant será atualizado\n \"identity\": \"07122989674\",\n\n // Status do tenant (active, inactive)\n \"status\": \"active\",\n\n // Número máximo de usuários permitidos\n \"maxUsers\": 100,\n\n // Número máximo de conexões permitidas\n \"maxConnections\": 10,\n\n // Gateway de pagamento (none, asaas, mercadopago, stripe, pagarme)\n \"paymentGateway\": \"asaas\",\n\n // Credenciais do gateway (OPCIONAL) — envie o par correspondente ao paymentGateway.\n // Ao trocar para um gateway nao-Asaas, o modo Asaas legado e desligado automaticamente.\n // Stripe: \"stripeCustomerId\": \"cus_xxx\", \"stripeToken\": \"sk_live_xxx\"\n // Pagar.me: \"pagarmeCustomerId\": \"cus_xxx\", \"pagarmeToken\": \"sk_xxx\"\n // Mercado Pago: \"mercadopagoCustomerId\": \"123456\", \"mercadopagoToken\": \"APP_USR-xxx\"\n\n // Chat de suporte habilitado (enabled, disabled)\n \"supportChatEnabled\": \"enabled\",\n\n // Menus visíveis — array de strings com os menus habilitados\n // Opções: Groups, MassDispatch, Kanban, Tasks, Api, ChatBot, Reports, Campaigns, PrivateChat, Teams, AllowedChannels\n \"menuVisibility\": [\"Groups\", \"MassDispatch\", \"Kanban\", \"Tasks\", \"Api\", \"ChatBot\", \"Reports\", \"Campaigns\", \"PrivateChat\", \"Teams\", \"AllowedChannels\"],\n\n // Canais permitidos — array de strings com os canais habilitados\n // Opções: waba, baileys, whatsapp, meow, evo, zapi, uazapi, telegram, hub, webchat, webmail, wabaoauth, instagramoauth, facebookoauth\n \"allowedChannels\": [\"waba\", \"baileys\", \"whatsapp\", \"meow\", \"evo\", \"zapi\", \"uazapi\", \"telegram\", \"hub\", \"webchat\", \"webmail\", \"wabaoauth\", \"instagramoauth\", \"facebookoauth\"],\n\n // Limite máximo de conexões por tipo de canal. Use 0 para ilimitado.\n \"channelConnectionLimits\": {\n \"waba\": 0,\n \"baileys\": 0,\n \"whatsapp\": 0,\n \"meow\": 0,\n \"evo\": 0,\n \"zapi\": 0,\n \"uazapi\": 0,\n \"telegram\": 0,\n \"hub\": 0,\n \"webchat\": 0,\n \"webmail\": 0,\n \"wabaoauth\": 0,\n \"instagramoauth\": 0,\n \"facebookoauth\": 0\n },\n\n // OAuth (Meta Embedded Signup)\n // OAuth habilitado (true/false)\n \"oauthEnabled\": false,\n\n // URL do Proxy OAuth\n \"oauthProxyUrl\": \"https://proxy.exemplo.com/oauth\",\n\n // URL do Proxy de Webhook Instagram\n \"instagramWebhookProxyUrl\": \"https://proxy.exemplo.com/instagram/webhook\",\n\n // Segredo do Proxy Instagram\n \"instagramWebhookProxySecret\": \"secret_instagram\",\n\n // URL do Proxy de Webhook Messenger\n \"messengerWebhookProxyUrl\": \"https://proxy.exemplo.com/messenger/webhook\",\n\n // Segredo do Proxy Messenger\n \"messengerWebhookProxySecret\": \"secret_messenger\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/tenantApiUpdateTenant", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "tenantApiUpdateTenant" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "🎫 Tickets", + "item": [ + { + "name": "AddTag", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do ticket que receberá a tag\n \"ticketId\": 4,\n \n // ID da tag que será adicionada (pode usar tagId ou tagIds)\n \"tagId\": 1,\n \n // OU array de IDs de tags para adicionar múltiplas tags de uma vez\n // \"tagIds\": [1, 2, 3]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/addTag", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "addTag" + ] + } + }, + "response": [] + }, + { + "name": "AddTagContact", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Atribui tag(s) ao CONTATO sem precisar de ticket.\n // Informe contactId OU number para localizar o contato.\n \"contactId\": 123,\n \n // OU localize pelo numero (aceita variantes BR)\n // \"number\": \"5511999999999\",\n \n // ID da tag a adicionar (use tagId ou tagIds). Mantem as tags existentes.\n \"tagId\": 1,\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n \n // OU array de IDs de tags\n // \"tagIds\": [1, 2, 3]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/addTagContact", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "addTagContact" + ] + } + }, + "response": [] + }, + { + "name": "RemoveTagContact", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Remove tag(s) do CONTATO sem precisar de ticket.\n // Informe contactId OU number para localizar o contato.\n \"number\": \"5511999999999\",\n \n // OU localize pelo ID do contato\n // \"contactId\": 123,\n \n // ID(s) da tag a remover (use tagId ou tagIds)\n \"tagIds\": [1, 2],\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n \n // OU uma unica tag\n // \"tagId\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/removeTagContact", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "removeTagContact" + ] + } + }, + "response": [] + }, + { + "name": "CreateNotes", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Texto da nota que será adicionada ao ticket\n \"notes\": \"Mensagem da nota\", \n \n // ID do ticket que receberá a nota\n \"ticketId\": 1262, \n \n // ID do usuário que está criando a nota\n \"userId\": 1,\n \n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"idFront\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createNotes", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createNotes" + ] + } + }, + "response": [] + }, + { + "name": "CreateTicket", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Texto da mensagem inicial do ticket\n \"body\": \"A mensagem desejada\",\n \n // Para canais WhatsApp/outros: número do contato (formato: 5511999999999)\n \"number\": \"5535988754197\",\n \n // Para canal WEBMAIL: email do contato (obrigatório quando channelId for de um canal webmail)\n // \"email\": \"contato@exemplo.com\",\n \n // ID do canal (opcional). Para webmail: envie o id do canal webmail (não vem do APIConfig)\n // \"channelId\": 17841443941506797,\n \n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\",\n \n // ID do usuário que está criando o ticket\n \"userId\": 3,\n \n // Status inicial do ticket (pending ou open)\n \"status\": \"pending\",\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n \n // ID do kanban (opcional)\n // \"kanbanId\": 1,\n \n // ID do fluxo de chat (opcional)\n // \"chatFlowId\": 16,\n \n // ID da fila (opcional)\n // \"queueId\": 1,\n \n // ID da demanda (opcional)\n // \"reasonId\": 1,\n \n // Valor do ticket (opcional)\n // \"value\": 10.25,\n \n // Para webmail: nome do contato (opcional, usado na criação do contato)\n // \"name\": \"Nome do Contato\",\n // \"firstName\": \"Nome\",\n // \"lastName\": \"Sobrenome\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createTicket", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createTicket" + ] + } + }, + "response": [] + }, + { + "name": "CreateTicketFile", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "media", + "description": "Arquivo a ser enviado (imagem, documento, etc)", + "type": "file", + "src": "/C:/Users/Pedro/Downloads/cps_vanderlei.docx" + }, + { + "key": "body", + "value": "Mensagem de teste 2", + "description": "Texto da mensagem inicial do ticket", + "type": "text" + }, + { + "key": "number", + "value": "5515998566622", + "description": "Número do WhatsApp do contato (formato: 5511999999999)", + "type": "text" + }, + { + "key": "externalKey", + "value": "ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK", + "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)", + "type": "text" + }, + { + "key": "userId", + "value": "3", + "description": "ID do usuário que está criando o ticket", + "type": "text" + }, + { + "key": "status", + "value": "pending", + "description": "Status inicial do ticket (pending, open, closed)", + "type": "text" + }, + { + "key": "kanbanId", + "value": "1", + "description": "ID do kanban (opcional)", + "type": "text" + }, + { + "key": "chatFlowId", + "value": "10", + "description": "ID do fluxo de chat (opcional)", + "type": "text" + }, + { + "key": "queueId", + "value": "1", + "description": "ID da fila (opcional)", + "type": "text" + }, + { + "key": "channelId", + "value": "", + "description": "ID do canal (opcional). Para webmail: envie o id do canal webmail", + "type": "text" + }, + { + "key": "email", + "value": "", + "description": "Para canal webmail: email do contato (obrigatório quando usar channelId de webmail)", + "type": "text" + }, + { + "key": "name", + "value": "", + "description": "Para webmail: nome do contato (opcional)", + "type": "text" + }, + { + "key": "validateNumber", + "value": "true", + "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR (recomendado p/ WABA).", + "type": "text" + } + ] + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createTicket", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createTicket" + ] + } + }, + "response": [] + }, + { + "name": "CreateTicketWebmail", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Texto da mensagem inicial do ticket\n \"body\": \"Mensagem inicial do ticket por email\",\n \n // Email do contato (obrigatório para webmail)\n \"email\": \"contato@exemplo.com\",\n \n // ID do canal webmail (opcional; se não enviar, usa canal da APIConfig)\n \"channelId\": 17841443941506797,\n \n // Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)\n \"externalKey\": \"ID_UNICA_DO_SISTEMA_CLIENTE_PARA_EXECUTAR_UMA_ACAO_COM_WEBHOOK\",\n \"userId\": 3,\n \"status\": \"pending\",\n \n // Opcionais: nome do contato (usado ao criar contato se não existir)\n \"name\": \"Nome do Contato\",\n \"firstName\": \"Nome\",\n \"lastName\": \"Sobrenome\",\n // Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado\n \"validateNumber\": true\n \n // \"kanbanId\": 1,\n // \"chatFlowId\": 16,\n // \"queueId\": 1,\n // \"reasonId\": 1,\n // \"value\": 10.25\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createTicket", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createTicket" + ] + } + }, + "response": [] + }, + { + "name": "ListNotes", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listNotes?ticketId=1262", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listNotes" + ], + "query": [ + { + "key": "ticketId", + "value": "1262", + "description": "ID do ticket" + } + ] + } + }, + "response": [] + }, + { + "name": "RemoveTag", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do ticket que terá a tag removida\n \"ticketId\": 4,\n \n // ID da tag que será removida (pode usar tagId ou tagIds)\n \"tagId\": 1,\n \n // OU array de IDs de tags para remover múltiplas tags de uma vez\n // \"tagIds\": [1, 2, 3]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/removeTag", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "removeTag" + ] + } + }, + "response": [] + }, + { + "name": "SendPresence", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do ticket associado\n \"ticketId\": 1262,\n \n // Estado de presence: \"typing\" (digitando), \"paused\" (pausado) ou \"recording\" (gravando)\n \"state\": \"typing\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/sendPresence", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "sendPresence" + ] + } + }, + "response": [] + }, + { + "name": "SetQueue", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do ticket que terá a fila alterada\n \"ticketId\": 4,\n \n // ID da fila que será atribuída ao ticket\n \"queueId\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updatequeue", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updatequeue" + ] + } + }, + "response": [] + }, + { + "name": "SetTag", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do ticket que terá a tag alterada\n \"ticketId\": 4,\n \n // ID da tag que será atribuída ao ticket\n \"tag\": 1\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updatetag", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updatetag" + ] + } + }, + "response": [] + }, + { + "name": "SetTicketInfo", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do ticket que será atualizado\n \"ticketId\": 1262,\n \n // ID do usuário que está fazendo a atualização\n \"userId\": 1,\n \n // Status do ticket (pending, open, closed)\n \"status\": \"pending\",\n \n // ID da fila do ticket (null para remover)\n \"queueId\": null,\n \n // Status de integração com Typebot\n \"typebotStatus\": false,\n \n // Status de integração com ChatGPT\n \"chatgptStatus\": false,\n \n // Status de integração com Dialogflow\n \"dialogflowStatus\": false,\n \n // Status de integração com Dify\n \"difyStatus\": false,\n \n // Status de integração com N8N\n \"n8nStatus\": false,\n \n // ID do fluxo de chat (null para remover)\n \"chatFlowId\": null\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateticketinfo", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateticketinfo" + ] + } + }, + "response": [] + }, + { + "name": "ShowAllMessages", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do ticket que terá as mensagens listadas\n \"ticket\": \"123\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/showAllMessages", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "showAllMessages" + ] + } + }, + "response": [] + }, + { + "name": "ShowAllTicketInformation", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Número do WhatsApp do contato (formato: 5511999999999)\n \"number\": \"5515998566622\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/showallticket", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "showallticket" + ] + } + }, + "response": [] + }, + { + "name": "ShowTicketInformation", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Número do WhatsApp do contato (formato: 5511999999999)\n \"number\": \"5515998566622\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/showticket", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "showticket" + ] + } + }, + "response": [] + }, + { + "name": "ShowTicketInformationChatBot", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Número do WhatsApp do contato (formato: 5511999999999)\n \"number\": \"5515998566622\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/showticketchatbot", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "showticketchatbot" + ] + } + }, + "response": [] + }, + { + "name": "UpdateNote", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID da nota que será atualizada\n \"noteId\": 1,\n \n // Novo conteúdo da nota\n \"notes\": \"Conteúdo atualizado da nota\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateNote", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateNote" + ] + } + }, + "response": [] + }, + { + "name": "UpdateTicketChannel", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do ticket que terá o canal alterado\n \"ticketId\": 1262,\n \n // ID do novo canal (WhatsApp)\n \"whatsappId\": 1,\n \n // Tipo do canal (whatsapp, baileys, waba, etc)\n \"channel\": \"whatsapp\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateTicketChannel", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateTicketChannel" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "🎫 Tickets - Extras", + "item": [ + { + "name": "EndTicketPause", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/ticket/pause/end/{{ticketId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "ticket", + "pause", + "end", + "{{ticketId}}" + ] + } + }, + "response": [] + }, + { + "name": "ListTicketEvaluations", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listTicketEvaluations?page=1&limit=20", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listTicketEvaluations" + ], + "query": [ + { + "key": "page", + "value": "1" + }, + { + "key": "limit", + "value": "20" + } + ] + } + }, + "response": [] + }, + { + "name": "ListTicketPauseLogs", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/ticket/pause/logs/{{ticketId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "ticket", + "pause", + "logs", + "{{ticketId}}" + ] + } + }, + "response": [] + }, + { + "name": "ShowTicketById", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": \"{{ticketId}}\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/showTicketById", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "showTicketById" + ] + } + }, + "response": [] + }, + { + "name": "StartTicketPause", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"pauseReason\": \"Aguardando cliente\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/ticket/pause/start/{{ticketId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "ticket", + "pause", + "start", + "{{ticketId}}" + ] + } + }, + "response": [] + }, + { + "name": "TicketShareCreate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"ticketId\": \"{{ticketId}}\",\n \"inviteUrl\": \"https://app.example.com/shared\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/ticket/share", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "ticket", + "share" + ] + } + }, + "response": [] + }, + { + "name": "TicketShareShow", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/ticket/share/{{ticketId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "ticket", + "share", + "{{ticketId}}" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "✅ To-Do List", + "item": [ + { + "name": "TodoCreate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Ligar para cliente\",\n \"description\": \"Confirmar proposta\",\n \"owner\": \"João\",\n \"ownerId\": \"{{userId}}\",\n \"status\": \"pending\",\n \"priority\": \"high\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/todo/create", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "todo", + "create" + ] + } + }, + "response": [] + }, + { + "name": "TodoDelete", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/todo/delete/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "todo", + "delete", + "{{id}}" + ] + } + }, + "response": [] + }, + { + "name": "TodoList", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/todo/list", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "todo", + "list" + ] + } + }, + "response": [] + }, + { + "name": "TodoLogs", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/todo/logs/{{userId}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "todo", + "logs", + "{{userId}}" + ] + } + }, + "response": [] + }, + { + "name": "TodoUpdate", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"status\": \"finished\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/todo/update/{{id}}", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "todo", + "update", + "{{id}}" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "👥 Usuários", + "item": [ + { + "name": "CreateUser", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // Email do usuário\n \"email\": \"usuario@example.com\",\n \n // Senha do usuário (mínimo 8 caracteres)\n \"password\": \"senha123\",\n \n // Nome completo do usuário\n \"name\": \"Nome do Usuário\",\n \n // Perfil do usuário (admin, user)\n \"profile\": \"user\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/createUser", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "createUser" + ] + } + }, + "response": [] + }, + { + "name": "GetUserStatus", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/getUserStatus?userId=1", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "getUserStatus" + ], + "query": [ + { + "key": "userId", + "value": "1", + "description": "ID do usuário" + } + ] + } + }, + "response": [] + }, + { + "name": "ListUsers", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/listUsers?pageNumber=1", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "listUsers" + ], + "query": [ + { + "key": "pageNumber", + "value": "1", + "description": "Número da página" + }, + { + "key": "searchParam", + "value": "", + "description": "Parâmetro de busca (opcional)", + "disabled": true + } + ] + } + }, + "response": [] + }, + { + "name": "UpdateUser", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{BearerToken}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n // ID do usuário que será atualizado\n \"userId\": 1,\n \n // Nome completo do usuário (opcional)\n \"name\": \"Nome Atualizado\",\n \n // Email do usuário (opcional)\n \"email\": \"novoemail@example.com\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "https://{{BaseUrl}}/v2/api/external/{{ApiID}}/updateUser", + "protocol": "https", + "host": [ + "{{BaseUrl}}" + ], + "path": [ + "v2", + "api", + "external", + "{{ApiID}}", + "updateUser" + ] + } + }, + "response": [] + } + ] + } + ], + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{vault:authorization-secret}}", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "variable": [ + { + "key": "BaseUrl", + "value": "backend_url_here" + }, + { + "key": "BearerToken", + "value": "your_token_here" + }, + { + "key": "SuperAdminToken", + "value": "your_superadmin_token_here" + }, + { + "key": "ApiID", + "value": "your_api_id_here" + } + ] +} \ No newline at end of file diff --git a/docs/superpowers/specs/2026-08-20-orcamento-exames-imagem-design.md b/docs/superpowers/specs/2026-08-20-orcamento-exames-imagem-design.md new file mode 100644 index 0000000..e1bda87 --- /dev/null +++ b/docs/superpowers/specs/2026-08-20-orcamento-exames-imagem-design.md @@ -0,0 +1,172 @@ +# Orçamento automático de exames a partir de foto (GChat/Z-PRO + n8n + IA) + +- **Data:** 2026-08-20 +- **Status:** Aprovado para implementação +- **Instância n8n alvo:** `https://devn8n.gtigrupo.com.br` + +## Objetivo + +Quando um cliente manda, pelo WhatsApp (canal Z-PRO/GChat), uma foto de um pedido +médico de exames, o sistema deve: + +1. Identificar os exames escritos/impressos na imagem. +2. Cruzar esses exames com uma tabela de preços mantida no prompt da IA. +3. Montar um orçamento formatado para WhatsApp (itens + valores + total). +4. Enviar esse orçamento automaticamente de volta ao cliente, via API do Z-PRO. + +Este é um teste ponta-a-ponta: o objetivo imediato é validar o fluxo técnico +completo (recebimento da imagem → IA de visão → resposta automática), usando uma +lista de exames de exemplo. A lista real de exames/valores é trocada depois, +diretamente no prompt do agente. + +## Contexto / descobertas + +- A documentação disponível na pasta do projeto (`Z-PRO v4.x.x.x.postman_collection.json`) + cobre apenas a **API externa de saída** do Z-PRO (criar ticket, enviar mensagem, + listar contatos etc.) — não documenta o formato do webhook de **entrada** que o + Z-PRO dispara quando um cliente manda uma mensagem. +- A conta n8n já tem vários workflows em produção que integram GChat/Z-PRO com + agentes de IA para bots de agendamento (ex.: `Agendamento - GChat - Z-PRO + (clínica exemplo)`, id `yG2mi6ECBpPv4Hmn`). Neles, o Z-PRO chama o webhook do + n8n com um body como: + ```json + { "step": "process", "protocol": "...", "entrada": "texto do cliente", "contactName": "...", "number": "55..." } + ``` + Nenhum desses fluxos existentes trata **imagem** — todos são só texto. Portanto + o nome exato do campo que carrega a foto (`mediaUrl`, `file`, `midia`, etc.) é + **desconhecido até o primeiro teste real** com uma imagem de verdade. +- Existe um sub-workflow reutilizável para envio de texto pelo Z-PRO: + `MCP Server - Mensageria ZPRO - enviar_texto` (id `Y4ndG7GuIUrmVRxV`), que recebe + `{ number, body, externalKey, isClosed }`, monta o corpo e faz `POST` para + `https://apigchat.gtigrupo.com.br/v2/api/external/{apiId}/` usando a credencial + HTTP Header Auth **"ZPRO API Token - Canal QR - MC AGENDAMENTO"**. Este fluxo + novo vai **reaproveitar esse mesmo sub-workflow** para enviar a resposta, em vez + de duplicar a chamada HTTP. +- O node `AI Agent` do n8n (`@n8n/n8n-nodes-langchain.agent`) tem a opção + `passthroughBinaryImages` (padrão `true`), que repassa automaticamente imagens + binárias do item de entrada para o modelo de chat como mensagem de imagem — + não é necessário um node de OCR separado. + +## Decisões (confirmadas com o usuário) + +| Decisão | Escolha | +|---|---| +| Como responder ao cliente | Assíncrono: o workflow processa a imagem e chama a API do Z-PRO (`SendMessageAPIText`, via sub-workflow existente) para enviar a resposta. O webhook de entrada responde rápido (200 OK) e não fica esperando a IA. | +| Envio automático vs. revisão humana | Automático — a IA monta e já envia o orçamento, sem aprovação humana no meio. | +| Lista de exames/valores | Lista de exemplo (placeholder) embutida no prompt do agente para este teste. Lista real é trocada depois, editando o texto do system prompt do node `AI Agent` no n8n. | +| Exame identificado na imagem mas fora da lista de preços | O orçamento traz os itens reconhecidos normalmente (com valor) e avisa, para os não reconhecidos, que um atendente vai confirmar o valor à parte. Nunca bloqueia o envio do orçamento inteiro por causa de um item não reconhecido. | +| Canal/token do Z-PRO usado para enviar a resposta | Reaproveita o canal/credencial já cadastrados no n8n para "Canal QR - MC AGENDAMENTO" (mesmo usado pelo bot de agendamento), via o sub-workflow `enviar_texto` existente. | +| Workflow | Novo workflow dedicado (não mexe no workflow de agendamento existente). | +| Credenciais (IA, Z-PRO) | Configuradas como credenciais nativas do n8n (não hardcoded nos nodes), para poderem ser trocadas depois sem editar o workflow. | + +## Arquitetura + +Novo workflow: **`Orçamento de Exames - GChat - Z-PRO (IA Visão)`** + +``` +Webhook (Z-PRO) + → Responder 200 OK imediatamente (ack rápido, não espera a IA) + → Extrair campos do webhook (número, protocolo/ticket, referência da imagem) + → IF: é mensagem de imagem? + ├─ não → encerra (não faz nada; este fluxo só trata imagem) + └─ sim → Baixar imagem (HTTP Request, binário) + → AI Agent (visão) — system prompt com tabela de exames/valores + + OpenAI Chat Model (gpt-4o, com credencial própria) + → Montar corpo da resposta (body/number/externalKey/isClosed) + → Execute Workflow: "MCP Server - Mensageria ZPRO - enviar_texto" + (erro em qualquer etapa crítica → mensagem padrão de fallback, enviada pelo + mesmo sub-workflow: "Recebemos sua solicitação, nossa equipe vai te + responder em breve.") +``` + +### Componentes + +1. **Webhook (trigger)** — novo path dedicado (ex.: `orcamento-exames-zpro`), + `responseMode: lastNode`, responde rápido com um ack simples. Este endpoint + precisa ser configurado, do lado do Z-PRO, como destino das mensagens do + canal-alvo (mesmo mecanismo já usado para plugar os bots de agendamento — + o usuário já sabe fazer isso). + +2. **Extrair campos do webhook** — node Set/Code que lê `number`, `protocol` + (ou equivalente) e a referência da imagem do `body` recebido. Os nomes de + campo para a imagem são a melhor suposição inicial e **serão corrigidos após + o primeiro teste real** (ver seção "Suposições em aberto"). + +3. **IF é imagem?** — segue adiante só se a mensagem recebida for do tipo + imagem; qualquer outro tipo (texto, áudio, documento) encerra o fluxo sem + ação, já que este workflow trata exclusivamente pedidos de exame por foto. + +4. **Baixar imagem** — HTTP Request que baixa o arquivo da imagem como binário + (assumindo que o Z-PRO entrega uma URL pública de mídia; se o payload real + trouxer a imagem em base64 em vez de URL, este node é trocado por uma + conversão base64 → binário). + +5. **AI Agent + OpenAI Chat Model (gpt-4o)** — recebe a imagem baixada como + binário (repassada automaticamente ao modelo via `passthroughBinaryImages`). + System prompt contém: + - Persona: assistente de orçamentos de exames da clínica, respondendo por + WhatsApp. + - Tabela de exames + valores (placeholder nesta fase). + - Instruções: ler os exames pedidos na imagem (impressos ou manuscritos), + casar com a tabela (tolerando abreviações/sinônimos comuns), montar + resposta formatada para WhatsApp com itens + valores + total: para exames + não encontrados na tabela, listar separadamente avisando que um atendente + vai confirmar o valor. Saída deve ser só o texto final a enviar ao + cliente (sem comentários extras, sem markdown incompatível com WhatsApp). + - Credencial de API key da OpenAI própria deste node (independente da usada + nos bots de agendamento), para poder ser trocada sem afetar outros fluxos. + +6. **Montar corpo da resposta** — Set/Code node que monta + `{ number, body: , externalKey: <único por execução>, + isClosed: false }`. `externalKey` gerado por execução (ex.: + `orcamento-{{ $execution.id }}`) para respeitar a exigência do Z-PRO de + chave única por ação. + +7. **Execute Workflow: enviar_texto** — chama o sub-workflow existente + `MCP Server - Mensageria ZPRO - enviar_texto` (id `Y4ndG7GuIUrmVRxV`), + reaproveitando a credencial e a lógica de classificação de erro já + existentes. + +### Tratamento de erro + +- Falha ao baixar a imagem ou erro na chamada da IA → segue para o mesmo passo + de envio (`enviar_texto`), mas com uma mensagem padrão de fallback em vez do + orçamento, avisando que a equipe vai responder manualmente. +- Falha no próprio envio (API do Z-PRO fora do ar, token inválido etc.) → fica + registrada na execução do n8n (o sub-workflow já classifica o tipo de erro); + não há novo retry automático nesta primeira versão. + +## Suposições em aberto (validar no primeiro teste real) + +- **Nome do campo da imagem no webhook** — assumimos algo como `mediaUrl` (por + analogia com a API de saída do Z-PRO, que usa esse nome para anexar + arquivos). Pode ser diferente; corrigido após ver o payload real de uma + mensagem de imagem. +- **Formato da mídia** — assumimos URL pública, não base64 inline. Se for + base64, o node "Baixar imagem" é substituído por uma conversão local. +- **Mecanismo de entrega do webhook para imagens** — os exemplos existentes + nessa conta só cobrem texto (via um passo "Webhook" dentro de um ChatFlow do + Z-PRO). Se imagens não passarem pelo mesmo tipo de passo, pode ser necessário + configurar algo diferente no painel do Z-PRO — isso será resolvido junto com + o usuário durante o teste. + +## Plano de teste + +1. Criar o workflow no n8n (inativo) e obter a URL de teste do webhook. +2. Usuário configura essa URL como destino de mensagens do canal-alvo no + painel do Z-PRO. +3. Usuário envia uma foto real de pedido de exames para o número de teste. +4. Inspecionar a execução no n8n para confirmar o payload real recebido e + ajustar o node "Extrair campos do webhook" (e "Baixar imagem", se + necessário). +5. Validar que a resposta com o orçamento (lista de exemplo) chega + corretamente no WhatsApp do cliente de teste. +6. Trocar a lista de exemplo pela lista real de exames/valores no prompt do + `AI Agent`. + +## Fora de escopo (por enquanto) + +- Fila/aprovação humana antes do envio (usuário optou por envio automático). +- Fonte de preços fora do prompt (planilha/banco) — pode ser considerado no + futuro se a lista crescer muito, mas não faz parte deste teste. +- Retry automático em caso de falha de envio.