API Cartera PorEduCar ( * campo requerido)

Campo Detalle Tipo Tamaño
* codigoCentro Código asignado al centro educativo String 5
* llavePublica Clave asignada al centro para calcular el authToken. String 255
* llavePrivada Clave asignada al centro para calcular el statusToken String 255
authToken Token para timbrado. Este token se envía en el header de las solicitudes.
$date = new DateTime();
$unix_timestamp = $date->getTimestamp();

$uniq_token_string = $llavePublica.$unix_timestamp;
$uniq_token_hash = hash('sha256', $uniq_token_string);
$auth_token = base64_encode($codigoCentro.";".$unix_timestamp.";".$uniq_token_hash);
statusToken tokenKey Este token es recibido en la respuesta de la API.
$date = new DateTime();
$unix_timestamp = $date->getTimestamp();

$tokenKey = $unix_timestamp;
$statusToken = md5($llavePrivada."_".$codigoCentro."_".$unix_timestamp);

Campo Detalle Tipo Tamaño
organizacion Razón social del plantel o de la congregación a la que pertenece string 255
plantel Nombre del centro educativo string 255
Nit Número de identificación tributaria string 20
codigoGS1 Codigo GS1 para código de barras EAN 128, asignado a la institución string 20
mesInicioPensiones Mes de inicio de generación de pensiones del año lectivo (1-12) string 2
mesFinPensiones Mes de finalización de generación de pensiones del año lectivo (1-12) string 2
Datos Centro (consulta)
Headers authToken *
GET https://apicarstg.esemtia.co/datosCentro?codigo=pec (codigo del centro educativo)

    Respuesta (json)
{
  "result": {
    "statusToken": "315851ce5db524485f70dc3fd3932f34",
    "tokenKey": 1715817548
  },
  "data": [
    {
      "organizacion": "Cooperativa de Escuelas Educativas",
      "plantel": "Institución Educativa PorEducar",
      "Nit": "10024433-6",
      "direccion": "CR 21 # 29-68",
      "ciudad": "Dosquebradas - Risaralda",
      "correoCartera": "cartera@angesoft.com.co",
      "telefonoCartera": "3544743",
      "codigoGS1": "7709998134225",
      "observacion": "PÁGUESE EN BANCO CAJA SOCIAL - CONVENIO Nro. 1979 Y/O DAVIVIENDA"
      "mesInicioPensiones": "2",
      "mesFinPensiones": "11"
    }
  ]
}
                                

Campo Detalle Tipo Tamaño
* nivel Nivel de estudio (No duplicados) String 255
* descripcion Nombre del nivel String 255
* valorNivel Número de Orden (No duplicados) Integer 11
usuario usuario utilizado para crear, modificar o eliminar registros (opcional) string 100
tipo se utiliza en el método DELETE (valor : restore, para restaurar el registro) string 7
Niveles de Enseñanza (consulta)
Headers authToken *
GET https://apicarstg.esemtia.co/niveles?page=n (n-> número de página) GET https://apicarstg.esemtia.co/niveles?nivel=T (T-> nivel)

    Respuesta (json)
    {
        "result": {
            "statusToken": "d53105a2e9f344a1aa2f0c1415012693",
            "tokenKey": 1701617214
        },
        "data": [
            {
                "nivel": "PJ",
                "descripcion": "Pre-Jardín",
                "valorNivel": "-2",
                "usuario": ""
            },
            .
            .
        ]
    }
                                

Niveles de Enseñanza (Ingresar)
Headers authToken *
POST https://apicarstg.esemtia.co/niveles

Body(json)                                
    {
        "nivel": "",                  * Requerido
        "descripcion": "",            * Requerido
        "valorNivel": "",             * Requerido
        "usuario": ""
    }
                                

    Respuesta (json)
    {
        "result": {
            "statusToken": "08d60690d94a12d92cff96ccfd07e7d3",
            "tokenKey": 1701620872
        },
        "data": {
            "status": "ok",
            "result": {
                "nivelId": 8   (Id insertado)
            }
        }
    }
                                

Niveles de Enseñanza (Modificar)
Headers authToken *
PUT https://apicarstg.esemtia.co/niveles

