{
	"info": {
		"_postman_id": "d0450001-003e-4d6f-a1df-f51d182f105f",
		"name": "Atys WhatsApp API",
		"description": "Coleção oficial de endpoints da API WhatsApp da Atys. Permite gerenciar conexões, contatos, grupos e enviar mensagens.",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"name": "1) Listar WhatsApps",
			"request": {
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text",
						"description": "Token de autenticação"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text",
						"description": "Tipo de resposta esperada"
					}
				],
				"url": {
					"raw": "{{base_url}}/api/whatsapps?filter=suporte&logged=true&perPage=20",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"whatsapps"
					],
					"query": [
						{
							"key": "filter",
							"value": "",
							"description": "Filtrar por nome da conexão"
						},
						{
							"key": "logged",
							"value": "true",
							"description": "Filtrar por status de conexão (true/false)"
						},
						{
							"key": "perPage",
							"value": "20",
							"description": "Itens por página"
						}
					]
				},
				"description": "Retorna uma lista paginada das conexões de WhatsApp vinculadas à empresa."
			},
			"response": []
		},
		{
			"name": "2) Gerar QR Code",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"id\": 123,\n    \"key\": \"5511999999999\",\n    \"os\": \"Linux\",\n    \"browser\": \"Chrome\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/whatsapp-qrcode",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"whatsapp-qrcode"
					]
				},
				"description": "Gera um QR Code (base64) para iniciar uma sessão no WhatsApp. Use id ou key (pelo menos um obrigatório). O campo 'key' é o número de WhatsApp (ex: 5511999999999)."
			},
			"response": []
		},
		{
			"name": "3) Criar Conexão WhatsApp",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"name\": \"WhatsApp Suporte\",\n    \"key\": \"5511999999999\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/whatsapp-create",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"whatsapp-create"
					]
				},
				"description": "Cria uma nova conexão de WhatsApp na plataforma."
			},
			"response": []
		},
		{
			"name": "4) Atualizar Conexão WhatsApp",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"id\": 123,\n    \"key\": \"5511999999999\",\n    \"name\": \"WhatsApp Vendas\",\n    \"new_key\": \"5511888888888\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/whatsapp-update",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"whatsapp-update"
					]
				},
				"description": "Atualiza os dados de uma conexão existente. Use id ou key (pelo menos um obrigatório). O campo 'key' é o número de WhatsApp (ex: 5511999999999). Para trocar o número, envie também new_key."
			},
			"response": []
		},
		{
			"name": "5) Deletar Conexão WhatsApp",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"id\": 123,\n    \"key\": \"5511999999999\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/whatsapp-delete",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"whatsapp-delete"
					]
				},
				"description": "Remove uma conexão WhatsApp da plataforma. Use id ou key (pelo menos um obrigatório). O campo 'key' é o número de WhatsApp (ex: 5511999999999)."
			},
			"response": []
		},
		{
			"name": "6) Logout do WhatsApp",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"id\": 123,\n    \"key\": \"5511999999999\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/whatsapp-logout",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"whatsapp-logout"
					]
				},
				"description": "Encerra a sessão ativa do WhatsApp (desconecta o aparelho). Use id ou key (pelo menos um obrigatório). O campo 'key' é o número de WhatsApp (ex: 5511999999999)."
			},
			"response": []
		},
		{
			"name": "7) Obter Lista de Contatos",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"id\": 123,\n    \"key\": \"5511999999999\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/whatsapp-contact-list",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"whatsapp-contact-list"
					]
				},
				"description": "Recupera a lista de contatos do dispositivo conectado. Use id ou key (pelo menos um obrigatório). O campo 'key' é o número de WhatsApp (ex: 5511999999999)."
			},
			"response": []
		},
		{
			"name": "8) Obter Lista de Grupos",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"id\": 123,\n    \"key\": \"5511999999999\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/whatsapp-group-list",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"whatsapp-group-list"
					]
				},
				"description": "Recupera a lista de grupos do dispositivo conectado. Use id ou key (pelo menos um obrigatório). O campo 'key' é o número de WhatsApp (ex: 5511999999999)."
			},
			"response": []
		},
		{
			"name": "9) Verificar Números no WhatsApp",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"id\": 123,\n    \"key\": \"5511999999999\",\n    \"numbers\": [\n        \"5511999999999\",\n        \"5511988888888\"\n    ]\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/whatsapp-check-on-whatsapp",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"whatsapp-check-on-whatsapp"
					]
				},
				"description": "Verifica se uma lista de números possui WhatsApp ativo. Use id ou key (pelo menos um obrigatório). O campo 'key' é o número de WhatsApp (ex: 5511999999999)."
			},
			"response": []
		},
		{
			"name": "10) Enviar Mensagem via WhatsApp",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"platform\": \"whatsapp\",\n    \"sender_key\": \"5511999999999\",\n    \"contact_key\": \"5511988888888\",\n    \"contact_is_group\": false,\n    \"enqueue\": true,\n    \"text\": \"Olá! Como posso ajudar?\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/api-send-message",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"api-send-message"
					]
				},
				"description": "Envia mensagens de texto ou arquivos via WhatsApp. Para arquivos, envie multipart/form-data com o campo file."
			},
			"response": []
		},
		{
			"name": "11) Editar Mensagem",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"id\": 12345,\n    \"text\": \"Texto corrigido da mensagem\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/edit-message",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"edit-message"
					]
				},
				"description": "Edita o texto de uma mensagem já enviada (id interno + novo text). Requer mensagem com external_id. Canais: WhatsApp, WhatsApp Oficial, Minichat."
			},
			"response": []
		},
		{
			"name": "12) Revogar / Eliminar Mensagem",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"ids\": [\n        12345,\n        12346\n    ],\n    \"scope\": \"all\",\n    \"remove_media\": false\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/api/revoke-messages",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"revoke-messages"
					]
				},
				"description": "Revoga/elimina mensagens. scope='me' remove apenas para mim (só no Atys); scope='all' revoga para todos (WhatsApp/WhatsApp Oficial). remove_media remove também a mídia."
			},
			"response": []
		},
		{
			"name": "13) Listar Contact Channels",
			"request": {
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{token}}",
						"type": "text"
					},
					{
						"key": "Accept",
						"value": "application/json",
						"type": "text"
					}
				],
				"url": {
					"raw": "{{base_url}}/api/contact-channels?with=[\"contact\",\"tags\",\"sector\",\"user\"]&perPage=20&orderBy=last_message_at&orderMode=DESC&channel_type_id=2&sector_id=3",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"api",
						"contact-channels"
					],
					"query": [
						{
							"key": "with",
							"value": "[\"contact\",\"tags\",\"sector\",\"user\"]",
							"description": "Relações a incluir (JSON array). Use 'contact' para trazer o contato."
						},
						{
							"key": "perPage",
							"value": "20",
							"description": "Itens por página (padrão 20)"
						},
						{
							"key": "orderBy",
							"value": "last_message_at",
							"description": "Campo de ordenação (padrão id)"
						},
						{
							"key": "orderMode",
							"value": "DESC",
							"description": "ASC ou DESC (padrão desc)"
						},
						{
							"key": "channel_type_id",
							"value": "2",
							"description": "1=Minichat,2=WhatsApp,3=WhatsApp Oficial,4=Instagram,5=Messenger,6=Telegram"
						},
						{
							"key": "sector_id",
							"value": "3",
							"description": "Filtrar por setor"
						},
						{
							"key": "status_ids",
							"value": "",
							"description": "(opcional) array JSON de status",
							"disabled": true
						},
						{
							"key": "tags_ids",
							"value": "",
							"description": "(opcional) JSON: {contactTags,ticketTags,crmBusinessTags}",
							"disabled": true
						},
						{
							"key": "user_id",
							"value": "",
							"description": "(opcional) filtrar por atendente",
							"disabled": true
						},
						{
							"key": "contact_channel_origin_id",
							"value": "",
							"description": "(opcional) filtrar por origem",
							"disabled": true
						},
						{
							"key": "created_at",
							"value": "",
							"description": "(opcional) intervalo JSON [início,fim]",
							"disabled": true
						}
					]
				},
				"description": "Lista conversas (contact channels) com paginação, ordenação e filtros (etiqueta, setor, status, canal, canal oficial, atendente, origem, datas). Inclui o contact via parâmetro with."
			},
			"response": []
		}
	],
	"variable": [
		{
			"key": "base_url",
			"value": "https://api.atys.pro",
			"type": "string"
		},
		{
			"key": "token",
			"value": "SEU_ACCESS_TOKEN",
			"type": "string"
		}
	]
}
