Transgeneracional-APP

Documentación de la API de Transgeneracional-APP

Authorization

Autorización y gestión de usuarios.

La API usa autorización por JSON Web Tokens (JWT), la mayoria de las peticiones requieren de la cabecera HTTP Authorization

Login

POST http://transgeneracional-app.com/api/auth/login
Requestsexample 1
Body
{
  "email": "johndoe@gmail.com",
  "password": "123456"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "token": "JWTeyJ0eXAiOi.......",
  "refresh": "JWTeyJ0eXAiOi......."
}

Login
POST/auth/login

Autoriza al usuario y devuelve los dos JWT tokens en caso de éxito:

Campos requeridos

  • email (string)

  • password (string)

Campos devueltos

  • token (JWToken) - Autoriza al usuario, expira en 2 horas

  • refresh (JWToken) - Refresca los tokens, expira en 2 semanas


Register

POST http://transgeneracional-app.com/api/auth/register
Requestsexample 1
Body
{
  "name": "John Doe",
  "email": "johndoe@gmail.com",
  "password": "123456"
}
Responses200
Headers
Content-Type: application/json
Body
{
    "status": "success",
    "token": "JWTeyJ0eXAiOi.......",
}

Register
POST/auth/register

Registra a un nuevo usuario.

Info

El proceso de registro de usuario requiere de validación de correo electrónico

Campos requeridos

  • name (string)

  • email (string)

  • password (string)


Members

Recupera y gestiona Miembros del Arbol

Get All Members

GET http://transgeneracional-app.com/api/members
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Responses200
Headers
Content-Type: application/json
Body
{
  "members": [
    {
      "id": "9n2LO9xV",
      "name": "John",
      "surname": "Doe",
      "gender": "male",
      "birth_date": {
        "day": 1,
        "month": 1,
        "year": 2000
      },
      "death_date": {
        "day": 1,
        "month": 1,
        "year": 2000
      },
      "profession": "Detective",
      "linkage": "father_of",
      "linked_to": "JVmeN4xK",
      "fullname": "John Doe",
      "relationship": "Padre",
      "branch": "paternal",
      "level": 1,
      "allowed": [
        "sibling_of",
        "child_of",
        "couple_of"
      ]
    }
  ]
}

Get All Members
GET/members

Recupera todos los Miembros del Arbol del usuario actual


Member Resource

Acciones del Miembro del Arbol

GET http://transgeneracional-app.com/api/members/9n2LO9xV
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "9n2LO9xV",
  "name": "John",
  "surname": "Doe",
  "gender": "male",
  "birth_date": {
    "day": 1,
    "month": 1,
    "year": 2000
  },
  "death_date": {
    "day": 1,
    "month": 1,
    "year": 2000
  },
  "profession": "Detective",
  "linkage": "father_of",
  "linked_to": "JVmeN4xK",
  "fullname": "John Doe",
  "relationship": "Padre",
  "branch": "paternal",
  "level": 1,
  "allowed": [
    "sibling_of",
    "child_of",
    "couple_of"
  ],
  "couples": [
    "..."
  ],
  "events": [
    "..."
  ]
}

Get Member
GET/members/{id}

Recupera un Miembro del Arbol

Info

  • Se recuperan sus Parejas y Eventos vinculados
URI Parameters
HideShow
id
string (required) Example: 9n2LO9xV

Identificador único del Miembro.


POST http://transgeneracional-app.com/api/members/9n2LO9xV
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Body
{
  "name": "John",
  "surname": "Doe",
  "gender": "male",
  "birth_date": {
    "day": 1,
    "month": 1,
    "year": 2000
  },
  "death_date": {
    "day": 1,
    "month": 1,
    "year": 2000
  },
  "profession": "Detective",
  "linkage": "father_of",
  "linked_to": "JVmeN4xK"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "member": {
    "id": "9n2LO9xV",
    "name": "John",
    "surname": "Doe",
    "gender": "male",
    "birth_date": {
      "day": 1,
      "month": 1,
      "year": 2000
    },
    "death_date": {
      "day": 1,
      "month": 1,
      "year": 2000
    },
    "profession": "Detective",
    "linkage": "father_of",
    "linked_to": "JVmeN4xK",
    "fullname": "John Doe",
    "relationship": "Padre",
    "branch": "paternal",
    "level": 1,
    "allowed": [
      "sibling_of",
      "child_of",
      "couple_of"
    ]
  }
}

Add Member
POST/members/{id}

Vincula un nuevo Miembro al Miembro actual

Campos requeridos

  • name (string)

  • gender (enum)

  • linkage (enum)

  • linked_to (string)

URI Parameters
HideShow
id
string (required) Example: 9n2LO9xV

Identificador único del Miembro.


PUT http://transgeneracional-app.com/api/members/9n2LO9xV
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Body
{
  "name": "John",
  "surname": "Doe",
  "gender": "male",
  "birth_date": {
    "day": 1,
    "month": 1,
    "year": 2000
  },
  "death_date": {
    "day": 1,
    "month": 1,
    "year": 2000
  },
  "profession": "Detective",
  "linkage": "father_of",
  "linked_to": "JVmeN4xK"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "member": {
    "id": "9n2LO9xV",
    "name": "John",
    "surname": "Doe",
    "gender": "male",
    "birth_date": {
      "day": 1,
      "month": 1,
      "year": 2000
    },
    "death_date": {
      "day": 1,
      "month": 1,
      "year": 2000
    },
    "profession": "Detective",
    "linkage": "father_of",
    "linked_to": "JVmeN4xK",
    "fullname": "John Doe",
    "relationship": "Padre",
    "branch": "paternal",
    "level": 1,
    "allowed": [
      "sibling_of",
      "child_of",
      "couple_of"
    ]
  }
}