Body(json)                                
    {
        "nivel": "",                  * Requerido
        "descripcion": "",  
        "valorNivel": "",
        "usuario": ""  
    }
                                

    Respuesta (json)
    {
        "result": {
            "statusToken": "08d60690d94a12d92cff96ccfd07e7d3",
            "tokenKey": 1701620872
        },
        "data": {
            "status": "ok",
            "result": {
                "nivelId": 8   (Id modificado)
            }
        }
    }
                                

Niveles de Enseñanza (Eliminar)
Headers authToken * , nivel * , usuario , tipo
DELETE https://apicarstg.esemtia.co/niveles

    Respuesta (json)
    {
        "result": {
            "statusToken": "3df24de442cde64a224964b365b044bd",
            "tokenKey": 1701623313
        },
        "data": {
            "status": "ok",
            "result": {
            "nivel": "P"  (nivel eliminado o restaurado)
            }
        }
    }
                                

Campo Detalle Tipo Tamaño
* grupo en POST (Subdivisión del nivel Puede ser A,B o 01, 02), en DEL (Debe estar completo Ej: 1-A o 6-01) String 255
* valorNivel Número de Orden (No duplicados) Integer 11
usuario usuario utilizado para crear, modificar o eliminar registros (opcional) string 100
tipo se utiliza en el método DELETE (valor : restore, para restaurar el registro) string 7
Grupos (consulta)
Headers authToken *
GET https://apicarstg.esemtia.co/grupos?page=n (n-> número de página) GET https://apicarstg.esemtia.co/grupos?nivel=T (T-> nivel)

    Respuesta (json)
    {
        "result": {
            "statusToken": "f8fc723b9d443e613ac532922e1423a6",
            "tokenKey": 1701900670
        },
        "data": [
            {
                "grupo": "J-01",
                "valorNivel": "-1",
                "usuario": "10024433"
            }
        ]
    }
                                

Grupos (Ingresar)
Headers authToken *
POST https://apicarstg.esemtia.co/grupos

Body(json)                                
    {
        "nivel": "3",                  * Requerido
        "grupo": "A",                  * Requerido
        "usuario": ""
    }
                                

    Respuesta (json)
    {
        "result": {
            "statusToken": "08d60690d94a12d92cff96ccfd07e7d3",
            "tokenKey": 1701620872
        },
        "data": {
            "status": "ok",
            "result": {
                "grupoId": 8   (Id insertado)
            }
        }
    }
                                

Grupos (Eliminar)
Headers authToken * , grupo * , usuario , tipo
DELETE https://apicarstg.esemtia.co/grupos

    Respuesta (json)
    {
        "result": {
            "statusToken": "3df24de442cde64a224964b365b044bd",
            "tokenKey": 1701623313
        },
        "data": {
            "status": "ok",
            "result": {
                "grupo": "5-01"  (grupo eliminado o restaurado)
            }
        }
    }
                                

