Centro de documentación de API
Genera informes de usuarios, horas trabajadas, nómina, proyectos y gastos con la API pública v1.
En esta página
14. Reportes
Muchos recursos de informes permiten usar GET (cadena de consulta) y POST (cuerpo JSON) con los mismos filtros. Se recomienda usar POST cuando las listas de ID sean extensas.
Información de Usuario — GET /report/user/info
curl -s "$API_BASE/report/user/info?UserList=101,102" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY"
Un UserList vacío se interpreta como todos los usuarios (AllUsers=1) dentro del controlador.
Por hora personalizable — procesado / sin procesar
Procesado(GET/POST /report/hourly/customizable/processed):
| Parámetro | Notas |
|---|---|
StartDate, EndDate |
Rango |
AllUsers / UserList |
"1" para todos, si no, csv |
AllAccountCodes / AccountCodeList |
Mismo patrón |
GroupType |
e.g. Usuario, Título profesional, Supervisor, Cliente, Código de cuenta, Fecha, Ninguno |
IncludeExtendedData, IncludeWorkDescription |
"0" / "1" |
ReportType |
Summary (predeterminado) o Detailed |
curl -s "$API_BASE/report/hourly/customizable/processed?StartDate=2026-01-01&EndDate=2026-01-31&AllUsers=1&AllAccountCodes=1&ReportType=Summary" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY"
curl -s -X POST "$API_BASE/report/hourly/customizable/processed" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY" \
-d '{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"AllUsers": "0",
"UserList": "101,102",
"AllAccountCodes": "1",
"ReportType": "Detailed",
"IncludeWorkDescription": "1"
}'
No procesado agrega filtros como Signed, Approved, TimeClass, RecordStatus, FullTextSearch, IncludeGroupsWithNoRecords.
Hourly helpers
| Ruta | Propósito | Parámetros Clave |
|---|---|---|
/report/hourly/filter/items |
Listas de opciones de filtro para la interfaz | dates, UserList, AccountCodeList, Signed, Approved, TimeClass, RecordStatus |
/report/hourly/location |
Informe de ubicación | StartDate, EndDate, AllUsers, UserList |
/report/hourly/record/overlapping |
Registros de tiempo superpuestos | Igual |
/report/hourly/record/history |
Informe del historial de registros | StartDate, EndDate, UserID, IncludeOnlyRecordsWithAlerts |
Nómina por horas
# List periods
curl -s "$API_BASE/report/hourly/payroll/periods?StartDate=2026-01-01&EndDate=2026-06-30&MaxRows=20" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
# One period
curl -s "$API_BASE/report/hourly/payroll/period/42?UserList=101,102" \
-H "Authorization: Bearer $TOKEN" -H "apikey: $API_KEY"
# Preview (GET or POST)
curl -s -X POST "$API_BASE/report/hourly/payroll/preview" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY" \
-d '{
"PayrollRunType": "NEW",
"StartDate": "2026-01-01",
"EndDate": "2026-01-15",
"UserSelect": "SelectedUsers",
"UserList": "101,102"
}'
Informe de proyectos personalizable — GET/POST /report/project/customizable
Los filtros incluyen usuarios, clientes, proyectos, códigos de cuenta, Signed/Approved/Billable/RecordStatus, indicadores de tarifas, GroupType, FullTextSearch y ReportType.
curl -s -X POST "$API_BASE/report/project/customizable" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY" \
-d '{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"AllUsers": "1",
"AllCustomers": "1",
"AllProjects": "1",
"AllAccountCodes": "1",
"ReportType": "Summary"
}'
Filtrar objetos: GET /report/project/filter/items.
Informe de gastos personalizable — GET/POST /report/expense/customizable
Agrega filtros de listas de proveedores y eventos (AllVendors / VendorList, AllEvents / EventList) además de las dimensiones habituales de usuarios, clientes, proyectos y códigos de cuenta.
curl -s -X POST "$API_BASE/report/expense/customizable" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-H "apikey: $API_KEY" \
-d '{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"AllUsers": "1",
"AllVendors": "1",
"AllEvents": "1",
"ReportType": "Detailed"
}'