Saltar al contenido principal

🛠️ Ejemplo de Integración

Este ejemplo demuestra cómo integrar la librería ATS CodeCheck en una aplicación C para validar códigos de barras de cédulas de identidad colombianas.

1. Activar la Licencia

Antes de utilizar la librería, debes activarla descargando el archivo de licencia (license.lic) usando tu identificador de usuario (UID). Este archivo se guardará en el directorio de trabajo actual.

#include "libatscodecheck.h"

const char* uid = "usuario@ejemplo.com";
int resultadoActivacion = ATS_Activate(uid);
if (resultadoActivacion != 0) {
printf("❌ Falló la activación de la licencia\n");
}

2. Inicializar la Librería

#include "libatscodecheck.h"

int result = ATS_Init();
if (result != 0) {
printf("❌ Inicialización falló\n");
}

3. Validar un Código de Barras

const char* jsonRequest = "{ \"base64Barcode\": \"...\", \"requestFields\": [\"CEDNUM\", \"NUMPREP\"] }";

char responseBuffer[2048];
int code = ATS_CheckCode(jsonRequest, responseBuffer, sizeof(responseBuffer));

if (code == 0) {
printf("✅ Respuesta: %s\n", responseBuffer);
} else {
printf("❌ ATS_CheckCode falló con código: %d\n", code);
}

4. Ejemplo Completo

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// Funciones externas de la librería compartida Go
extern int ATS_Init();
extern int ATS_CheckCode(const char* jsonRequest, char* jsonResponseBuffer, int bufferSize);
extern int ATS_GetVersion(char* versionBuffer, int bufferSize);

int main() {
// Inicializar la librería Go
if (ATS_Init() != 0) {
printf("❌ Error al inicializar ATSCodeCheck\n");
return 1;
}

// Obtener versión de la librería
char version[256] = {0};
if (ATS_GetVersion(version, sizeof(version)) == 0) {
printf("📦 Versión de la Librería: %s\n", version);
}

// Ejemplo de código de barras codificado en Base64 (reemplazar con uno real para pruebas)
const char* base64Input = "REEMPLAZAR_CON_BASE64_VALIDO";

// Crear payload de solicitud JSON
const char* fieldList = "\"NUMPREP\"";
char jsonRequest[1024];
snprintf(jsonRequest, sizeof(jsonRequest),
"{ \"base64Barcode\": \"%s\", \"requestFields\": [%s] }",
base64Input, fieldList);

// Preparar buffer de respuesta
char response[2048] = {0};

// Ejecutar verificación
int result = ATS_CheckCode(jsonRequest, response, sizeof(response));
if (result == 0) {
printf("✅ Respuesta: %s\n", response);
} else {
printf("❌ ATS_CheckCode falló con código: %d\n", result);
}

return 0;
}