Skip to main content

Create App Location Event

Endpoint que permite delimitar una secci贸n geogr谩fica y asociarla a una aplicaci贸n (dada por el campo app_id), registrando una acci贸n que se ejecutar谩 cuando la aplicaci贸n genere alg煤n reporte de posici贸n en esa secci贸n. El conjunto de informaci贸n secci贸n/acci贸n se denomina como evento, el cual queda almacenado en el servicio y es monitoreado en segundo plano por el servicio. Para que se registre adecuadamente el evento, se debe respetar la composici贸n del cuerpo de la solicitud.

Endpoint#

Headers

KeyValueDescription
Content-Typeapplication/json
AuthorizationBearer {{access_token}}access_token obtained in Atenea
Method: POST
URL: https://api.trust.lat/lighthouse/api/v1/event
caution

Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea.

Como obtener un access token

Body#

Fields#

  • listener_type: Texto que indica que tipo de interacci贸n activa al evento. En este caso, el valor de este campo debe ser app_location. Obligatorio.
  • app_id: Identificador de aplicaci贸n provisto por empresa Trust. Obligatorio.
  • company_id: Identificador de compa帽ia provisto por empresa Trust. Obligatorio.
  • location: Estructura que permite definir la secci贸n geogr谩fica. Obligatorio.
    • type: Texto que indica el tipo de per铆metro utilizado para delimitar la secci贸n. Actualmente solo se encuentra operativo el valor square. Obligatorio.
    • lat_point_1: Latitud del primer punto de referencia. Obligatorio.
    • lng_point_1: Longitud del primer punto de referencia. Obligatorio.
    • lat_point_2: Latitud del segundo punto de referencia. Obligatorio.
    • lng_point_2: Longitud del segundo punto de referencia. Obligatorio.
    • inner_space: Variable booleana que indica si se debe considerar el 谩rea contenida por el per铆metro de la secci贸n. Opcional.
  • action: Estructura que contiene la informaci贸n sobre la acci贸n a ejecutar cuando se active un evento. Obligatorio.
    • external_action: Variable booleana que indica si la acci贸n debe ser manejada por un servicio externo o por este servicio. Actualmente solo se encuentran implementadas las acciones externas, as铆 que el valor de este campo debe ser true. Obligatorio.
    • callback_type: Variable que indica que tipo de funci贸n se lleva a cabo cuando se activa un evento. Actualmente s贸lo se permite como valor webhook Obligatorio.
    • callback_url: Direcci贸n URL a la que se env铆a un aviso de la activaci贸n del evento. Obligatorio.
    • delete_after_action: Valor booleano que indica si el evento debe eliminarse al finalizar su activaci贸n. Si el valor es falso, el evento se ejecutar谩 hasta que sea eliminado de forma manual. Opcional.

Example#

{
"listener_type": "app_location",
"app_id": "99",
"company_id": "99",
"location": {
"type": "square",
"lat_point_1": -34.04168267,
"lng_point_1": -70.39076881,
"lat_point_2": -32.04168267,
"lng_point_2": -72.39076881,
"inner_space": true
},
"action": {
"external_action": true,
"callback_type": "webhook",
"callback_url": "https://webhook.site/11111111-1111-1111-1111-111111111111",
"delete_after_action": true
}
}

callback_url#

Como se menciona anteriormente, este campo almacena una url que se utiliza para avisar al backend del integrador que un evento registrado ha sido detectado. Este aviso se realiza en forma de una solicitud web, llamada que se realiza en un formato similar al siguiente:

curl --location --request POST 'callback_url' \
--header 'Content-Type: application/json' \
--data-raw '{
"event_id": "ffffffff-ffff-ffff-ffff-ffffffffffff",
"room_id": "",
"callback_url": "https://webhook.site/11111111-1111-1111-1111-111111111111",
"callback_type": "webhook",
"data": {
"trust_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
}
}'
caution

El endpoint que se asigne en el campo callback_url debe ser capaz de tolerar un alto nivel de llamadas paralelas

Code Examples#

curl --location --request POST 'https://api.trust.lat/lighthouse/api/v1/event' \
--header 'Authorization: Bearer *********' \
--header 'Content-Type: application/json' \
--data-raw '{
"listener_type": "app_location",
"app_id": "99",
"company_id": "99",
"location": {
"type": "square",
"lat_point_1": -34.04168267,
"lng_point_1": -70.39076881,
"lat_point_2": -32.04168267,
"lng_point_2": -72.39076881,
"inner_space": true
},
"action": {
"external_action": true,
"callback_type": "webhook",
"callback_url": "https://webhook.site/11111111-1111-1111-1111-111111111111",
"delete_after_action": true
}
}'

Responses#

HTTP Code: 201 Created#

Event registered successfully#

{
"status": "Created",
"value": {
"event_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"listener_type": "app_location",
"company_id": "99",
"app_id": "99"
}
}

HTTP Code: 422 Unprocessable Entity#

App_id missing#

{
"code": 422,
"message": "Validation fail",
"errors": {
"text": "Problem with app_location event type",
"data": null,
"data2": null,
"validations": {
"app_id": "app_id not present"
}
}
}
Last updated on by Jesus Marquez Barrera