Saltar a contenido

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:

M: Crear Tarea

HTTP POST:

https://<hostname>/api/job
BODY PARAMETERS:
OUTPUT:

Json con los campos:

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:

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: boolean
  • data: json El Job Status Data Object creado.
  • customOrder: array de 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 No
client_id string No
creation_date string No ISO 8601 format
changed_date string No No ISO 8601 format
objective string No 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 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 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
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 No Fecha en la que se completó/canceló la tarea
last_status_change_date string 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 No Latitud de la ubicación en la que se completó/canceló la tarea
completed_lon string 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.

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 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 No
name string No No
client_id string No
color string No No En formato hexadecimal.
workflow_role string 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