{
  "info": {
    "name": "Notifique API v1",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "API do Gestor Notifique e da ativação de apps. Uma chave pn_ por integração: idfire e authkey nunca saem do servidor. Clientes e servidores de outro vendedor não são alcançados (404). Todo erro vem com \"sucesso\": false e a mensagem em \"erro\". Exemplos de resposta capturados do ambiente real, com dados mascarados."
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://apiv1.notifique.net/v1"
    },
    {
      "key": "apiKey",
      "value": "pn_COLE_SUA_CHAVE_AQUI"
    },
    {
      "key": "idCliente",
      "value": "12345"
    },
    {
      "key": "idServidor",
      "value": "114"
    }
  ],
  "item": [
    {
      "name": "Servidores",
      "description": "Servidores (painéis IPTV) do vendedor.",
      "item": [
        {
          "name": "Listar servidores",
          "request": {
            "method": "GET",
            "description": "Lista os servidores do vendedor da chave, com o id usado nas outras rotas. Login e senha do painel IPTV nunca são devolvidos.",
            "url": "{{baseUrl}}/servidores",
            "header": []
          },
          "response": [
            {
              "name": "200 - sucesso",
              "originalRequest": {
                "method": "GET",
                "description": "Lista os servidores do vendedor da chave, com o id usado nas outras rotas. Login e senha do painel IPTV nunca são devolvidos.",
                "url": "{{baseUrl}}/servidores",
                "header": []
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": true,\n  \"servidores\": [\n    {\n      \"id\": 204,\n      \"nome\": \"S*** M***\",\n      \"tipo\": \"outros\",\n      \"dns\": \"https://XXXXXX\",\n      \"dns2\": \"https://XXXXXX\",\n      \"renovacao_automatica\": false,\n      \"valores\": {\n        \"mensal\": 35,\n        \"bimestral\": 70,\n        \"trimestral\": 90,\n        \"semestral\": 150,\n        \"anual\": 300\n      }\n    },\n    {\n      \"id\": 568,\n      \"nome\": \"F***\",\n      \"tipo\": \"painel Foda\",\n      \"dns\": \"https://XXXXXX\",\n      \"dns2\": \"https://XXXXXX\",\n      \"renovacao_automatica\": true,\n      \"valores\": {\n        \"mensal\": 35,\n        \"bimestral\": 70,\n        \"trimestral\": 90,\n        \"semestral\": 140,\n        \"anual\": 200\n      }\n    }\n  ]\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Clientes",
      "description": "Clientes do gestor: busca, teste, edição, renovação, sincronização, subclientes e exclusão.",
      "item": [
        {
          "name": "Buscar cliente",
          "request": {
            "method": "GET",
            "description": "Busca pelo WhatsApp ou pelo idBanco. Só encontra clientes do vendedor da chave. Sem cadastro: 200 com \"cliente\": false.",
            "url": "{{baseUrl}}/clientes?whats=5511999990000",
            "header": []
          },
          "response": [
            {
              "name": "200 - sucesso por whats",
              "originalRequest": {
                "method": "GET",
                "description": "Busca pelo WhatsApp ou pelo idBanco. Só encontra clientes do vendedor da chave. Sem cadastro: 200 com \"cliente\": false.",
                "url": "{{baseUrl}}/clientes?whats=5511999990000",
                "header": []
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": true,\n  \"mensagem\": \"edit\",\n  \"cliente\": true,\n  \"link_pagamento\": \"https://pagzap.online/XXXXXX\",\n  \"idBanco\": 584106,\n  \"data\": \"05/11/2026\",\n  \"enviou\": false,\n  \"whats\": \"(11************\",\n  \"idFire\": \"f0i*************************\",\n  \"userid\": \"135****\",\n  \"nome\": \"T*** D***\",\n  \"instancia\": \"HJV*****\",\n  \"vencimento\": \"07/11/2026\",\n  \"login\": \"712*******\",\n  \"vendedor\": \"ftv***\",\n  \"arquivado\": false,\n  \"userTeste\": true,\n  \"linkPagamento\": \"https://pagzap.online/XXXXXX\",\n  \"valorPadrao\": false,\n  \"mensal\": \"0\",\n  \"bimestral\": \"0\",\n  \"trimestral\": \"0\",\n  \"semestral\": \"0\",\n  \"anual\": \"0\",\n  \"dataEnvio\": null,\n  \"whatsBR\": true,\n  \"cron1\": false,\n  \"cron2\": false,\n  \"cron3\": true,\n  \"cron5\": true,\n  \"alert1\": false,\n  \"alert2\": true,\n  \"alert15\": false,\n  \"alert30\": false,\n  \"senha\": \"304*******\",\n  \"idSigma\": null,\n  \"idServidor\": 114,\n  \"nota\": \"Teste Auto - Gestor\",\n  \"cronVencimento\": false,\n  \"ativo\": true,\n  \"email\": null,\n  \"cobrarEmail\": false\n}"
            },
            {
              "name": "200 - sucesso por id",
              "originalRequest": {
                "method": "GET",
                "description": "Busca pelo WhatsApp ou pelo idBanco. Só encontra clientes do vendedor da chave. Sem cadastro: 200 com \"cliente\": false.",
                "url": "{{baseUrl}}/clientes?whats=5511999990000",
                "header": []
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": true,\n  \"mensagem\": \"edit\",\n  \"cliente\": true,\n  \"link_pagamento\": \"https://pagzap.online/XXXXXX\",\n  \"idBanco\": 584106,\n  \"data\": \"05/11/2026\",\n  \"enviou\": false,\n  \"whats\": \"(11************\",\n  \"idFire\": \"f0i*************************\",\n  \"userid\": \"135****\",\n  \"nome\": \"T*** D***\",\n  \"instancia\": \"HJV*****\",\n  \"vencimento\": \"07/11/2026\",\n  \"login\": \"712*******\",\n  \"vendedor\": \"ftv***\",\n  \"arquivado\": false,\n  \"userTeste\": true,\n  \"linkPagamento\": \"https://pagzap.online/XXXXXX\",\n  \"valorPadrao\": false,\n  \"mensal\": \"0\",\n  \"bimestral\": \"0\",\n  \"trimestral\": \"0\",\n  \"semestral\": \"0\",\n  \"anual\": \"0\",\n  \"dataEnvio\": null,\n  \"whatsBR\": true,\n  \"cron1\": false,\n  \"cron2\": false,\n  \"cron3\": true,\n  \"cron5\": true,\n  \"alert1\": false,\n  \"alert2\": true,\n  \"alert15\": false,\n  \"alert30\": false,\n  \"senha\": \"304*******\",\n  \"idSigma\": null,\n  \"idServidor\": 114,\n  \"nota\": \"Teste Auto - Gestor\",\n  \"cronVencimento\": false,\n  \"ativo\": true,\n  \"email\": null,\n  \"cobrarEmail\": false,\n  \"subClients\": []\n}"
            },
            {
              "name": "200 - whats sem cadastro",
              "originalRequest": {
                "method": "GET",
                "description": "Busca pelo WhatsApp ou pelo idBanco. Só encontra clientes do vendedor da chave. Sem cadastro: 200 com \"cliente\": false.",
                "url": "{{baseUrl}}/clientes?whats=5511999990000",
                "header": []
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": true,\n  \"cliente\": false,\n  \"mensagem\": \"Whatsapp sem cadastro.\"\n}"
            },
            {
              "name": "400 - sem parâmetro",
              "originalRequest": {
                "method": "GET",
                "description": "Busca pelo WhatsApp ou pelo idBanco. Só encontra clientes do vendedor da chave. Sem cadastro: 200 com \"cliente\": false.",
                "url": "{{baseUrl}}/clientes?whats=5511999990000",
                "header": []
              },
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Informe whats (DDI+DDD+número) ou id (idBanco).\"\n}"
            }
          ]
        },
        {
          "name": "Criar teste automático",
          "request": {
            "method": "POST",
            "description": "Cria o cliente de teste no painel IPTV e no gestor. Com valorPadrao=false, informe os valores avulsos; com datasPadrao=false, as datas de aviso.",
            "url": "{{baseUrl}}/clientes/teste",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"whatsCliente\": \"5511977149078\",\n  \"nomeCliente\": \"Teste Documentacao\",\n  \"idServidor\": 114,\n  \"valorPadrao\": true,\n  \"datasPadrao\": true\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 - sucesso",
              "originalRequest": {
                "method": "POST",
                "description": "Cria o cliente de teste no painel IPTV e no gestor. Com valorPadrao=false, informe os valores avulsos; com datasPadrao=false, as datas de aviso.",
                "url": "{{baseUrl}}/clientes/teste",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"whatsCliente\": \"5511977149078\",\n  \"nomeCliente\": \"Teste Documentacao\",\n  \"idServidor\": 114,\n  \"valorPadrao\": true,\n  \"datasPadrao\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"id_banco\": 584106,\n  \"data\": \"05/11/2026\",\n  \"enviou\": false,\n  \"whats\": \"(11************\",\n  \"idfire\": \"f0i*************************\",\n  \"userid\": \"135****\",\n  \"nome\": \"T*** D***\",\n  \"instancia\": \"HJV*****\",\n  \"vencimento\": \"07/11/2026\",\n  \"mensagem\": \"Sucesso ao gerar teste.\",\n  \"login\": \"712*******\",\n  \"vendedor\": \"ftv***\",\n  \"arquivado\": false,\n  \"user_teste\": true,\n  \"link_pagamento\": \"https://pagzap.online/XXXXXX\",\n  \"valor_padrao\": false,\n  \"mensal\": \"0\",\n  \"bimestral\": \"0\",\n  \"trimestral\": \"0\",\n  \"semestral\": \"0\",\n  \"anual\": \"0\",\n  \"data_envio\": null,\n  \"whats_br\": true,\n  \"cron1\": false,\n  \"cron2\": false,\n  \"cron3\": true,\n  \"cron5\": true,\n  \"alert1\": false,\n  \"alert2\": true,\n  \"alert15\": false,\n  \"alert30\": false,\n  \"senha\": \"304*******\",\n  \"id_sigma\": null,\n  \"idServidor\": 114,\n  \"nota\": \"Teste Auto - Gestor\",\n  \"cronVencimento\": false,\n  \"ativo\": true,\n  \"horaenvio\": \"08:00\",\n  \"email\": null,\n  \"cobrarEmail\": false,\n  \"sucesso\": true\n}"
            },
            {
              "name": "400 - sem whatsCliente",
              "originalRequest": {
                "method": "POST",
                "description": "Cria o cliente de teste no painel IPTV e no gestor. Com valorPadrao=false, informe os valores avulsos; com datasPadrao=false, as datas de aviso.",
                "url": "{{baseUrl}}/clientes/teste",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"whatsCliente\": \"5511977149078\",\n  \"nomeCliente\": \"Teste Documentacao\",\n  \"idServidor\": 114,\n  \"valorPadrao\": true,\n  \"datasPadrao\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"whatsCliente é obrigatório.\"\n}"
            },
            {
              "name": "404 - servidor de outro vendedor",
              "originalRequest": {
                "method": "POST",
                "description": "Cria o cliente de teste no painel IPTV e no gestor. Com valorPadrao=false, informe os valores avulsos; com datasPadrao=false, as datas de aviso.",
                "url": "{{baseUrl}}/clientes/teste",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"whatsCliente\": \"5511977149078\",\n  \"nomeCliente\": \"Teste Documentacao\",\n  \"idServidor\": 114,\n  \"valorPadrao\": true,\n  \"datasPadrao\": true\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Servidor não encontrado para esta chave.\"\n}"
            }
          ]
        },
        {
          "name": "Atualizar cliente",
          "request": {
            "method": "PATCH",
            "description": "Ligue as flags editar_* do que quiser mudar e mande os valores em informacoes. sincronizar=true sincroniza com o painel depois.",
            "url": "{{baseUrl}}/clientes/{{idCliente}}",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"editar_nota\": true,\n  \"informacoes\": {\n    \"nota\": \"editado pela API\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 - sucesso",
              "originalRequest": {
                "method": "PATCH",
                "description": "Ligue as flags editar_* do que quiser mudar e mande os valores em informacoes. sincronizar=true sincroniza com o painel depois.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"editar_nota\": true,\n  \"informacoes\": {\n    \"nota\": \"editado pela API\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"idBanco\": 584106,\n  \"data\": \"05/11/2026\",\n  \"enviou\": false,\n  \"whats\": \"(11************\",\n  \"idFire\": \"f0i*************************\",\n  \"userid\": \"135****\",\n  \"nome\": \"T*** D***\",\n  \"instancia\": \"HJV*****\",\n  \"vencimento\": \"07/11/2026\",\n  \"mensagem\": \"edit\",\n  \"login\": \"712*******\",\n  \"vendedor\": \"ftv***\",\n  \"arquivado\": false,\n  \"userTeste\": true,\n  \"linkPagamento\": \"https://pagzap.online/XXXXXX\",\n  \"valorPadrao\": false,\n  \"mensal\": \"0\",\n  \"bimestral\": \"0\",\n  \"trimestral\": \"0\",\n  \"semestral\": \"0\",\n  \"anual\": \"0\",\n  \"dataEnvio\": null,\n  \"whatsBR\": true,\n  \"cron1\": false,\n  \"cron2\": false,\n  \"cron3\": true,\n  \"cron5\": true,\n  \"alert1\": false,\n  \"alert2\": true,\n  \"alert15\": false,\n  \"alert30\": false,\n  \"senha\": \"304*******\",\n  \"idSigma\": null,\n  \"idServidor\": 114,\n  \"nota\": \"editado pela API\",\n  \"cronVencimento\": false,\n  \"ativo\": true,\n  \"email\": null,\n  \"cobrarEmail\": false,\n  \"sucesso\": true,\n  \"resposta\": \"cliente atualizado com sucesso.\"\n}"
            },
            {
              "name": "400 - nada para atualizar",
              "originalRequest": {
                "method": "PATCH",
                "description": "Ligue as flags editar_* do que quiser mudar e mande os valores em informacoes. sincronizar=true sincroniza com o painel depois.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"editar_nota\": true,\n  \"informacoes\": {\n    \"nota\": \"editado pela API\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Nada para atualizar. Veja os campos editar_* e informacoes.\"\n}"
            },
            {
              "name": "404 - cliente de outro vendedor",
              "originalRequest": {
                "method": "PATCH",
                "description": "Ligue as flags editar_* do que quiser mudar e mande os valores em informacoes. sincronizar=true sincroniza com o painel depois.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"editar_nota\": true,\n  \"informacoes\": {\n    \"nota\": \"editado pela API\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Cliente não encontrado para esta chave.\"\n}"
            }
          ]
        },
        {
          "name": "Renovar no painel",
          "request": {
            "method": "POST",
            "description": "Renova no painel IPTV do servidor do cliente, como o botão Renovar do gestor. CONSOME CRÉDITO DO PAINEL. O tipo do painel e o servidor são descobertos pela API.",
            "url": "{{baseUrl}}/clientes/{{idCliente}}/renovar",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"meses\": 1,\n  \"valor_pago\": 30,\n  \"telas\": 0\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "400 - meses inválido",
              "originalRequest": {
                "method": "POST",
                "description": "Renova no painel IPTV do servidor do cliente, como o botão Renovar do gestor. CONSOME CRÉDITO DO PAINEL. O tipo do painel e o servidor são descobertos pela API.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/renovar",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"meses\": 1,\n  \"valor_pago\": 30,\n  \"telas\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"meses deve ser um destes: 1, 2, 3, 6, 12.\"\n}"
            },
            {
              "name": "400 - valor_pago inválido",
              "originalRequest": {
                "method": "POST",
                "description": "Renova no painel IPTV do servidor do cliente, como o botão Renovar do gestor. CONSOME CRÉDITO DO PAINEL. O tipo do painel e o servidor são descobertos pela API.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/renovar",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"meses\": 1,\n  \"valor_pago\": 30,\n  \"telas\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"valor_pago inválido.\"\n}"
            },
            {
              "name": "404 - cliente de outro vendedor",
              "originalRequest": {
                "method": "POST",
                "description": "Renova no painel IPTV do servidor do cliente, como o botão Renovar do gestor. CONSOME CRÉDITO DO PAINEL. O tipo do painel e o servidor são descobertos pela API.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/renovar",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"meses\": 1,\n  \"valor_pago\": 30,\n  \"telas\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Cliente não encontrado para esta chave.\"\n}"
            }
          ]
        },
        {
          "name": "Sincronizar com o painel",
          "request": {
            "method": "POST",
            "description": "Puxa do painel IPTV os dados atuais do cliente (vencimento, login, telas) e atualiza o gestor. Sem corpo.",
            "url": "{{baseUrl}}/clientes/{{idCliente}}/sincronizar",
            "header": []
          },
          "response": [
            {
              "name": "200 - sucesso",
              "originalRequest": {
                "method": "POST",
                "description": "Puxa do painel IPTV os dados atuais do cliente (vencimento, login, telas) e atualiza o gestor. Sem corpo.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/sincronizar",
                "header": []
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"resposta\": \"ok\"\n}"
            },
            {
              "name": "404 - cliente de outro vendedor",
              "originalRequest": {
                "method": "POST",
                "description": "Puxa do painel IPTV os dados atuais do cliente (vencimento, login, telas) e atualiza o gestor. Sem corpo.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/sincronizar",
                "header": []
              },
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Cliente não encontrado para esta chave.\"\n}"
            }
          ]
        },
        {
          "name": "Adicionar subcliente",
          "request": {
            "method": "POST",
            "description": "Importa a conta do painel pelo login e liga ao cliente {id}. Sem servidor_id usa o servidor do cliente pai.",
            "url": "{{baseUrl}}/clientes/{{idCliente}}/subclientes",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"login\": \"712*******\",\n  \"nota\": \"TV do quarto\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 - sucesso",
              "originalRequest": {
                "method": "POST",
                "description": "Importa a conta do painel pelo login e liga ao cliente {id}. Sem servidor_id usa o servidor do cliente pai.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/subclientes",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"login\": \"712*******\",\n  \"nota\": \"TV do quarto\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"resposta\": \"ok\"\n}"
            },
            {
              "name": "400 - sem login",
              "originalRequest": {
                "method": "POST",
                "description": "Importa a conta do painel pelo login e liga ao cliente {id}. Sem servidor_id usa o servidor do cliente pai.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/subclientes",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"login\": \"712*******\",\n  \"nota\": \"TV do quarto\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"login é obrigatório (o usuário da conta no painel IPTV).\"\n}"
            },
            {
              "name": "404 - login não existe no painel",
              "originalRequest": {
                "method": "POST",
                "description": "Importa a conta do painel pelo login e liga ao cliente {id}. Sem servidor_id usa o servidor do cliente pai.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/subclientes",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"login\": \"712*******\",\n  \"nota\": \"TV do quarto\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Conta não encontrada no painel com esse login.\"\n}"
            },
            {
              "name": "404 - servidor de outro vendedor",
              "originalRequest": {
                "method": "POST",
                "description": "Importa a conta do painel pelo login e liga ao cliente {id}. Sem servidor_id usa o servidor do cliente pai.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/subclientes",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"login\": \"712*******\",\n  \"nota\": \"TV do quarto\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Servidor não encontrado para esta chave.\"\n}"
            }
          ]
        },
        {
          "name": "Deletar cliente",
          "request": {
            "method": "DELETE",
            "description": "Remove o cliente do gestor. Não pode ser desfeito: exige ?confirmar=true.",
            "url": "{{baseUrl}}/clientes/{{idCliente}}?confirmar=true",
            "header": []
          },
          "response": [
            {
              "name": "400 - sem confirmar",
              "originalRequest": {
                "method": "DELETE",
                "description": "Remove o cliente do gestor. Não pode ser desfeito: exige ?confirmar=true.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}?confirmar=true",
                "header": []
              },
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Para deletar, envie ?confirmar=true. A exclusão não pode ser desfeita.\"\n}"
            },
            {
              "name": "404 - cliente de outro vendedor",
              "originalRequest": {
                "method": "DELETE",
                "description": "Remove o cliente do gestor. Não pode ser desfeito: exige ?confirmar=true.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}?confirmar=true",
                "header": []
              },
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Cliente não encontrado para esta chave.\"\n}"
            },
            {
              "name": "200 - sucesso",
              "originalRequest": {
                "method": "DELETE",
                "description": "Remove o cliente do gestor. Não pode ser desfeito: exige ?confirmar=true.",
                "url": "{{baseUrl}}/clientes/{{idCliente}}?confirmar=true",
                "header": []
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"message\": \"ok\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Pacotes por tela",
      "description": "Valores por quantidade de telas (1 a 4). Disponível nos servidores The Best e PlayFast.",
      "item": [
        {
          "name": "Pacotes do servidor",
          "request": {
            "method": "PUT",
            "description": "Valores por quantidade de telas do servidor (The Best ou PlayFast).",
            "url": "{{baseUrl}}/servidores/{{idServidor}}/pacotes",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "404 - servidor de outro vendedor",
              "originalRequest": {
                "method": "PUT",
                "description": "Valores por quantidade de telas do servidor (The Best ou PlayFast).",
                "url": "{{baseUrl}}/servidores/{{idServidor}}/pacotes",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Servidor não encontrado para esta chave.\"\n}"
            }
          ]
        },
        {
          "name": "Pacotes do cliente",
          "request": {
            "method": "PUT",
            "description": "Valores por quantidade de telas só para este cliente (servidor The Best ou PlayFast).",
            "url": "{{baseUrl}}/clientes/{{idCliente}}/pacotes",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "404 - cliente de outro vendedor",
              "originalRequest": {
                "method": "PUT",
                "description": "Valores por quantidade de telas só para este cliente (servidor The Best ou PlayFast).",
                "url": "{{baseUrl}}/clientes/{{idCliente}}/pacotes",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"sucesso\": false,\n  \"erro\": \"Cliente não encontrado para esta chave.\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Ativação de apps",
      "description": "Ativação de apps por MAC (já existente).",
      "item": [
        {
          "name": "Apps disponíveis",
          "request": {
            "method": "GET",
            "description": "Apps disponíveis para o vendedor, com o idapp usado na ativação.",
            "url": "{{baseUrl}}/apps",
            "header": []
          },
          "response": []
        },
        {
          "name": "Carteira",
          "request": {
            "method": "GET",
            "description": "Créditos, ativados e com erro.",
            "url": "{{baseUrl}}/carteira",
            "header": []
          },
          "response": []
        },
        {
          "name": "Listar MACs",
          "request": {
            "method": "GET",
            "description": "Lista de MACs ativados; busca filtra por fragmento do MAC (até 50 por página).",
            "url": "{{baseUrl}}/macs?pg=1",
            "header": []
          },
          "response": []
        },
        {
          "name": "Ativar app",
          "request": {
            "method": "POST",
            "description": "Solicita a ativação de um app para um MAC. mac aceita com ou sem separador; appkey é a chave de ativação do app.",
            "url": "{{baseUrl}}/ativacoes",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"idapp\": \"ID_DO_APP\",\n  \"mac\": \"AA:BB:CC:DD:EE:FF\",\n  \"appkey\": \"123456\",\n  \"whatsapp\": \"5511999990000\",\n  \"notificar\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Reenviar ativação",
          "request": {
            "method": "POST",
            "description": "Reenvia uma ativação que ficou com erro (idpag vem de GET /macs?erro=true).",
            "url": "{{baseUrl}}/ativacoes/IDPAG/reenviar",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mac\": \"AA:BB:CC:DD:EE:FF\",\n  \"appkey\": \"123456\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    }
  ]
}