API: Jobs
M: Listar tareas
HTTP GET:
https://<hostname>/api/job
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
page_size |
Número de elementos por página | Numérico | no | (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta. |
page_num |
Número de Página | Numérico | no | (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica. |
sort_by |
Ordernar por | string | no | Nombre del campo del Job Data Object que se utilizará para ordenar la respuesta. Si el campo es de tipo texto, el orden es alfabético. |
sort_dir |
Dirección de ordenamiento | string | no | Dirección del orden de la respuesta, ascendente (asc) o descendente (desc). |
fields |
Campos | string | no | Nombres de los campos que se quiere obtener del Job Data Object. Deben estar separados por ,. |
Este método soporta el uso de filtros.
Ejemplo con CURL
$ curl -u <api_key>:<password>
-X GET
https://<hostname>/api/job?sort_by=start_date&sort_dir=asc&page_num=0&page_size=50
OUTPUT:
JSON con los campos:
success:booleandata:jsonContiene una lista de Job Data Object
M: Crear Tarea
HTTP POST:
https://<hostname>/api/job
BODY PARAMETERS:
- Job Data Object. Todos los campos requeridos.
OUTPUT:
Json con los campos:
success:booleandata:jsonEl Job Data Object creado.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
--data "objective=Tarea de prueba&start_date=2024-01-15"
https://<hostname>/api/job
M: Listar tipos de tareas
HTTP: GET
https://<hostname>/api/job/type
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
page_size |
Número de elementos por página | Numérico | no | (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta. |
page_num |
Número de Página | Numérico | no | (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica. |
sort_by |
Ordernar por | string | no | Nombre del campo del Job Type Data Object que se utilizará para ordenar la respuesta. Si el campo es de tipo texto, el orden es alfabético. |
sort_dir |
Dirección de ordenamiento | string | no | Dirección del orden de la respuesta, ascendente (asc) o descendente (desc). |
fields |
Campos | string | no | Nombres de los campos que se quiere obtener del Job Type Data Object. Deben estar separados por ,. |
Este método soporta el uso de filtros.
OUTPUT:
JSON con los campos:
success:booleandata:jsonEl Job Type Data Object creado.
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
https://<hostname>/api/job/type
RESPUESTA:
{
"success": true,
"data": [
{
"id": 1,
"name": "Venta"
},
{
"id": 13,
"name": "Revision de equipos"
},
{
"id": 23,
"name": "Mantenimiento"
},
{
"id": 28,
"name": "Pedido"
},
{
"id": 31,
"name": "Limpieza baños"
},
{
"id": 32,
"name": "Visita"
}
]
}
M: Listar estados de tarea
HTTP: GET
https://<hostname>/api/job/status
URL PARAMETERS:
| Nombre | Tipo | Requerido | Descripción | |
|---|---|---|---|---|
page_size |
Número de elementos por página | Numérico | no | (opcional, default: 5000, max: 5000) Cantidad de elementos que se quiere obtener en la respuesta. |
page_num |
Número de Página | Numérico | no | (opcional, default: 0) Si la cantidad global de elementos es mayor al tamaño de página utilizado, se utiliza este parámetro para obtener una página específica. |
sort_by |
Ordernar por | string | no | Nombre del campo del Job Status Data Object que se utilizará para ordenar la respuesta. Si el campo es de tipo texto, el orden es alfabético. |
sort_dir |
Dirección de ordenamiento | string | no | Dirección del orden de la respuesta, ascendente (asc) o descendente (desc). |
fields |
Campos | string | no | Nombres de los campos que se quiere obtener del Job Status Data Object. Deben estar separados por ,. |
Este método soporta el uso de filtros.
OUTPUT:
JSON con los campos:
success:booleandata:jsonEl Job Status Data Object creado.customOrder:arrayde IDs de tarea según el orden definido por el usuario.disablePresetJobStatuses:boolean
EJEMPLO CON CURL:
$ curl -u <api_key>:<password>
https://<hostname>/api/job/type
RESPUESTA:
{
"success": true,
"customOrder": [
"1",
"0",
"2",
"1036",
"1028",
"1062",
"1063",
"1068"
],
"disablePresetJobStatuses": false,
"data": [
{
"id": "0",
"client_id": "-1",
"name": "Pendiente",
"color": "#F2A31C",
"workflow_role": "0",
"user_group_ids": null,
"deactivated": "0",
"notification_via": null,
"notification_location": null,
"notification_form_id": null,
"notification_message": null
},
{
"id": "1",
"client_id": "-1",
"name": "Completada",
"color": "#32C372",
"workflow_role": "1",
"user_group_ids": null,
"deactivated": "0",
"notification_via": null,
"notification_location": null,
"notification_form_id": null,
"notification_message": null
},
{
"id": "2",
"client_id": "-1",
"name": "Cancelada",
"color": "#545454",
"workflow_role": "2",
"user_group_ids": null,
"deactivated": "0",
"notification_via": null,
"notification_location": null,
"notification_form_id": null,
"notification_message": null
},
{
"id": "1028",
"client_id": "22",
"name": "No se pudo entregar",
"color": "#000000",
"workflow_role": "2",
"user_group_ids": null,
"deactivated": "0",
"notification_via": null,
"notification_location": null,
"notification_form_id": null,
"notification_message": null
},
{
"id": "1036",
"client_id": "22",
"name": "Devolucion",
"color": "#7E00B8",
"workflow_role": "2",
"user_group_ids": null,
"deactivated": "0",
"notification_via": 2,
"notification_location": false,
"notification_form_id": null,
"notification_message": null
},
{
"id": "1062",
"client_id": "22",
"name": "Limpieza finalizada",
"color": "#008347",
"workflow_role": "1",
"user_group_ids": null,
"deactivated": "0",
"notification_via": null,
"notification_location": null,
"notification_form_id": null,
"notification_message": null
},
{
"id": "1063",
"client_id": "22",
"name": "Limpiando",
"color": "#0CDAAC",
"workflow_role": "0",
"user_group_ids": null,
"deactivated": "0",
"notification_via": null,
"notification_location": null,
"notification_form_id": null,
"notification_message": null
},
{
"id": "1068",
"client_id": "22",
"name": "Entregado",
"color": "#B6DC4B",
"workflow_role": "1",
"user_group_ids": null,
"deactivated": "0",
"notification_via": 1,
"notification_location": false,
"notification_form_id": null,
"notification_message": "Tu {jobTitle} ¡fue entregada!"
}
]
}
O: Job Data Object
Cada objeto de tarea tiene estos campos
| Campo | Tipo | Sólo lectura | Requerido | Descripción |
|---|---|---|---|---|
| id | string | Sí | No | |
| client_id | string | Sí | No | |
| creation_date | string | Sí | No | ISO 8601 format |
| changed_date | string | No | No | ISO 8601 format |
| objective | string | No | Sí | Longitud máxima 255 |
| description | string | No | No | |
| phone_number | string | No | No | Longitud máxima 15 |
| contact_name | string | No | No | Longitud máxima 255 |
| contact_email | string | No | No | Longitud máxima 255 |
| notification_emails_csv | string | No | No | Longitud máxima 255 |
| notification_phone_numbers_csv | string | No | No | Longitud máxima 80 |
| notify_contact | boolean | No | No | Por defecto true. Activa notificaciones para el contacto de tarea |
| created_by | string | Sí | No | ID del usuario que creó la tarea |
| status | string | No | No | ID del status de la tarea |
| job_type_id | string | No | No | |
| start_date | string | No | Sí | YYYY-MM-DD |
| start_time | string | No | No | HH:mm:ss |
| duration | string | No | No | Duración esperada (en segundos) |
| address | string | No | No | Longitud máxima 500 |
| assigned_user_ids | string[] | No | No | Listado de ID de los usuarios asignados |
| assigned_remote_user_ids | string[] | No | No | Listado de ID remoto de los usuarios asignados |
| form_ids | string[] | No | No | Listado de ID de los formularios asociados |
| required_form_ids | string[] | No | No | Listado de ID de los formularios obligatorios de responder |
| remote_id | string | No | No | |
| closed_date | string | Sí | No | Fecha en la que se completó/canceló la tarea |
| last_status_change_date | string | Sí | No | Fecha en la que se realizó el último cambio de estado |
| custom_fields | JSON | No | No | JSON Schema, debe de cumplir con las especificaciones de campos personalizados |
| completed_lat | string | Sí | No | Latitud de la ubicación en la que se completó/canceló la tarea |
| completed_lon | string | Sí | No | Longitud de la ubicación en la que se completó/canceló la tarea |
| poi_id | string | No | No | ID de la geocerca asociada |
| poi_name | string | No | No | Nombre de la geocerca asociada |
| x | string | No | No | Longitud en la que fue completada o cancelada. |
| y | string | No | No | Latitud en la que fue completada o cancelada. |
| files | File[] | No | No | Ver estándar de archivos |
ISO 8601: YYYY-MM-DD HH:mm:ss±hh:mm
O: Job Type Data Object
Cada objeto de tipo de tarea tiene estos campos
| Campo | Tipo | Sólo lectura | Requerido | Descripción |
|---|---|---|---|---|
| id | string | Sí | No | El ID del tipo de tarea |
| name | string | No | No | Nombre del tipo de tarea |
O: Job Status Data Object
Cada objeto de estado de tarea tiene estos campos
| Campo | Tipo | Sólo lectura | Requerido | Descripción |
|---|---|---|---|---|
| id | string | Sí | No | |
| name | string | No | No | |
| client_id | string | Sí | No | |
| color | string | No | No | En formato hexadecimal. |
| workflow_role | string | Sí | No | '0': Pendiente, '1': Completada, '2': Cancelada |
| user_group_ids | number[] | No | No | Usuarios que tienen permitido utilizar el estado. |
| deactivated | string | No | No | '0': Activo, '1': Desactivado |
| notifcation_via | number | No | No | 1: SMS, 2: email |
| notification_location | boolean | No | No | Define si la ubicación del usuario asignado es compartida por medio de link. |
| notification_form_id | number | No | No | ID del formulario que se envía junto a la notificación. |
| notification_message | string | No | No |