Campo Detalle Tipo Tamaño
tipoDocumento RC (Registro Civil), TI (Tarjeta de Identidad), CC (Cédula de Ciudadanía), CE (Cédula de Extrangería), PA (Pasaporte), PE (Permiso Especial de permanencia), VI (Visa) string 2
nuevo Indica si es un estudiante nuevo en el año Lectivo (colocar 1) string 1
matriculado Indica si el estudiante ya se encuentra matriculado Académicamente en el año Lectivo (colocar 1) Nuevo (Opcional) string 1
pais codigo del pais, según la DIAN o el DANE string 3
departamento codigo del departamento, según la DIAN o el DANE. Colocar ceros a la izquierda. EJ: 05 string 2
ciudad codigo de la ciudad, según la DIAN o el DANE. Colocar ceros a la izquierda. EJ: 05001 string 5
codigoPostal codigo postal de la ciudad. Colocar ceros a la izquierda. EJ: 050001 string 10
responsabilidadFiscal Según el anexo técnico 1.9 de la DIAN. Ej: R-99-PN string 10
tributos Según el anexo técnico 1.9 de la DIAN. Ej: ZZ string 10
tipo se utiliza en el método DELETE (valor : restore, para restaurar el registro) string 7
Estudiantes (consulta)
Headers authToken *
GET https://apicarstg.esemtia.co/estudiantes?page=n (n-> número de página) GET https://apicarstg.esemtia.co/estudiantes?page=n&nivel=3 (nivel-> opcional) GET https://apicarstg.esemtia.co/estudiantes?page=n&grupo=3-A (grupo-> opcional)
GET https://apicarstg.esemtia.co/estudiantes?codigo=8381&year=2025 (codigo del estudiante y año de la búsqueda si se omite year la api tomará el año actual)

    Respuesta (json)
    {
        "result": {
            "statusToken": "d53105a2e9f344a1aa2f0c1415012693",
            "tokenKey": 1701617214
        },
        "data": [
            {
                "estudiante": {
                    "codigo": "9280",
                    "primerApellido": "Acevedo",
                    "segundoApellido": "Álvarez",
                    "primerNombre": "Jacobo",
                    "segundoNombre": "",
                    "grado": "5-02",
                    "anoLectivo": "2024",
                    "tipoDocumento": "TI",
                    "numeroDocumento": "1033754488",
                    "nuevo": "1",
                    "matriculado": "1"                     Nuevo (Opcional)
                },
                "padre": {
                    "tipoDocumento": "CC",
                    "numeroDocumento": "45454545",
                    "nombre": "djfk asdfajsdkf df a",
                    "telefono": "5465546545",
                    "direccion": "df asdf asdf asdfas",
                    "email": "dfsadfa@gmail.com"
                },
                "madre": {
                    "tipoDocumento": "",
                    "numeroDocumento": "",
                    "nombre": "",
                    "telefono": "",
                    "direccion": "",
                    "email": ""
                },
                "responsableEconomico": {
                    "tipoDocumento": "CC",
                    "numeroDocumento": "5454545",
                    "primerApellido": "sdfasdf",
                    "segundoApellido": "dfasdfas",
                    "primerNombre": "hghjgjf",
                    "segundoNombre": "",
                    "direccion": "dfsdfasdfasdfa sadf asdf a",
                    "pais": "169",
                    "departamento": "66",
                    "ciudad": "66001",
                    "telefono": "545454",
                    "celular": "33333333",
                    "email": "dfasdasd@gmail.com",
                    "codigoPostal": "660001",
                    "responsabilidadFiscal": "R-99-PN",
                    "tributos": "ZZ"
                }
            },
            .
            .
        ]
    }
                                

Estudiantes (Ingresar)
Headers authToken *
POST https://apicarstg.esemtia.co/estudiantes

Body(json)                                
{
  "estudiante" : {
    "codigo" : "9999",                  * Requerido
    "primerApellido" : "Álvarez",       * Requerido
    "segundoApellido" : "Gómez",
    "primerNombre" : "Juan",            * Requerido
    "segundoNombre" : "Manuel",
    "grado" : "1-A",                    * Requerido
    "anoLectivo" : "2024",              * Requerido
    "tipoDocumento" : "RC",             * Requerido
    "numeroDocumento" : "1056754488",   * Requerido
    "nuevo" : "1",
    "matriculado" : "1"                 Nuevo (Opcional)
  },
  "padre" : {                               (Requerido si no existe Madre)
    "tipoDocumento" : "CC",                 * Requerido
    "numeroDocumento" : "10024433",         * Requerido
    "nombre" : "Mauricio Álvarez Lenis",    * Requerido
    "telefono" : "3105070583",              * Requerido
    "direccion" : "CR 21 # 29-68. CON LAS LOMAS AP 403",    * Requerido
    "email" : "malvarez223@gmail.com"       * Requerido
  },
  "madre" : {                               (Requerido si no existe Padre)
    "tipoDocumento" : "CC",                 * Requerido
    "numeroDocumento" : "38792180",         * Requerido
    "nombre" : "Pilar Eugenia Gómez Ávila", * Requerido
    "telefono" : "3007819698",              * Requerido
    "direccion" : "CR 21 # 29-68. CON LAS LOMAS AP 403",    * Requerido
    "email" : "pegastik@hotmail.com"        * Requerido
  },
  "responsableEconomico" : {                * Requerido
    "tipoDocumento" : "CC",                 * Requerido
    "numeroDocumento" : "10024433",         * Requerido
    "primerApellido" : "Ramírez",           * Requerido
    "segundoApellido" : "Suarez",
    "primerNombre" : "Mario",               * Requerido
    "segundoNombre" : "de Jesús",
    "direccion" : "CR 21 # 29-68. CON LAS LOMAS AP 403",    * Requerido
    "pais" : "169",                         * Requerido
    "departamento" : "66",                  * Requerido
    "ciudad" : "66001",                     * Requerido
    "telefono" : "3544743",                 
    "celular" : "3002365487",               * Requerido
    "email" : "mario@gmail.com",            * Requerido
    "codigoPostal": "660001",               * Requerido
    "responsabilidadFiscal": "R-99-PN",     * Requerido
    "tributos": "ZZ"                        * Requerido
  },
  "usuario" : "1089619455"
}
                                

    Respuesta (json)
    {
        "result": {
            "statusToken": "2b6f0e46174bffe16748ddc1e248591a",
            "tokenKey": 1701897421
        },
        "data": {
            "status": "ok",
            "result": {
                "estudianteId": 4     (Id insertado)
            },
            "notify": [
                "El tipo de documento del estudiante es inválido"
            ]
        }
    }

    **Las notificaciones solo se generan si existe una recomendación, pero el registro se guarda.
                                

