API de Gundi

Introducción

La API de Gundi está diseñada para permitir que los proveedores de datos transmitan datos destinados a diversas plataformas compatibles (por ejemplo, EarthRanger , SMART, Movebank y wpsWatch).

URL base

https://sensors.api.gundiservice.org/v2/

Formato de respuesta

Todas las respuestas están en formato JSON.

Control de versiones

Esta documentación es para la versión v2 de la API.

Límites de velocidad

Gundi puede procesar grandes volúmenes de datos sin imponer un límite de velocidad. Sin embargo, los sistemas de destino (como EarthRanger ) pueden tener dificultades para procesar los datos cuando se envían a una velocidad fija de aproximadamente una ubicación por segundo por dispositivo. En estos casos, Gundi reintenta automáticamente, pero le recomendamos contactar al equipo de Gundi si prevé enviar datos con esta frecuencia.

Autenticación

Todos los puntos finales requieren una clave API enviada en el encabezado Authorization :

apikey: API_KEY

Puede obtener esta clave de la conexión creada en el Portal de Gundi . Consulte nuestra documentación para crear una nueva conexión o solicite la clave API a nuestro equipo de soporte. Las solicitudes que no incluyan una clave, o que incluyan una clave no válida o caducada, se denegarán con un mensaje de error.

Mantenga su clave API segura y no la comparta públicamente, ya que proporciona acceso a datos y operaciones confidenciales.

Descripción general de la integración


POST /events/

Los eventos se pueden utilizar para informes, alertas, incidentes o cualquier evento que requiera conciencia o acción.

Encabezados obligatorios

Encabezamiento Valor Descripción
apikey {{API_KEY}} Su clave API para autenticación
Content-Type application/json Especifica el tipo de medio del cuerpo.

Parámetros de consulta

Atributos
source Identifica un dispositivo único asociado con el evento.

opcional

title Una cadena de texto intuitivo como título del evento. Aparece en el feed de eventos y la vista del mapa de EarthRanger .

requerido

event_type Representa el tipo de evento EarthRanger o la categoría SMART correspondiente al informe.

requerido

recorded_at Una marca de tiempo que incluye una zona horaria, recomendada en formato ISO (por ejemplo, 2023-07-27T09:34-03:00 o 2023-07-27T09:34Z).

requerido

location Un diccionario con lon (longitud) y lat (latitud) para indicar la ubicación del evento. Los valores de lon y lat son grados decimales en WGS-84.

requerido

event_details Un diccionario de propiedades de eventos que coinciden con el esquema del "tipo de evento" asociado (en EarthRanger ) o categoría (en SMART Connect).

opcional

Cuerpo de la solicitud

{
 	"source": "{{SOURCE_ID}}",
 	"title": "{{EVENT_TITLE}}",
 	"event_type": "{{EVENT_TYPE}}",
 	"recorded_at": "{{TIMESTAMP}}",
 	"location": {
   		"lat": {{LATITUDE}},
   		"lon": {{LONGITUDE}}
 	},
 	"event_details": {
 	}
}

Ejemplo

{
   "source":"none",
   "title":"Accident Report",
   "event_type":"accident_rep",
   "recorded_at":"2023-10-03T09:35Z",
   "location":{
      "lat":20.117625,
      "lon":-103.113061
   },
   "event_details":{
      "area":"1",
      "people_affected":"1",
      "tags":[
         "fall",
         "injury"
      ]
   }
}

Respuesta

Si la operación se realiza correctamente, nuestra API v2 le proporcionará un ID de objeto, que podrá utilizar posteriormente para diversas actualizaciones y casos de uso. Asegúrese de anotar este {{OBJECT_ID}} si prevé necesitar la funcionalidad adicional.

200 OK
{ 
  "object_id": {{OBJECT_ID}}, 
  "created_at": {{CREATED_AT}} 
}


PATCH /events/{object_id}/

Para actualizar un evento enviado previamente a la API de Gundi, utilice el método PATCH e incluya solo las propiedades que desee modificar.

Encabezados obligatorios

Encabezamiento Valor Descripción
apikey {{API_KEY}} Su clave API para autenticación
Content-Type application/json Especifica el tipo de medio del cuerpo.

Ejemplo

{
   "status":"resolved",
   "location":{
      "lat":13.527,
      "lon":13.154
   },
   "event_details":{
      "number_people_involved":"3"
   }
}


PATCH /events/{object_id}/attachments/

Es posible adjuntar imágenes de cámaras trampa a eventos mediante el punto final de archivos adjuntos.

Encabezados obligatorios

Encabezamiento Valor Descripción
apikey {{API_KEY}} Su clave API para autenticación
Content-Type application/json Especifica el tipo de medio del cuerpo.

Ejemplo de solicitud

Este ejemplo ilustra el proceso de actualización de un evento con una imagen mediante la API de Gundi. Preste atención al marcador {{OBJECT_ID}} en el endpoint, que debe sustituirse por el valor obtenido del resultado de la operación de creación del evento (consulte "Publicación de eventos").

curl --location 'https://sensors.api.gundiservice.org/v2/events/{{OBJECT_ID}}/attachments/' \
--header 'apikey: {{API_KEY}}' \
--form 'file1={{Blob}}'


POST /observations/

Las observaciones se pueden utilizar para realizar un seguimiento de la vida silvestre, los guardabosques y los activos.

Encabezados obligatorios

Encabezamiento Valor Descripción
apikey {{API_KEY}} Su clave API para autenticación
Content-Type application/json Especifica el tipo de medio del cuerpo.

Parámetros de consulta

Atributos
source Un identificador único para el dispositivo que informa su posición.

requerido

source_name Un nombre intuitivo para el dispositivo. Si se omite, se usará el identificador de origen como predeterminado.

opcional

subject_type Describe la entidad rastreada (p. ej., 'guardabosques', 'elefante', 'helicóptero'). En EarthRanger , esto corresponde al subtipo del sujeto.

opcional

recorded_at Marca de tiempo del registro de la posición, incluyendo la zona horaria. Utilice el formato ISO (p. ej., 2022-01-10T16:43:32Z) para mantener la coherencia.

requerido

location Un diccionario que contiene las coordenadas del punto de seguimiento: lon (longitud) y lat (latitud) en grados decimales (WGS-84).

requerido

additional

Un diccionario para pares clave-valor personalizados específicos del dispositivo rastreado, que permite el almacenamiento de metadatos adicionales más allá de los campos estándar.

Este campo puede recibir cualquier JSON válido.

opcional

Cuerpo de la solicitud

{
 	"source": "{{SOURCE_ID}}",
 	"subject_type": "{{SUBJECT_TYPE}}",
 	"source_name": "{{SOURCE_NAME}}",
 	"recorded_at": "{{TIMESTAMP}}",
 	"location": {
   		"lat": {{LATITUDE}},
   		"lon": {{LONGITUDE}}
 	},
 	"additional": {
 	}
}

Ejemplo

{
   "source":"ST123456789",
   "subject_type":"cow",
   "source_name":"Buttercup",
   "recorded_at":"2023-10-04T00:44:32Z",
   "location":{
      "lat":-51.769228,
      "lon":-72.004443
   },
   "additional":{
      "speed_kmph":3
   }
}

 

Pruébalo en Postman

Explora la colección Cartero

 

Última actualización: 3 de agosto de 2025