Update Member
PUT/members/{id}

Actualiza la info de un Miembro

URI Parameters
HideShow
id
string (required) Example: 9n2LO9xV

Identificador único del Miembro.


DELETE http://transgeneracional-app.com/api/members/9n2LO9xV
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Responses204
This response has no content.

Delete Member
DELETE/members/{id}

Borra un Miembro del Arbol

Caution

No se permite borrar al Miembro Principal.

No se permite borrar a un miembro que tenga otros miembros vinculados.

URI Parameters
HideShow
id
string (required) Example: 9n2LO9xV

Identificador único del Miembro.


Couples

Gestiona las Parejas del Miembro del Arbol y sus Fechas (eventos)

Select Main Couple

POST http://transgeneracional-app.com/api/couples/9n2L9lVM/select
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Body
{
  "member_id": "9n2LO9xV"
}
Responses200
This response has no content.

Select Main Couple
POST/couples/{id}/select

Selecciona la pareja actual como Pareja Principal

(Se muestra en el dibujo del arbol al lado del miembro principal junto a su propia familia)

Campos requeridos

  • member_id (string): ID del miembro actual para consultar sus parejas
URI Parameters
HideShow
id
string (required) Example: 9n2L9lVM

Identificador único de la Pareja.


Update Couple Status

PUT http://transgeneracional-app.com/api/couples/9n2L9lVM
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Body
{
  "status": "marriage"
}
Responses200
This response has no content.

Update Couple Status
PUT/couples/{id}

Actualiza el estado actual de la Pareja

Estados válidos

  • couple (Pareja)

  • finished (Ex-Pareja)

  • coexistence (Coexistencia)

  • marriage (Matrimonio)

  • separated (Separados)

  • divorce (Divorciados)

URI Parameters
HideShow
id
string (required) Example: 9n2L9lVM

Identificador único de la Pareja.


Add Couple Event

POST http://transgeneracional-app.com/api/couples/9n2L9lVM/events
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Body
{
  "status": "couple",
  "event_date": {
    "day": 24,
    "month": 4,
    "year": 2000
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "KYlOB2aG",
  "status": "couple",
  "event_date": {
    "day": 24,
    "month": 4,
    "year": 2000
  }
}

Add Couple Event
POST/couples/{id}/events

Añade un nuevo Evento a la Pareja actual

Campos requeridos

  • status (string)

  • event_date (array)

URI Parameters
HideShow
id
string (required) Example: 9n2L9lVM

Identificador único de la Pareja.


Couple Event Resource

Acciones de los Eventos de Pareja

PUT http://transgeneracional-app.com/api/couples/events/KYlOB2aG
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Body
{
  "status": "couple",
  "event_date": {
    "day": 24,
    "month": 4,
    "year": 2000
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "KYlOB2aG",
  "status": "couple",
  "event_date": {
    "day": 24,
    "month": 4,
    "year": 2000
  }
}

Update Couple Event
PUT/couples/events/{id}

Actualiza un Evento de Pareja

URI Parameters
HideShow
id
string (required) Example: KYlOB2aG

Identificador único del Evento de Pareja.


DELETE http://transgeneracional-app.com/api/couples/events/KYlOB2aG
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Responses204
This response has no content.

Delete Couple Event
DELETE/couples/events/{id}

Borra un Evento de Pareja

URI Parameters
HideShow
id
string (required) Example: KYlOB2aG

Identificador único del Evento de Pareja.


Events

Gestiona los Eventos del Miembro del Arbol

Add Event

POST http://transgeneracional-app.com/api/members/9n2LO9xV/events
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Body
{
  "title": "Primer dia de colegio",
  "description": "A los 4 años fui...",
  "age": 4,
  "event_date": {
    "day": 14,
    "month": 9,
    "year": 1981
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "w1xKBmM5",
  "title": "Primer dia de colegio",
  "description": "A los 4 años fui...",
  "age": 4,
  "event_date": {
    "day": 14,
    "month": 9,
    "year": 1981
  }
}

Add Event
POST/members/{id}/events

Añade un nuevo Evento al Miembro actual

Campos requeridos

  • título (string)

  • event_date (array)

URI Parameters
HideShow
id
string (required) Example: 9n2LO9xV

Identificador único del Miembro.


Event Resource

Acciones con Eventos del Miembro

PUT http://transgeneracional-app.com/api/events/w1xKBmM5
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Body
{
  "title": "Primer dia de colegio",
  "description": "A los 4 años fui...",
  "age": 4,
  "event_date": {
    "day": 14,
    "month": 9,
    "year": 1981
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "w1xKBmM5",
  "title": "Primer dia de colegio",
  "description": "A los 4 años fui...",
  "age": 4,
  "event_date": {
    "day": 14,
    "month": 9,
    "year": 1981
  }
}

Update Event
PUT/events/{id}

Actualiza un Evento del Miembro

URI Parameters
HideShow
id
string (required) Example: w1xKBmM5

Identificador único del Evento.


DELETE http://transgeneracional-app.com/api/events/w1xKBmM5
Requestsexample 1
Headers
Authorization: Bearer JSONWebToken
Responses204
This response has no content.

Delete Event
DELETE/events/{id}

Borra un Evento del Miembro

URI Parameters
HideShow
id
string (required) Example: w1xKBmM5

Identificador único del Evento.


Generated by aglio on 13 Jun 2017