{
  "info": {
    "_postman_id": "4a9d4e95-a765-4f6b-8d75-0c2fb0e26b01",
    "name": "API Proveedores GEC - EMPRESS",
    "description": "Coleccion completa para consumir la API Proveedores GEC con contratos finales.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "baseUrl", "value": "https://sandbox-proveedores-gobcolima.gob-digital.mx" },
    { "key": "apiKey", "value": "REPLACE_WITH_API_KEY" },
    { "key": "IdProv", "value": "123" }
  ],
  "item": [
    {
      "name": "Infra",
      "item": [
        {
          "name": "Healthcheck",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/healthcheck",
              "host": ["{{baseUrl}}"],
              "path": ["healthcheck"]
            }
          }
        }
      ]
    },
    {
      "name": "Catalogos",
      "item": [
        {
          "name": "GET Actividades SAT",
          "request": {
            "method": "GET",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/actividades-sat",
              "host": ["{{baseUrl}}"],
              "path": ["api", "actividades-sat"]
            },
            "description": "Consulta rápida del catálogo de actividades SAT disponibles para usar en el alta de proveedores."
          }
        },
        {
          "name": "GET Documentos",
          "request": {
            "method": "GET",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/documentos",
              "host": ["{{baseUrl}}"],
              "path": ["api", "documentos"]
            },
            "description": "Consulta rápida del catálogo de documentos requeridos para el alta de proveedores. Si necesitas filtrar por tipo de persona, usa tipoPersona=F o tipoPersona=M."
          }
        },
        {
          "name": "GET Documentos (Fisica)",
          "request": {
            "method": "GET",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/documentos?tipoPersona=F",
              "host": ["{{baseUrl}}"],
              "path": ["api", "documentos"],
              "query": [
                { "key": "tipoPersona", "value": "F", "description": "Tipo de persona para filtrar documentos (F fisica). Si se omite, se devuelven todos." }
              ]
            },
            "description": "Consulta el catalogo de documentos para persona fisica. El parametro tipoPersona=F filtra solo los documentos aplicables a fisica."
          }
        },
        {
          "name": "GET Documentos (Moral)",
          "request": {
            "method": "GET",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/documentos?tipoPersona=M",
              "host": ["{{baseUrl}}"],
              "path": ["api", "documentos"],
              "query": [
                { "key": "tipoPersona", "value": "M", "description": "Tipo de persona para filtrar documentos (M moral). Si se omite, se devuelven todos." }
              ]
            },
            "description": "Consulta el catalogo de documentos para persona moral. El parametro tipoPersona=M filtra solo los documentos aplicables a moral."
          }
        }
      ]
    },
    {
      "name": "Proveedores",
      "item": [
        {
          "name": "GET Proveedores (Sin filtros)",
          "request": {
            "method": "GET",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/proveedores",
              "host": ["{{baseUrl}}"],
              "path": ["api", "proveedores"]
            }
          }
        },
        {
          "name": "GET Proveedores (Con filtros)",
          "request": {
            "method": "GET",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/proveedores?IdProv=0&Rfc=PAP181818AA12&ActividadSAT=1&ActividadSAT=15",
              "host": ["{{baseUrl}}"],
              "path": ["api", "proveedores"],
              "query": [
                { "key": "IdProv", "value": "0", "description": "Identificador del proveedor como entero (máximo 8 dígitos)" },
                { "key": "NombreComercial", "value": "", "description": "Nombre Comercial del proveedor (máximo 500 caracteres)" },
                { "key": "DenominacionRazonSocial", "value": "", "description": "Denominación o Razón Social del proveedor (máximo 500 caracteres)" },
                { "key": "Rfc", "value": "PAP181818AA12", "description": "RFC del proveedor (máximo 13 caracteres)" },
                { "key": "ActividadSAT", "value": "1", "description": "Actividad SAT. Permite uno solo (?ActividadSAT=1) o múltiples repetidos (?ActividadSAT=1&ActividadSAT=2), de 1 a 4 digitos" },
                { "key": "ActividadSAT", "value": "15", "description": "Actividad SAT. Permite uno solo (?ActividadSAT=1) o múltiples repetidos (?ActividadSAT=1&ActividadSAT=2), de 1 a 4 digitos" }
              ]
            }
          }
        },
        {
          "name": "POST Registro solo datos (Persona Fisica - JSON)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"Persona\": \"F\",\n  \"Genero\": \"O\",\n  \"DenominacionRazonSocial\": \"JUAN PEREZ GOMEZ\",\n  \"Rfc\": \"PAP181818AA12\",\n  \"NombreComercial\": \"J PEREZ SOLUCIONES\",\n  \"CURP\": \"QCMPAVTAGI6LA06CLM\",\n  \"Calle\": \"Calle Principal\",\n  \"NoExterior\": \"123\",\n  \"NoInterior\": \"A\",\n  \"Colonia\": \"Centro\",\n  \"Localidad\": \"Colima\",\n  \"Municipio\": \"Colima\",\n  \"Estado\": \"Colima\",\n  \"Pais\": \"Mexico\",\n  \"CodigoPostal\": \"28000\",\n  \"ActividadesSAT\": [\"1\", \"15\"],\n  \"ServiciosProductos\": \"Asesoria en tecnologia\",\n  \"Telefono\": \"3331234567\",\n  \"PersonaContacto\": \"Maria Lopez\",\n  \"CelularContacto\": \"3121234567\",\n  \"CorreoElectronico\": \"contacto@empresa.com\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/proveedores",
              "host": ["{{baseUrl}}"],
              "path": ["api", "proveedores"]
            },
            "description": "Alta de proveedor persona fisica usando application/json. La respuesta exitosa esperada es 201."
          }
        },
        {
          "name": "POST Registro solo datos (Persona Moral - JSON)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"Persona\": \"M\",\n  \"DenominacionRazonSocial\": \"PROVEEDOR DEMO SA DE CV\",\n  \"NombreComercial\": \"PROVEEDOR DEMO\",\n  \"RepresentanteLegal\": \"JUAN PEREZ\",\n  \"Rfc\": \"PDM181818AA12\",\n  \"Calle\": \"Avenida Central\",\n  \"NoExterior\": \"456\",\n  \"NoInterior\": \"B\",\n  \"Colonia\": \"Centro\",\n  \"Localidad\": \"Colima\",\n  \"Municipio\": \"Colima\",\n  \"Estado\": \"Colima\",\n  \"Pais\": \"Mexico\",\n  \"CodigoPostal\": \"28000\",\n  \"ActividadesSAT\": [\"1\", \"15\"],\n  \"ServiciosProductos\": \"Suministro de bienes y servicios\",\n  \"Telefono\": \"3331234567\",\n  \"PersonaContacto\": \"ANA GARCIA\",\n  \"CelularContacto\": \"3121234567\",\n  \"CorreoElectronico\": \"contacto@proveedordemo.com\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/proveedores",
              "host": ["{{baseUrl}}"],
              "path": ["api", "proveedores"]
            },
            "description": "Alta de proveedor persona moral usando application/json. La respuesta exitosa esperada es 201."
          }
        },
        {
          "name": "POST Registro con documentos (Persona Fisica - Multipart)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "Persona", "value": "F", "type": "text", "description": "Tipo de persona. F=Fisica, M=Moral" },
                { "key": "Genero", "value": "O", "type": "text", "description": "Genero. Obligatorio si Persona=F" },
                { "key": "Rfc", "value": "PAP181818AA12", "type": "text", "description": "RFC del proveedor (12 - 13 caracteres)" },
                { "key": "CURP", "value": "QCMPAVTAGI6LA06CLM", "type": "text", "description": "CURP de 18 caracteres. Requerido si Persona=F" },
                { "key": "DenominacionRazonSocial", "value": "JUAN PEREZ GOMEZ", "type": "text", "description": "Denominacion o razon social (maximo 500 caracteres)" },
                { "key": "NombreComercial", "value": "J PEREZ SOLUCIONES", "type": "text", "description": "Nombre comercial (maximo 500 caracteres)" },
                { "key": "Calle", "value": "Calle Principal", "type": "text", "description": "Calle del domicilio (maximo 50 caracteres)" },
                { "key": "NoExterior", "value": "123", "type": "text", "description": "Numero exterior del domicilio (maximo 5 caracteres)" },
                { "key": "NoInterior", "value": "A", "type": "text", "description": "Numero interior del domicilio (maximo 5 caracteres)" },
                { "key": "Colonia", "value": "Centro", "type": "text", "description": "Colonia del domicilio (maximo 30 caracteres)" },
                { "key": "Localidad", "value": "Colima", "type": "text", "description": "Localidad del domicilio (maximo 30 caracteres)" },
                { "key": "Municipio", "value": "Colima", "type": "text", "description": "Municipio del domicilio (maximo 50 caracteres)" },
                { "key": "Estado", "value": "Colima", "type": "text", "description": "Estado del domicilio (maximo 50 caracteres)" },
                { "key": "Pais", "value": "Mexico", "type": "text", "description": "Pais del domicilio (maximo 50 caracteres)" },
                { "key": "CodigoPostal", "value": "28000", "type": "text", "description": "Codigo postal de 5 digitos" },
                { "key": "ActividadesSAT", "value": "1", "type": "text", "description": "ID de actividad SAT (1 a 4 digitos), uno solo o multiples" },
                { "key": "ActividadesSAT", "value": "15", "type": "text", "description": "ID de actividad SAT (1 a 4 digitos), uno solo o multiples" },
                { "key": "ServiciosProductos", "value": "Asesoria en tecnologia", "type": "text", "description": "Descripcion de servicios o productos principales que ofrece" },
                { "key": "Telefono", "value": "3331234567", "type": "text", "description": "Telefono de contacto (hasta 13 digitos, solo numeros)" },
                { "key": "PersonaContacto", "value": "Maria Lopez", "type": "text", "description": "Persona de contacto (maximo 50 caracteres)" },
                { "key": "CelularContacto", "value": "3121234567", "type": "text", "description": "Celular de contacto (hasta 13 digitos, solo numeros)" },
                { "key": "CorreoElectronico", "value": "contacto@empresa.com", "type": "text", "description": "Correo electronico de contacto" },
                { "key": "1", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." },
                { "key": "2", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." },
                { "key": "3", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." }
              ]
            },
            "url": {
              "raw": "{{baseUrl}}/api/proveedores",
              "host": ["{{baseUrl}}"],
              "path": ["api", "proveedores"]
            },
            "description": "Caso Fisica con multipart/form-data: envía datos y documentos. Cada IdDoc acepta un solo archivo PDF y cada archivo debe pesar 8 MB o menos. Requiere documentos 1, 2 y 3."
          }
        },
        {
          "name": "POST Registro con documentos (Persona Moral - Multipart)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "Persona", "value": "M", "type": "text", "description": "Tipo de persona. F=Fisica, M=Moral" },
                { "key": "DenominacionRazonSocial", "value": "PROVEEDOR DEMO SA DE CV", "type": "text", "description": "Denominacion o razon social (maximo 500 caracteres)" },
                { "key": "NombreComercial", "value": "PROVEEDOR DEMO", "type": "text", "description": "Nombre comercial (maximo 500 caracteres)" },
                { "key": "RepresentanteLegal", "value": "JUAN PEREZ", "type": "text", "description": "Nombre del representante legal. Requerido si Persona=M" },
                { "key": "Rfc", "value": "PDM181818AA12", "type": "text", "description": "RFC del proveedor (12 - 13 caracteres)" },
                { "key": "Calle", "value": "Avenida Central", "type": "text", "description": "Calle del domicilio (maximo 50 caracteres)" },
                { "key": "NoExterior", "value": "456", "type": "text", "description": "Numero exterior del domicilio (maximo 5 caracteres)" },
                { "key": "NoInterior", "value": "B", "type": "text", "description": "Numero interior del domicilio (maximo 5 caracteres)" },
                { "key": "Colonia", "value": "Centro", "type": "text", "description": "Colonia del domicilio (maximo 30 caracteres)" },
                { "key": "Localidad", "value": "Colima", "type": "text", "description": "Localidad del domicilio (maximo 30 caracteres)" },
                { "key": "Municipio", "value": "Colima", "type": "text", "description": "Municipio del domicilio (maximo 50 caracteres)" },
                { "key": "Estado", "value": "Colima", "type": "text", "description": "Estado del domicilio (maximo 50 caracteres)" },
                { "key": "Pais", "value": "Mexico", "type": "text", "description": "Pais del domicilio (maximo 50 caracteres)" },
                { "key": "CodigoPostal", "value": "28000", "type": "text", "description": "Codigo postal de 5 digitos" },
                { "key": "ActividadesSAT", "value": "1", "type": "text", "description": "ID de actividad SAT (1 a 4 digitos), uno solo o multiples" },
                { "key": "ActividadesSAT", "value": "15", "type": "text", "description": "ID de actividad SAT (1 a 4 digitos), uno solo o multiples" },
                { "key": "ServiciosProductos", "value": "Suministro de bienes y servicios", "type": "text", "description": "Descripcion de servicios o productos principales que ofrece" },
                { "key": "Telefono", "value": "3331234567", "type": "text", "description": "Telefono de contacto (hasta 13 digitos, solo numeros)" },
                { "key": "PersonaContacto", "value": "ANA GARCIA", "type": "text", "description": "Persona de contacto (maximo 50 caracteres)" },
                { "key": "CelularContacto", "value": "3121234567", "type": "text", "description": "Celular de contacto (hasta 13 digitos, solo numeros)" },
                { "key": "CorreoElectronico", "value": "contacto@proveedordemo.com", "type": "text", "description": "Correo electronico de contacto" },
                { "key": "1", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." },
                { "key": "2", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." },
                { "key": "3", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." },
                { "key": "4", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." },
                { "key": "5", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." }
              ]
            },
            "url": {
              "raw": "{{baseUrl}}/api/proveedores",
              "host": ["{{baseUrl}}"],
              "path": ["api", "proveedores"]
            },
            "description": "Caso Moral con multipart/form-data: envía datos y documentos. Cada IdDoc acepta un solo archivo PDF y cada archivo debe pesar 8 MB o menos. Requiere documentos 1, 2, 3, 4 y 5."
          }
        },
        {
          "name": "PATCH Actualizar Documentos Proveedor",
          "request": {
            "method": "PATCH",
            "header": [
              { "key": "x-emp-api-key", "value": "{{apiKey}}" }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "Rfc", "value": "PDM181818AA12", "type": "text", "description": "RFC del proveedor a actualizar" },
                { "key": "1", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." },
                { "key": "2", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." },
                { "key": "3", "type": "file", "src": [], "description": "Solo PDF, 1 archivo por IdDoc, maximo 8 MB. El nombre final lo determina el campo IdDoc del catalogo de /api/documentos." }
              ]
            },
            "url": {
              "raw": "{{baseUrl}}/api/proveedores/{{IdProv}}/documentos",
              "host": ["{{baseUrl}}"],
              "path": ["api", "proveedores", "{{IdProv}}", "documentos"]
            },
            "description": "Actualiza documentos de un proveedor registrado. Cada IdDoc acepta un solo archivo PDF y cada archivo debe pesar 8 MB o menos. El nombre de cada archivo debe coincidir con el IdDoc requerido."
          }
        }
      ]
    }
  ]
}
