Documentación - Contenedor 'coleccion'

¿Buscas la Documentación API v1?

Introducción

Este contenedor permite administrar los datos de una colección así como solicitar las recetas que estan adentro, paginadas.

Recurso 'recetas'

Para recuperar una lista de recetas paginadas dentro de una colección Los datos básicos de una clasificación se obtienen consumiendo el recurso siguiente:
[GET] /v2/coleccion/:Token/:Coleccion/:Primero/:Cantidad/recetas.:Formato
:Token: El token del chef conectado e identificado a través del contenedor 'login' si desea consultar las recetas del chef conectado, o la clave del chef a consultar en es otro chef, o el UUID del dispositivo si es una coleccion comprada.
:Coleccion: Es la clave de la colección solicitada. Puede ser tambien "misrecetas" o "favoritos" si el usuario viene con un token (mis favoritos, que es una colección privada)
:Primero: Es el primer objeto de la lista que necesitamos. 0 indica que no hay offset y apunta el primero de la lista. De 1 en adelante es un offset para saltar cantidad de objetos en la lista total.
:Cantidad: Es la cantidad de objetos que queremos regresar a partir del "primero" solicitado.
: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.

Es importante recalcar que si envia un token como clave de chef, entonces tendrá acceso a los 4 tipos de colecciones del chef, y si envia la clave de otro chef, solamente podrá consultar sus colecciones públicas (tipo 1: 'Mis recetas' y tipo 3: 'Colecciones').
Si envia el UUID del dispositivo podrá consultar las colecciones compradas.

El sistema regresará los datos de las recetas de esta clasificación:
{
  {RECETA-1},
  {RECETA-2},
  ...
}
Cada receta es un recurso mdata del contenedor 'receta'.

El caso de error, el sistema puede regresar:
- Error 401: token no válido.
- Error 404: datos no encontrados, si cualquier parámetro esta mal.

Crear una colección

Para crear una nueva colección y -eventualmente- agregar la primera receta en esta colección:
[POST] /v2/coleccion
token=[token]
nombre=[nombre]
receta=[clave]
formato=json
Los campos son los siguientes:
token: El token del chef conectado e identificado a través del contenedor 'login'.
nombre: El nombre de esta nueva colección. Máximo 30 carácteres.
receta: La clave de la receta que desea agregar a esta nueva colección. Es opcional.
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.

Resultados posibles:
Error 401: token invalido
Si todo esta bien, regresa un estatus OK:
{
  "estatus":"OK",
  "clave":[clave],
  "tipo":3,
  "codigoreceta":[codigo]
}
clave: La clave de la colección recien creada.
tipo: El tipo de colección creada. Siempre es 3 (colección pública).
codigoreceta: Contiene el código de inserción de la receta en la clasificación:
0 si no habia receta especificada.
-1 ó -2: hubo un error de inserción (la receta no existe).
>0: todo funciono bien, es la clave de la inserción.

Modificar una colección

[PUT] /v2/coleccion
{ token=[token],
  coleccion=[clave],
  nombre=[nombre],
  formato=json
}
En una solicitud PUT, los datos enviados en el cuerpo estan formateados en un objeto en formato JSON.
Los campos son los siguientes:
token: El token del chef conectado e identificado a través del contenedor 'login'.
coleccion: La clave de la colección a modificar.
nombre: El nuevo nombre de esta colección. Máximo 30 carácteres.
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.

Resultados posibles:
Error 401: token invalido
Mensaje de error:
{
  "estatus" => "Error",
  "error":1,
  "message":"Error, colección no válida"
}
Si todo esta bien, regresa un estatus OK:
{
  "estatus":"OK"
}

Borrar una colección

Para borrar completamente una colección:
[DELETE] /v2/coleccion/:Token/:Coleccion/:Formato
Los campos son los siguientes:
:Token: El token del chef conectado e identificado a través del contenedor 'login'.
:Coleccion: La clave de la colección para borrar. Solamente se aceptan colecciones de tipo 3 (normales), ya que de tipo 1, 2 y 4 son inmutables o no borrables (solamente el sistema las puede modificar).
: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.

Resultados posibles:
Error 401: token invalido
Error 404: formato invalido, recurso no disponible
Error en el formato solicitado:
{
  "estatus" => "Error",
  "error":1,
  "message":"Error, colección no válida"
}
Si todo esta bien, regresa un estatus OK:
{
  "estatus" => "OK",
}