Estudiantes (Modificar)
Headers authToken *
PUT https://apicarstg.esemtia.co/estudiantes

Body(json)                                
{
  "estudiante" : {
    "codigo" : "9999",                          * Requerido
    "primerApellido" : "Álvarez",
    "segundoApellido" : "Gómez",
    "primerNombre" : "Juan",
    "segundoNombre" : "Manuel",
    "grado" : "1-A",
    "anoLectivo" : "2024",                      * Requerido
    "tipoDocumento" : "RC",
    "numeroDocumento" : "1056754488",
    "nuevo" : "1",
    "matriculado" : "1"                         Nuevo (Opcional)
  },
  "padre" : {
    "tipoDocumento" : "CC",                     * Requerido
    "numeroDocumento" : "10024433",
    "nombre" : "Mauricio Álvarez Lenis",
    "telefono" : "3105070583",
    "direccion" : "CR 21 # 29-68. CON LAS LOMAS AP 403",
    "email" : "malvarez223@gmail.com"
  },
  "madre" : {
    "tipoDocumento" : "CC",                     * Requerido
    "numeroDocumento" : "38792180",
    "nombre" : "Pilar Eugenia Gómez Ávila",
    "telefono" : "3007819698",
    "direccion" : "CR 21 # 29-68. CON LAS LOMAS AP 403",
    "email" : "pegastik@hotmail.com"
  },
  "responsableEconomico" : {
    "tipoDocumento" : "CC",                     * Requerido
    "numeroDocumento" : "10024433",
    "primerApellido" : "Ramírez",
    "segundoApellido" : "Suarez",
    "primerNombre" : "Mario",
    "segundoNombre" : "de Jesús",
    "direccion" : "CR 21 # 29-68. CON LAS LOMAS AP 403",
    "pais" : "169",
    "departamento" : "66",
    "ciudad" : "66001",
    "telefono" : "3544743",
    "celular" : "3002365487",
    "email" : "mario@gmail.com",
    "codigoPostal": "660001",
    "responsabilidadFiscal": "R-99-PN",
    "tributos": "ZZ"
  },
  "usuario" : "1089619455"
}
                                

    Respuesta (json)
    {
        "result": {
            "statusToken": "2b6f0e46174bffe16748ddc1e248591a",
            "tokenKey": 1701897421
        },
        "data": {
            "status": "ok",
            "result": {
                "estudiante": "9999"        (Codigo Modificado)
            },
            "notify": [
                "El tipo de documento del estudiante es inválido"
            ]
        }
    }

    **Las notificaciones solo se generan si existe una recomendación, pero el registro se guarda.
                                

Estudiantes (Eliminar)
Headers authToken * , codigo * , year , usuario , tipo
DELETE https://apicarstg.esemtia.co/estudiantes

    Respuesta (json)
    {
        "result": {
            "statusToken": "3df24de442cde64a224964b365b044bd",
            "tokenKey": 1701623313
        },
        "data": {
            "status": "ok",
            "result": {
            "codigo": "9999"  (codigo eliminado o restaurado)
            }
        }
    }
                                

