Consumir Respuestas vía API
Obtén todas las respuestas de un proceso en formato JSON mediante peticiones HTTP.
Endpoint
POST https://gf-apps.com/luuk/functions/ApiProceso
Parámetros Obligatorios
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| Id | String | ID del proceso | abc123xyz |
| FechaInicio | String | Fecha inicio (DD/MM/YYYY) | 01/10/2025 |
| FechaFinal | String | Fecha fin (DD/MM/YYYY) | 31/10/2025 |
| TimeZone | Number | Offset de zona horaria* | 180 |
| sessionToken | String | Token del usuario API | r:abc123... |
| Page | Number | Página (1-N) | 1 |
Nota sobre TimeZone*:
- UTC =
0 - UTC-3 (Chile) =
180(minutos, invertido) - UTC-5 =
300
Headers Requeridos
Content-Type: application/json
X-Parse-Application-Id: dklR89HL5f1A4mGa5tvh1vevaT9BBKOBbcSX4OuFgsblaCiGBc
X-Parse-Session-Token: r:xxxxxxxxxxxxxxx
Ejemplo de Petición HTTP
Request completo:
POST /luuk/functions/ApiProceso?Id=abc123xyz&FechaInicio=01/10/2025&FechaFinal=31/10/2025&TimeZone=180&sessionToken=r:a1b2c3d4e5f6&Page=1
Host: gf-apps.com
Content-Type: application/json
X-Parse-Application-Id: dklR89HL5f1A4mGa5tvh1vevaT9BBKOBbcSX4OuFgsblaCiGBc
X-Parse-Session-Token: r:a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
Ejemplo con cURL
curl -X POST \
'https://gf-apps.com/luuk/functions/ApiProceso?Id=abc123xyz&FechaInicio=01/10/2025&FechaFinal=31/10/2025&TimeZone=180&sessionToken=r:a1b2c3d4e5f6&Page=1' \
-H 'Content-Type: application/json' \
-H 'X-Parse-Application-Id: dklR89HL5f1A4mGa5tvh1vevaT9BBKOBbcSX4OuFgsblaCiGBc' \
-H 'X-Parse-Session-Token: r:a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6'
Ejemplo con Python
import requests
url = "https://gf-apps.com/luuk/functions/ApiProceso"
params = {
"Id": "abc123xyz",
"FechaInicio": "01/10/2025",
"FechaFinal": "31/10/2025",
"TimeZone": 180,
"sessionToken": "r:a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
"Page": 1
}
headers = {
"Content-Type": "application/json",
"X-Parse-Application-Id": "dklR89HL5f1A4mGa5tvh1vevaT9BBKOBbcSX4OuFgsblaCiGBc",
"X-Parse-Session-Token": "r:a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
response = requests.post(url, params=params, headers=headers)
data = response.json()
print(f"Total de respuestas: {len(data['result'])}")
Estructura de Respuesta
La API devuelve un JSON con la siguiente estructura:
{
"result": [
{
"latitude": -33.4372,
"longitude": -70.6506,
"fechaRespuesta": "2025-10-16T15:45:00.000Z",
"nombreUsuario": "Juan",
"apellidoUsuario": "Pérez",
"emailUsuario": "juan@empresa.com",
"numeroCorrelativo": 12567,
"hiloId": "hilo_abc123",
"estado": "Finalizado",
"detalleRespuesta": "Inspección completada correctamente",
"tipoRespuesta": "Texto",
"porcentajeAcierto": 95
},
// ... hasta 1000 registros
]
}
Campos de la Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| latitude | Number | Latitud GPS donde se completó |
| longitude | Number | Longitud GPS |
| fechaRespuesta | String | Timestamp ISO 8601 |
| nombreUsuario | String | Nombre del usuario |
| apellidoUsuario | String | Apellido del usuario |
| emailUsuario | String | Email del usuario |
| numeroCorrelativo | Number | Número único del hilo |
| hiloId | String | ID único del hilo |
| estado | String | "Finalizado", "En proceso", "Pendiente" |
| detalleRespuesta | String | Respuesta específica |
| tipoRespuesta | String | Tipo de acción |
| porcentajeAcierto | Number | % de respuestas correctas (si aplica) |
Paginación
La API devuelve máximo 1000 registros por petición.
Para obtener más:
page = 1
all_responses = []
while True:
params["Page"] = page
response = requests.post(url, params=params, headers=headers)
data = response.json()
if not data["result"]:
break # No hay más datos
all_responses.extend(data["result"])
page += 1
print(f"Total de respuestas obtenidas: {len(all_responses)}")
