Contenedor 'chef'
Introducción
El contenedor
chef regresa la información de los chefs disponibles en el sistema, permite dar de alta un nuevo chef nativamente asi como cambiar su información.
Los recursos GET y POST en conjunto permiten modificar los datos del chef, bajo el premiso siguiente:
GET => modifica forma => POST
siendo la contraseña opcional, y todos los demás campos necesarios para la modificación.
Recurso GET 'data'
Los datos básicos de un chef se obtienen consumiendo el recurso siguiente:
[GET] /v2/chef/:Clave/data.json
:Clave es la clave del recurso solicitado.
También puede pasar el token del chef conectado para obtener los campos adicionales para modificación:
[GET] /v2/chef/:Token/data.json
En este caso, la respuesta contiene los dos campos adicionales: 'correo' (string) y 'newsletter' (con valor 0/1)
Se regresa el objeto siguiente:
{
"clave":1,
"rid":"1840437739",
"nombre":"Isaac",
"apellido":"de la luz",
"avatar":"https:\/\/graph.facebook.com\/100000193866300\/picture?type=large",
"registrado":"2009-12-02T03:55:26.00-06",
"sstotal":0,
"ssmes":0,
"sslevel":0,
"sslevelname":"",
"ssbadge":"",
"ssfalta":0,
"total":772,
"mes":50,
"level":2,
"levelname":"Novato",
"badge":"http:\/\/cdn.kiwilimon.com\/retos\/Novato-2.png",
"falta":328,
"fechaultimalectura":"2014-12-18T21:00:23.39-06",
"cantidadmensajes":0,
"cantidadtemas":0,
"cantidadrecetas":0,
"cantidadcolecciones":1,
"cantidadfavoritos":0,
"cantidadlistasuper":0,
"cantidadseguidores":0,
"cantidadsiguiendo":0
}
Los campos son los siguientes:
clave: La clave del chef.
rid: El random ID del chef.
nombre: El nombre del chef.
apellido: El apellido del chef.
avatar: El avatar del chef. Puede ser una imagen en CDN de kiwilimon, o una imagen de alguna red social (FB, G+, twitter)
registrado: La fecha de registro del chef.
sstotal: La cantidad de puntos del reto de tips del chef.
ssmes: La cantidad de puntos del mes del reto de tips del chef.
sslevel: El nivel del reto de tips del chef.
sslevelname: La nombre del nivel del reto de tips del chef.
ssbadge: La imagen del nivel del reto de tips del chef.
ssfalta: La cantidad de puntos que falta para el siguiente nivel del reto de tips del chef.
total: La cantidad de puntos total del chef.
mes: La cantidad de puntos del mes del chef.
level: El nivel del chef.
levelname: La nombre del nivel del chef.
badge: La imagen del nivel del chef.
falta: La cantidad de puntos que falta para el siguiente nivel del chef.
fechaultimalectura: La fecha de ultima lectura de las notificaciones.
cantidadmensajes: La cantidad de mensajes pendientes en las notificaciones.
cantidadtemas: La cantidad de temas en los foros de tips.
cantidadrecetas: La cantidad de recetas del chef.
cantidadcolecciones: La cantidad de colecciones del chef.
cantidadfavoritos: La cantidad de favoritos del chef.
cantidadlistasuper: La cantidad de listas del super del chef. Es 0 o 1.
cantidadseguidores: La cantidad de seguidores del chef.
cantidadsiguiendo: La cantidad de chefs siguiendo este chef.
Recurso GET 'gigya'
Los datos de gamification a través de gigya (puntos, retos, avance, nivel) de un chef se obtienen consumiendo el recurso siguiente:
[GET] /v2/chef/:Clave/gigya.json
:Clave es la clave del recurso solicitado.
Este recurso no se usa en la API por el momento
Recurso PUT
Este recurso permite dar de alta un chef nativo, a través de la típica pantalla:
Nombre:
Apellido:
Correo:
Contraseña:
Repite la contraseña:
Recibir newsletter ?
Aceptar las políticas:
Los parámetros a enviar al PUT son los siguientes:
usuario = el correo del nuevo chef. Será validado por el servidor.
nombre = el nombre del nuevo chef. Obligatorio.
contrasena = la contraseña del nuevo chef. Obligatorio.
contrasena2 = la contraseña repetida del nuevo chef. Obligatorio. Debe de ser la misma que la anterior.
apellido = el appellido del nuevo chef. Obligatorio.
newsletter = si desea o no recibir el newsletter: 0 = no, 1 = si
politicas = aceptar las políticas, tiene que ser 1
formato: Es el formato en el cual queremos los resultados. Es uno de 'json', 'xml' o 'txt. Es un parámetro opcional, y si no esta especificado regresa un JSON por defecto.
Si todo funciona bien, el servicio regresa:
{"estatus":"OK"}
En caso de error, el servicio regresa el siguiente formato:
{"estatus":"Error","error":"usuario","message":"Correo con error.","codigo":3}
estatus = Error, invariable.
error = el nombre del campo en el cual ocurre el error.
message = el mensaje del error.
codigo = el tipo de error si el campo es 'usuario' (el correo).
Los valores son:
error = usuario, contrasena, contrasena2, nombre, apellido, politicas
codigo = 1: este correo ya existe en la base de datos de kiwilimon
codigo = 2: el dominio del correo correo no existe o no tiene servidor de correos
codigo = 3: el correo esta vacio o no es un correo bien formateado
Recurso POST
Este recurso permite dar de modificar un chef, a través de la típica pantalla:
Nombre:
Apellido:
Correo:
Recibir newsletter ?
Contraseña: (solo para cambiarla)
Repite la contraseña: (solo para cambiarla)
Solamente el usuario conectado puede modificar sus propios datos.
Los parámetros a enviar al POST son los siguientes:
token = el token del usuario conectado.
usuario = el correo del nuevo chef. Será validado por el servidor.
nombre = el nombre del nuevo chef. Obligatorio.
apellido = el appellido del nuevo chef. Obligatorio.
newsletter = si desea o no recibir el newsletter: 0 = no, 1 = si
contrasena = la contraseña del nuevo chef. Opcional. Si no viene con valor, entonces la contraseña no se cambiará. Si viene con valor, contrasena2 debe de tener la misma contraseña.
contrasena2 = la contraseña repetida del nuevo chef. Opcional. Debe de ser la misma que la anterior. si se envia.
formato: Es el formato en el cual queremos los resultados. Es uno de 'json', 'xml' o 'txt. Es un parámetro opcional, y si no esta especificado regresa un JSON por defecto.
Si todo funciona bien, el servicio regresa:
{"estatus":"OK"}
En caso de error, el servicio regresa el siguiente formato:
{"estatus":"Error","error":"usuario","message":"Correo con error.","codigo":3}
estatus = Error, invariable.
error = el nombre del campo en el cual ocurre el error.
message = el mensaje del error.
codigo = el tipo de error si el campo es 'usuario' (el correo).
Los valores son:
error = usuario, contrasena, contrasena2, nombre, apellido
codigo = 1: este correo ya existe en la base de datos de kiwilimon
codigo = 2: el dominio del correo correo no existe o no tiene servidor de correos
codigo = 3: el correo esta vacio o no es un correo bien formateado