Enlace del usuario por AppleTV (a través de un código de enlace)
El contenedor permite crear un código, o consultar el estatus de un código.
Cualquier acceso ulterior del chef tendrá que adjuntar este código, que es personalizado y nunca cambia. Sin embargo se puede renovar bajo ciercas condiciones.
El token es una cadena de 3 cifras, aleatoria. Esta apegada al chef y no se puede usar para otro chef.
Para realizar una solicitud de código, se envia un GET:
El código aún no esta ligado a ningún chef.
Es único en el sistema.
Se debe de guardar el código localmente en el appleTV.
Para realizar una consulta de un código, se envia un POST:
El parámetro es el código guardado locamente, anteriormente creado.
Si el chef ya enlazó su código en el sitio de Kiwilimon, entonces regresa la clave del chef y sus datos básicos (avatar, nombre, apellido).
Si el chef no enlazó su código en el sitio, entonces no regresa ningun chef enlazado (chef a NULL).
El AppleTV puede escanear cada N segundos para saber si el usuario ya se enlazo, o puede ser por presión de un botón (quizás despues de 5 minutos de intentos por ejemplo).
Nota: Un código NO enlazado tiene un tiempo de vida de una hora máximo. Es decir que si el usuario solicita un código y no lo usa, se destruira una hora después.
En cuando este usado, es permanente ya que esta enlazado con este usuario y este dispositivo.
Hay que notificar al usuario que tendrá que enlazar su cuenta en http://www.kiwilimon.com/appletv
Aquí tendra que conectarse o registrarse, y capturar el código de enlace que le presenta el AppleTV.
Solicitud de código
La solicitud se realiza a través de un GET:
[GET] /v2/logincode/UUID-APPLETV
El UUID-APPLETV es el identificador único del aparato
Regresa un JSON con la información siguiente:
code: Es el código esperado. Único en el sistema.
Si falta el UUID, el sistema regresa un error:
{
"estatus":"error",
"mensaje":"Error, falta el identificador único del aparato."
}
Verificación de código
La verificación se realiza a través de un POST:
[POST] /v2/logincode
code=ZZZZZZZZ
uuid=UUID-APPLETV
El UUID-APPLETV tiene que ser el mismo que cuando se solicito el código. Es decir que el sistema va a enlazar el par UUID-Código para la conexión del usuario/chef.
1. Si el par UUID-Código no existe en nuestra base de datos, regresa un mensaje de error:
{
"estatus":"error",
"mensaje":"Error, no existe este código en nuestra base de datos."
}
2. Si el chef no esta enlazado aún:
3. Si el chef ya esta enlazado:
{
"chef": "[clave]",
"nombre":"[nombre]",
"apellido":"[apellido]",
"foto":"[imagen de la red social]",
"creado":"[Fecha enlace AppleTV]"
}
Los campos son los siguientes:
chef: la clave del chef conectado
nombre: el nombre del chef conectado
apellido: el apellido del chef conectado
foto: la foto social del chef conectado
creado: la fecha del enlace de este código con la cuenta.