{
  "info": {
    "name": "Shortcode API — Completa",
    "description": "SMS, RCS, Voz, WABA e Links. Configure bearer_token antes de usar.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "base_url", "value": "https://api.shortcode.com.br" },
    { "key": "bearer_token", "value": "SEU_TOKEN_AQUI" },
    { "key": "agente_id", "value": "7" },
    { "key": "webhook_id", "value": "" },
    { "key": "webhook_url", "value": "https://meucrm.com/webhooks/shortcode" }
  ],
  "item": [
    {
      "name": "Conta",
      "item": [
        {
          "name": "Consultar saldo (GET /account/balance)",
          "request": {
            "method": "GET",
            "header": [{ "key": "Authorization", "value": "Bearer {{bearer_token}}" }],
            "url": "{{base_url}}/account/balance"
          }
        }
      ]
    },
    {
      "name": "SMS",
      "item": [
        {
          "name": "Enviar SMS (POST /messages)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"external_id\": \"001\",\n    \"number\": \"41999999999\",\n    \"message\": \"Olá! Teste SMS\"\n  }\n]"
            },
            "url": "{{base_url}}/messages"
          }
        },
        {
          "name": "Listar blacklist (GET /blacklist)",
          "request": {
            "method": "GET",
            "header": [{ "key": "Authorization", "value": "Bearer {{bearer_token}}" }],
            "url": "{{base_url}}/blacklist"
          }
        },
        {
          "name": "Inserir blacklist (POST /blacklist)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  { \"telefone\": \"41999999999\", \"motivo\": \"Opt-out API\" }\n]"
            },
            "url": "{{base_url}}/blacklist"
          }
        },
        {
          "name": "Remover blacklist (DELETE /blacklist)",
          "request": {
            "method": "DELETE",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  { \"telefone\": \"41999999999\" }\n]"
            },
            "url": "{{base_url}}/blacklist"
          }
        }
      ]
    },
    {
      "name": "RCS",
      "item": [
        {
          "name": "Enviar RCS (POST /rcs/messages)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"external_id\": \"rcs_001\",\n    \"numero\": \"5511999999999\",\n    \"agente_id\": {{agente_id}},\n    \"tipo\": \"text\",\n    \"mensagem\": \"Olá! Teste RCS\",\n    \"fallback_sms\": \"Olá! Teste RCS\"\n  }\n]"
            },
            "url": "{{base_url}}/rcs/messages"
          }
        },
        {
          "name": "Enviar RCS template com variáveis (POST /rcs/messages)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"external_id\": \"rcs_tpl_001\",\n    \"numero\": \"5511999999999\",\n    \"agente_id\": {{agente_id}},\n    \"tipo\": \"template\",\n    \"template_id\": 12,\n    \"par1\": \"João\",\n    \"par2\": \"pedido 458\",\n    \"fallback_sms\": \"Olá João, pedido 458\"\n  }\n]"
            },
            "url": "{{base_url}}/rcs/messages"
          }
        },
        {
          "name": "Listar templates (GET /rcs/templates)",
          "request": {
            "method": "GET",
            "header": [{ "key": "Authorization", "value": "Bearer {{bearer_token}}" }],
            "url": "{{base_url}}/rcs/templates"
          }
        },
        {
          "name": "Criar template (POST /rcs/templates)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"nome\": \"Boas-vindas\",\n  \"tipo\": \"text\",\n  \"mensagem\": \"Olá $par1$, seu pedido $par2$ foi confirmado.\",\n  \"fallback_sms\": \"Olá $par1$, pedido $par2$ confirmado.\"\n}"
            },
            "url": "{{base_url}}/rcs/templates"
          }
        },
        {
          "name": "Editar template (PUT /rcs/templates)",
          "request": {
            "method": "PUT",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": 12,\n  \"nome\": \"Boas-vindas v2\",\n  \"mensagem\": \"Oi $par1$! Pedido $par2$ OK.\"\n}"
            },
            "url": "{{base_url}}/rcs/templates"
          }
        },
        {
          "name": "Apagar template (DELETE /rcs/templates)",
          "request": {
            "method": "DELETE",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": 12\n}"
            },
            "url": "{{base_url}}/rcs/templates"
          }
        },
        {
          "name": "Criar webhook (POST /rcs/webhooks)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"evento\": \"rcs_message_received\",\n  \"url\": \"{{webhook_url}}\",\n  \"descricao\": \"CRM principal\"\n}"
            },
            "url": "{{base_url}}/rcs/webhooks"
          }
        },
        {
          "name": "Editar webhook (PUT /rcs/webhooks)",
          "request": {
            "method": "PUT",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"{{webhook_id}}\",\n  \"url\": \"{{webhook_url}}\"\n}"
            },
            "url": "{{base_url}}/rcs/webhooks"
          }
        },
        {
          "name": "Apagar webhook (DELETE /rcs/webhooks)",
          "request": {
            "method": "DELETE",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"{{webhook_id}}\"\n}"
            },
            "url": "{{base_url}}/rcs/webhooks"
          }
        }
      ]
    },
    {
      "name": "VOZ",
      "item": [
        {
          "name": "Listar templates (GET /voz/templates)",
          "request": {
            "method": "GET",
            "header": [{ "key": "Authorization", "value": "Bearer {{bearer_token}}" }],
            "url": "{{base_url}}/voz/templates"
          }
        },
        {
          "name": "Enviar voz (POST /voz/messages)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"external_id\": \"voz_001\",\n    \"number\": \"5511999999999\",\n    \"template_id\": 1,\n    \"variables\": { \"nome\": \"João\" }\n  }\n]"
            },
            "url": "{{base_url}}/voz/messages"
          }
        }
      ]
    },
    {
      "name": "WABA",
      "item": [
        {
          "name": "Enviar WhatsApp (POST /whatsapp/messages)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"external_id\": \"msg001\",\n    \"number\": \"5547991170182\",\n    \"canal_id\": 1,\n    \"type\": \"text\",\n    \"message\": \"Olá! Teste WABA\",\n    \"fallback_sms\": \"Olá! Teste WABA\"\n  }\n]"
            },
            "url": "{{base_url}}/whatsapp/messages"
          }
        }
      ]
    },
    {
      "name": "LINKS",
      "item": [
        {
          "name": "Listar links (GET /links)",
          "request": {
            "method": "GET",
            "header": [{ "key": "Authorization", "value": "Bearer {{bearer_token}}" }],
            "url": "{{base_url}}/links"
          }
        },
        {
          "name": "Criar link encurtado (POST /links)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"tipo\": \"encurtado\",\n  \"url_destino\": \"https://meusite.com/promo\",\n  \"dominio_id\": 1,\n  \"keyword\": \"promo-verao\"\n}"
            },
            "url": "{{base_url}}/links"
          }
        },
        {
          "name": "Editar link (PUT /links)",
          "request": {
            "method": "PUT",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": 10,\n  \"url_destino\": \"https://meusite.com/novo\"\n}"
            },
            "url": "{{base_url}}/links"
          }
        },
        {
          "name": "Deletar link (DELETE /links)",
          "request": {
            "method": "DELETE",
            "header": [
              { "key": "Authorization", "value": "Bearer {{bearer_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": 10\n}"
            },
            "url": "{{base_url}}/links"
          }
        }
      ]
    }
  ]
}
