# ============================================================ # SCRIPT DE PRUEBA PARA API DE NEQUI # ============================================================ # Este archivo contiene ejemplos de cURL para probar la API # Copie y pegue los comandos en su terminal (PowerShell o CMD) # ============================================================ # IMPORTANTE: Reemplace con la URL real de su servidor # Ejemplo: http://localhost/buro_nuevo o https://su-servidor.com/buro_nuevo # ------------------------------------------------------------ # 1. AUTENTICACIÓN (GET) # ------------------------------------------------------------ # Obtener el token JWT para autenticación # NOTA: Esta llamada internamente se conecta al endpoint # http://www.gcm.garantiascomunitarias.com/api/login # para validar las credenciales # PowerShell: curl -X GET "http://localhost/buro_nuevo/api/nequi_api.php" ` -H "Content-Type: application/json" ` -d '{\"user\":\"nombre_usuario\",\"password\":\"contraseña\"}' # CMD/Bash: curl -X GET "http://localhost/buro_nuevo/api/nequi_api.php" ^ -H "Content-Type: application/json" ^ -d "{\"user\":\"nombre_usuario\",\"password\":\"contraseña\"}" # Respuesta esperada: # { # "status": 200, # "access_token": "eyJ0eXAiOiJKV1QiLCJhbGc..." # } # GUARDE EL TOKEN para usarlo en el siguiente paso # ------------------------------------------------------------ # 2. REPORTE DE DESEMBOLSO (POST) # ------------------------------------------------------------ # Enviar un desembolso con el token obtenido # PowerShell (reemplace con el token obtenido): curl -X POST "http://localhost/buro_nuevo/api/nequi_api.php" ` -H "Authentication-Type: bearer " ` -H "Content-Type: application/json" ` -d @nequi_ejemplo_desembolso.txt # CMD (reemplace con el token obtenido): curl -X POST "http://localhost/buro_nuevo/api/nequi_api.php" ^ -H "Authentication-Type: bearer " ^ -H "Content-Type: application/json" ^ -d @nequi_ejemplo_desembolso.txt # Respuesta esperada (éxito): # { # "status": "200", # "message": "Datos ingresados exitosamente!" # } # Respuesta esperada (error): # { # "status": "400", # "message": "Descripción del error" # } # ------------------------------------------------------------ # EJEMPLO COMPLETO CON POSTMAN # ------------------------------------------------------------ # 1. Autenticación: # - Método: GET # - URL: http://localhost/buro_nuevo/api/nequi_api.php # - Headers: Content-Type: application/json # - Body (raw JSON): { "user": "nequi_user", "password": "password_seguro" } # 2. Desembolso: # - Método: POST # - URL: http://localhost/buro_nuevo/api/nequi_api.php # - Headers: # * Authentication-Type: bearer # * Content-Type: application/json # - Body: Copie el contenido de nequi_ejemplo_desembolso.txt # ------------------------------------------------------------ # NOTAS IMPORTANTES # ------------------------------------------------------------ # 1. Las credenciales de prueba deben existir en la tabla grt_usuario # con estado = 1 # 2. El token JWT expira en 24 horas # 3. Si recibe error 401, verifique que: # - El token esté correctamente formateado # - El header sea "Authentication-Type" (no "Authorization") # - El token no haya expirado # 4. El archivo PDF en Base64String es un PDF de prueba válido # que se guardará en la carpeta uploads/nequi/ # 5. Todos los 92 campos están incluidos en nequi_ejemplo_desembolso.txt # según la documentación de nequi.txt # ------------------------------------------------------------ # TROUBLESHOOTING # ------------------------------------------------------------ # Error: "Token inválido" # Solución: Genere nuevamente las claves JWT con: # openssl genrsa -out private_key.pem 2048 # openssl rsa -in private_key.pem -pubout -out public_key.pem # Error: "invalid_client" # Solución: Verifique credenciales en la base de datos grt_usuario # Error: "No se pudo copiar los datos a tabla temporal" # Solución: Verifique permisos de base de datos y logs de PHP # Error al guardar archivo # Solución: Verifique que exista la carpeta uploads/nequi/ con permisos 777