Campo Detalle Tipo Tamaño
numeroCuenta Número Interno, consecutivo, generado a cada cuenta Integer 11
tipo Tipo de Cartera: (P) Pension, (M) Matrícula, (O) Otros Conceptos string 1
codigoOtro Código para Otros Conceptos, usado cuando tipo = O (Otros Conceptos) string 2
recargo Valor generado por pago posterior a la fecha de vencimiento Integer 11
valor Valor de base para la matrícula o la pensión Integer 11
totalOtros Valor total de otros conceptos diferentes a matrícula o pensión dentro de la misma cuenta. Corresponde a la sumatoria de los items en la colección "itemsOtros" Integer 11
anoAnticipo Es el año en el cual se va a realizar el pago por adelantado Integer 4
mesAnticipo Es el mes que se va a pagar adelantado, se debe verificar previamente que este mes se pague de forma consecutiva Integer 2
Cartera Pendiente (consulta)
Headers authToken *
GET https://apicarstg.esemtia.co/cartera?codigo=8381 (codigo del estudiante)

    Respuesta (json)
    {
        "result": {
            "statusToken": "d53105a2e9f344a1aa2f0c1415012693",
            "tokenKey": 1701617214
        },
        "data": [
            {
                "cartera": {
                    "numeroCuenta": "87579",
                    "tipo": "P",
                    "codigoOtro": "",
                    "descripcion": "Pensión",
                    "anoCuenta": 2023,
                    "mesCuenta": 11,
                    "recargo": 6957,
                    "valor": 584371,
                    "totalOtros": 83552,
                    "descuento": 236531,
                    "total": 438349,
                    "saldo": 438349
                },
                "itemsOtros": [
                    {
                        "codigoConcepto": "02",
                        "descripcion": "BILINGUISMO",
                        "valorInicial": 83552,
                        "saldo": 83552
                    },
                    .
                    .
                ]
            },
            .
            .
        ]
    }
                                

Cartera (Anticipos)
Headers authToken *
POST https://apicarstg.esemtia.co/cartera

Body(json)                                
    {
        "codigo" : "7828",              *Requerido
        "tipo" : "P",                   *Requerido
        "anoAnticipo" : "2024",         *Requerido
        "mesAnticipo" : "8",            *Requerido
        "usuario" : "10024433"
    }
                                

    Respuesta (json)
{
  "result": {
    "statusToken": "e7af5af0e717268e5f8d60e40a4eba53",
    "tokenKey": 1716047206
  },
  "data": [
    {
      "cartera": {
        "numeroCuenta": "4283",
        "tipo": "P",
        "descripcion": "Pensión",
        "anoCuenta": 2024,
        "mesCuenta": 8,
        "valor": 550000,
        "totalOtros": 35000,
        "descuento": 27500,
        "recargo": 0,
        "total": 557500,
        "saldo": 557500
      },
      "itemsOtros": [
        {
          "codigoConcepto": "01",
          "descripcion": "PROFUNDIZACION EN INGLES",
          "valorInicial": 35000,
          "saldo": 35000
        }
      ]
    }
  ]
}
                                

Campo Detalle Tipo Tamaño
idPago Número o identificador del pago, debe ser único para la combinación idPago con numeroCuenta string 100
valorPago Valor Total pagado corresponde a la suma de valorTotal en cada cuenta pagada Integer 11
numeroCuenta Número de la cuenta de cartera cancelada Integer 11
valorRecargo Valor pagado por recargo, es obligatoria, si no tiene recargo debe venir en cero. Integer 11
valorOtros Valor total pagado por otros conceptos diferentes a matrícula o pensión dentro de la misma cuenta. Corresponde a la sumatoria de los items en la colección "itemsOtros" Integer 11
usuario nombre del usuario creador del pago (opcional) string 255
Pagos (consulta)
Headers authToken *
GET https://apicarstg.esemtia.co/pago?codigo=8381 (codigo del estudiante)

    Respuesta (json)
    {
        "result": {
            "statusToken": "d53105a2e9f344a1aa2f0c1415012693",
            "tokenKey": 1701617214
        },
        "data": [
            {
                "pago": [
                    {
                        "numero": "87579",
                        "tipo": "R",
                        "fecha": "2023-05-17",
                        "descripcion": "Pensión mes de mayo de 2023",
                        "valor": 734198
                    },
                    .
                    .
                ]
            },
            .
            .
        ]
    }
                                

Pagos (Ingresar)
Headers authToken *
POST https://apicarstg.esemtia.co/pago

