Repository navigation
Endpoints del servidor
JacoboFiano edited this page Jun 12, 2020
·
10 revisions
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