{
  "info": {
    "name": "ControlRoll · Solicitudes de versiones",
    "description": "API independiente. No crea versiones en esta etapa. URL por configurar; la dirección propuesta no está publicada. Cargar la credencial como secreto local y no exportarla. Inactivación con permiso por versión, SSID y motivo en JSON; no altera la reactivación existente.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.controlroll.com"
    },
    {
      "key": "apiKey",
      "value": ""
    },
    {
      "key": "pais",
      "value": "CL"
    },
    {
      "key": "codigoComuna",
      "value": "<CODIGO_DEL_CATALOGO>"
    },
    {
      "key": "idempotencyKey",
      "value": "<CLAVE_ESTABLE_DE_LA_OPERACION>"
    },
    {
      "key": "solicitudId",
      "value": ""
    },
    {
      "key": "ssid",
      "value": "<SSID_AUTORIZADO>"
    },
    {
      "key": "inactivationKey",
      "value": "<CLAVE_ESTABLE_DE_INACTIVACION>"
    }
  ],
  "item": [
    {
      "name": "Integración",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/api/v1/integracion",
        "header": []
      }
    },
    {
      "name": "Países",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/api/v1/catalogos/paises",
        "header": []
      }
    },
    {
      "name": "Comunas",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/api/v1/catalogos/comunas?pais={{pais}}&offset=0&limit=50",
        "header": []
      }
    },
    {
      "name": "Solicitudes",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/api/v1/solicitudes?offset=0&limit=20",
        "header": []
      }
    },
    {
      "name": "Detalle",
      "request": {
        "method": "GET",
        "url": "{{baseUrl}}/api/v1/solicitudes/{{solicitudId}}",
        "header": []
      }
    },
    {
      "name": "Crear solicitud",
      "request": {
        "method": "POST",
        "url": "{{baseUrl}}/api/v1/versiones",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Idempotency-Key",
            "value": "{{idempotencyKey}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"pais\": \"CL\",\n  \"identificacionTributaria\": \"11111111-1\",\n  \"razonSocial\": \"Empresa de Ejemplo SpA\",\n  \"direccion\": \"Avenida de Ejemplo 123\",\n  \"codigoComuna\": \"{{codigoComuna}}\",\n  \"emailAdministrador\": \"admin@example.com\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "/*CSG: 10-11-2026; conserva el identificador aceptado sin guardar credenciales. */",
              "if (pm.response.code === 202) {",
              "  const result = pm.response.json();",
              "  pm.collectionVariables.set('solicitudId', result.solicitudId);",
              "}"
            ]
          }
        }
      ]
    },
    {
      "name": "Inactivar versión autorizada",
      "request": {
        "method": "POST",
        "url": "{{baseUrl}}/api/v1/versiones/inactivar",
        "description": "Operación real de suspensión. Requiere permiso explícito. Conservar clave ante timeout; no reutilizarla para una suspensión nueva después de reactivación.",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Idempotency-Key",
            "value": "{{inactivationKey}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ssid\": \"{{ssid}}\",\n  \"motivo\": \"Suspensión solicitada por el cliente.\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}