Body(json)                                
{
  "pago" : {
    "idPago" : "PSE22222222243",                    * Requerido
    "fechaPago" : "2024-04-13",                     * Requerido
    "horaPago" : "08:00",                           * Requerido
    "valorPago" : 728000                            * Requerido
  },
  "cuentas" : [
    {
      "numeroCuenta" : "2758",                      * Requerido
      "valorRecargo" : 18000,                       * Requerido
      "valorOtros" : 35000,                         * Requerido
      "valorTotal" : 653000,                        * Requerido
      "itemsOtros" : [                              * Requerido (Si valorOtros diferente de Cero)
        {
          "codigoConcepto" : "01",                      * Requerido
          "descripcion" : "PROFUNDIZACION EN INGLES",   * Requerido
          "valorPagado" : 35000                         * Requerido
        }
      ]
    },
    {
      "numeroCuenta" : "1235",                      * Requerido
      "valorRecargo" : 0,                           * Requerido
      "valorOtros" : 0,                             * Requerido
      "valorTotal" : 75000                          * Requerido
    }
  ],
  "usuario" : "1089619455"
}
                                

    Respuesta (json)
    {
        "result": {
            "statusToken": "2b6f0e46174bffe16748ddc1e248591a",
            "tokenKey": 1701897421
        },
        "data": {
            "status": "ok",
            "result": {
                "pagoId": 42355     (Id insertado)
            }
        }
    }
                                

Campo Detalle Tipo Tamaño
valorCupon Valor Total a pagar corresponde a la suma de valorTotal en cada cuenta seleccionada Integer 11
numeroCuenta Número de la cuenta de cartera a cancelar String 255
valorRecargo Valor a pagar por recargo, es obligatoria, si no tiene recargo debe venir en cero. Integer 11
valorOtros Valor total a pagar por otros conceptos diferentes a matrícula o pensión dentro de la misma cuenta. Corresponde a la sumatoria de los items en la colección "itemsOtros" Integer 11
usuario nombre del usuario creador del pago (opcional) string 255
referencia Número generado para realizar el pago Integer 11
Cupón (Enviar datos y solicitar Referencia de Pago)
Headers authToken *
POST https://apicarstg.esemtia.co/cupon

Body(json)                                
{
  "cupon" : {
    "fechaCupon" : "2024-04-13",                     * Requerido
    "horaCupon" : "08:00",                           * Requerido
    "valorCupon" : 728000                            * Requerido
  },
  "cuentas" : [
    {
      "numeroCuenta" : "2758",                      * Requerido
      "valorRecargo" : 18000,                       * Requerido
      "valorOtros" : 35000,                         * Requerido
      "valorTotal" : 653000,                        * Requerido
      "itemsOtros" : [                              * Requerido (Si valorOtros diferente de Cero)
        {
          "codigoConcepto" : "01",                      * Requerido
          "descripcion" : "PROFUNDIZACION EN INGLES",   * Requerido
          "valorPagado" : 35000                         * Requerido
        }
      ]
    },
    {
      "numeroCuenta" : "1235",                      * Requerido
      "valorRecargo" : 0,                           * Requerido
      "valorOtros" : 0,                             * Requerido
      "valorTotal" : 75000                          * Requerido
    }
  ],
  "usuario" : "1089619455"
}
                                

    Respuesta (json)
    {
        "result": {
            "statusToken": "2b6f0e46174bffe16748ddc1e248591a",
            "tokenKey": 1701897421
        },
        "data": {
            "status": "ok",
            "result": {
                "referencia": 10000005     (Número de Referecia Generado)
            }
        }
    }
                                

Campo Detalle Tipo Tamaño
codigo Codigo del estudiante string 20
tipo P (para pensiones) O (para otros conceptos) string 1
Último mes pagado
Headers authToken *
GET https://apicarstg.esemtia.co/ultimoMesPago?codigo=8381&tipo=P

    Respuesta (json)
{
  "result": {
    "statusToken": "bc15d7c231bf8984f23517c2b86af973",
    "tokenKey": 1719332101
  },
  "data": [
    {
      "ultimoAno": "2024",
      "ultimoMes": "3"
    }
  ]
}
                                

Campo Detalle Tipo Tamaño
codigo Codigo del estudiante string 20
year año del certificado string 1
Certificado de paz y salvo
Headers authToken *
GET https://apicarstg.esemtia.co/certificado?codigo=8381&year=2025

    Respuesta (json)
{
    "result": {
        "statusToken": "91ae06d7ed3770df7825fa9066ef8751",
        "tokenKey": 1749952482
    },
    "data": [
        {
            "url": {
                "nombre": "6079_certificado_684e27e2b47149.68959373.pdf",
                "ubicacion": "/home/angesoft/www/apicar.esemtia.co/clases/certificados/"
            }
        }
    ]
}