API REST en producción desde 2017

AP Servicios

Backend API SADER

API REST centralizada para programas de apoyo agrícola del Gobierno de México. Conecta aplicaciones móviles de campo, sistemas de ventanilla, herramientas de fertilizantes y servicios externos como RENAPO y bancos.

9
años en producción
564
commits
67+
controllers
90+
modelos
5
bases de datos
Laravel 5.2 PHP 7.x MySQL Multi-DB Redis AWS S3 JWT Auth

Descripción General

Cliente

Secretaría de Agricultura y Desarrollo Rural (SADER) - Gobierno de México

Tipo

API REST Backend centralizada - Núcleo de todos los sistemas SADER

Consumidores

Apps móviles de campo, Sistema SURI, Portal Web, Presidencia, servicios externos

Integraciones

RENAPO (CURP), Bancos (CLABE), AWS S3, Redis, 5 bases de datos MySQL

Arquitectura y Flujos

🖥️ Mockups Interactivos Disponibles

Explora el módulo SIGAP (Fertilizantes): las interfaces operativas que consumen esta API — captura, cuadernillos, dictamen y reportes

Ver Mockups Interactivos →

Módulos Principales

Fertilizantes (App Móvil)

Login, fletes, beneficiarios, remanentes, transferencias CDF. Soporte offline-first.

Gestión de Pagos

Ciclo completo: carga → detalle → finalización. Validación CLABE bancaria.

RENAPO

Consulta de datos por CURP, soporte de CURP históricas, bitácora de consultas.

Catálogos Transversales

Entidades, municipios, localidades, bancos, organizaciones, SEPOMEX.

PIMAF / PROCAFE

Solicitudes, vales QR, dictámenes, autorizaciones de conceptos de apoyo.

Biometría y Personas

Búsqueda en padrón nacional, consulta biométrica de parcelas.

Endpoints Principales

POST /renapo/getData Consulta RENAPO por CURP
POST /api/fertilizantes/login2 Login app fertilizantes
POST /api/fertilizantes/fletes/registrar Registro de flete
POST /api/fertilizantes/beneficiarios/cargar Carga de beneficiarios (sync)
POST /privado/gestion_pago/inicia_carga Inicia lote de pagos
POST /privado/gestion_pago/valida_clabe Valida cuenta CLABE
POST /transversal/suri/busqueda-persona Búsqueda en padrón
GET /sis/cuestionario Obtener cuestionarios

Retos Técnicos Resueltos

📱 Sincronización Offline-First

Dispositivos móviles en campo sin conexión. Lógica de detección de duplicados, registros temporales y respaldo de fallidos.

🖼️ Evidencia con Membretado

Generación y redimensionado de cintillos institucionales sobre imágenes, almacenamiento organizado en AWS S3.

🪪 CURP Histórica en RENAPO

Consulta de CURP actual e históricas, manejo de respuestas variables con bitácora y homologación.

💳 Ciclo de Pagos Transaccional

Carga masiva con conciliación, cancelación por vigencia (cron), validación CLABE en tiempo real.

🔁 5 Bases de Datos Simultáneas

Un controlador puede consultar hasta 5 esquemas MySQL distintos en una sola request.

📦 Gestión de Remanentes

Control del flujo de fertilizante desde CDF de origen hasta entrega, con detección de inconsistencias.

Stack Tecnológico

Backend

Laravel 5.2 PHP 7.x Eloquent ORM

Bases de Datos

MySQL (5 DBs) Redis

Almacenamiento

AWS S3 Flysystem

Autenticación

JWT Firebase PHP CORS

Integraciones

RENAPO Guzzle HTTP SwiftMailer

Generación

Intervention Image wkhtmltopdf QR Codes Excel

Métricas del Proyecto

564
Commits totales
45+
Colaboradores
67+
Controllers
90+
Modelos
5
MySQL DBs
9
Años activo

Mi Rol en el Proyecto

Desarrollador Backend Senior — 50 commits (2do contribuidor)

Participación activa en el desarrollo y mantenimiento del API core de SADER:

  • Desarrollo de endpoints de sincronización offline-first para app móvil
  • Implementación de módulo de carga masiva de beneficiarios con validación
  • Integración con servicio RENAPO para consulta de CURP
  • Desarrollo de flujo de pagos con validación de CLABE bancaria
  • Optimización de consultas multi-base de datos
  • Implementación de sistema de respaldo de sincronizaciones fallidas
  • Generación de imágenes con membretado institucional
  • Resolución de incidencias críticas en ambiente productivo