Endpoints del servidor - TeamSecurityFirst/GeoGuardianWiki GitHub Wiki
Este documento lista los diferentes endpoints que forman la api rest del servidor de la app Geoguardian.
Para cada uno se comenta la URL, el método HTTP necesario y los campos para cada llamada.
- Descripción: Devuelve un 200 si el servidor es accesible
- URL: /api/status/
- Autenticación: No
- Método : GET
- Logea a un usuario y recupera su Token
- URL: /api/user/login
- Autenticación: No
- Método : POST
- Params:
- username
- password
- Hace logout del usuario indicado (elimina su token)
- URL: /api/user/logout
- Autenticación: Si
- Método : POST
- Params:
- username
- Registra a un usuario comprobando que existe en Firebase
- URL: /api/user/register
- Autenticación: No
- Método : POST
- Params:
- username
- firebase_id
- Iniciar una ruta
- URL: /api/user/route/<geo_id>
- Autenticación: Yes
- Método : POST
- Params:
- profile
- Recupera todos ids de los seguidores del usuario indicado
- URL: /api/user/followers
- Autenticación: Si
- Método : GET
- Añade o modifica un seguidor al usuario indicado. Por defecto, lo añade como activo.
- URL: /api/user/followers
- Autenticación: Si
- Método : POST
- Params:
- token
- active (opcional)
- Elimina el seguidor del usuario indicado.
- URL: /api/user/followers/<follower_id>
- Autenticación: Si
- Método : DELETE
- Recupera todos ids de los seguidos del usuario indicado
- URL: /api/user/following
- Autenticación: Si
- Método : GET
- Añade o modifica un seguido al usuario indicado. Por defecto, lo añade como activo.
- URL: /api/user/following
- Autenticación: Si
- Método : POST
- Params:
- token
- active (opcional)
- Modifica el estado "activo/inactivo" de un following, pasándole su identificador.
- URL: /api/user/following/<following_id>
- Autenticación: Si
- Método : POST
- Params:
- active
- Elimina el seguido del usuario indicado.
- URL: /api/user/following/<following_id>
- Autenticación: Si
- Método : DELETE
- Devuelve los datos de las geofences del usuario que las solicita
- URL: /api/user/geofences/
- Autenticación: Si
- Método : GET
- Crea una geofence con los datos especificados y devuelve los datos con id correspondiente
- URL: /api/user/geofence/
- Autenticación: Si
- Método : POST
- Params:
- name
- latitude
- longitude
- radius
- geotype
- Actualiza una geofence existente
- URL: /api/user/geofence/
- Autenticación: Si
- Método : PUT
- Params:
- geoid
- name
- latitude
- longitude
- radius
- geotype
- Actualiza una geofence existente
- URL: /api/user/geofence/
- Autenticación: Si
- Método : DELETE
- Params:
- geoid
- Recupera la última posicion (latitud/longitud) del usuario
- URL: /api/user/position
- Autenticación: Si
- Método : GET
- Actualiza la útlima posición del usuario indicado.
- URL: /api/user/position
- Autenticación: Si
- Método : POST
- Params:
- altitude
- longitude
- Recupera la última posición de los seguidos del usuario.
- URL: /api/user/following/position
- Autenticación: Si
- Método : GET
- Iniciar una ruta
- URL: /api/user/route/<geo_id>
- Autenticación: Yes
- Método : POST
- Params:
- profile
- Desactivar una ruta
- URL: /api/user/route/<geo_id>
- Autenticación: Yes
- Método : DELETE
- Descripción: Para iniciar la sincronización con Telegram es necesario generar un Token que se asociará a un usuario. Posteriormente, el cliente debe enviar un /start con este Token al Bot de Telegram para que lo reconozca.
- URL: /api/telegram/token/
- Autenticación: Sí
- Método : POST
- Params: Ninguno
- Descripción: Se elimina el telegram token del usuario indicado.
- URL: /api/telegram/token/
- Autenticación: Sí
- Método : DELETE
- Descripción: URL únicamente destinada a escuchar las peticiones del Telegram bot que informarán cuando se haya recibido un /start de un usuario, para pasar a su sincronización.
- URL: /api/telegram/sync/
- Autenticación: No
- Método : POST
- Body: Es necesario pasar un JSON con la información necesaria, el formato es el siguiente (el campo de relevancia es el CHAT_ID):
{
"message": {
"message_id": 85,
"from": {
"id": <CHAT_ID>,
"is_bot": "False",
"first_name": <NAME>,
"username": <USERNAME>,
"language_code": "es"
},
"chat": {
"id": <CHAT_ID>,
"first_name": <NAME>,
"username": <USERNAME>,
"type": "private"
},
"date": 1587904182,
"text": "/start <TOKEN>",
"entities":
[{
"offset": 0,
"length": 6,
"type": "bot_command"
}]
}
}
- Descripción: Para iniciar la sincronización con SMS es necesario generar un Token que se asociará a un usuario/número. Se debe enviar el número de teléfono a sincronizar.
- URL: /api/sms/token/
- Autenticación: Sí
- Método : POST
- Params:
- number (número teléfono, con prefijo)
- Descripción: Para activar finalmente un número de télefono, el cliente enviará al servidor el token que ha recibido previamente por SMS.
- URL: /api/sms/sync/
- Autenticación: Sí
- Método : POST
- Params:
- token
- Descripción: Se indica si un usuario ha entrado/salido de alguna de sus geofences y se notifica el movimiento a sus seguidores si corresponde.
- URL: /api/user/geobreak/
- Autenticación: Sí
- Metodo: POST
- Body: Incluir en el cuerpo de la petición un JSON con siguiente formato:
- Si action = False: Salida de geofence.
- Si action = True: Entrada en geofence.
[
{
"geofence_id": 3,
"action": "False"
},
{
"geofence_id": 4,
"action": "True"
}
]
- Descripción: Devuelve un mensaje si la petición ha sido correcta
- URL: /api/example-auth
- Autenticación: Si
- Método : GET