Documentación - Contenedor 'receta'

¿Buscas la Documentación API v1?

Introducción

El contenedor receta regresa las información de las recetas disponibles en el sistema.
Hay varios recursos disponibles en el contenedor:
- data: contiene los datos completos de una receta
- resumen: contiene la datos para un resumen de una receta
- mdata: contiene los datos completos de una receta simplificados para una APP mobile
- mresumen: contiene los datos para un resumen de una receta para una APP mobile

Recurso 'data'

Los datos básicos de una receta se obtienen consumiendo el recurso siguiente:
[GET] /v2/receta/:Clave/data.json
Los mismos datos más los datos sociales del chef (si la tiene favorita, en colecciones, y sigue el chef):
[GET] /v2/receta/:Clave/:Token/data.json
Si es una receta comprada:
[GET] /v2/receta/:Clave/:UDID/data.json
Si es una liga de receta:
[GET] /v2/receta/:liga/data.json
:liga es la liga única de la receta, formato nombre-de-la-receta.
:Clave es la clave del recurso solicitado.
:Token es el token del chef conectado.
:UDID es el unique device ID que compró esta receta.

El sistema regresará los datos de la receta solicitada bajo este formato:
{
  {RECETA}
  "ingredientes":
  [
    {INGREDIENTE-1},
    {INGREDIENTE-2},
    ...
  ],
  "pasos":
  [
    {PASO-1},
    {PASO-2},
    ...
  ],
  "imagenes":
  [
    {IMAGEN-1},
    {IMAGEN-2},
    ...
  ],
  "clasificaciondata": {CLASIFICACION-PRINCIPAL},
  "clasificaciones":
  [
    {CLASIFICACION-1},
    {CLASIFICACION-2},
    ...
  ]
}
A continuación se detallan los varios bloques:
RECETA:
    "clave": 1,
    "estatus": 1,
    "chef": 3,
    "nombre": "Sopa de Verduras",
    "link": "sopa-de-verduras",
    "ruta": "/receta/sopas/sopa-de-verduras",
    "imagen": "6154.jpg",
    "porciones": 6,
    "dificultad": 1,
    "tiempo": "40",
    "tiempococcion": null,
    "descripcion": "Un caldo de tomate con muchas diferentes verduras.",
    "youtube": null,
    "palabrasclave": "nutricion, dieta, lechuga, caldo, crema, vegetales ",
    "presentacion": "Sirva muy caliente y presente con acompañantes como limones, chile piquín, salsa maggui y salsa inglesa.",
    "tips": "",
    "creacion": "2009-11-28T17:10:50.00-06",
    "modificacion": "2012-10-29T20:39:56.00-06",
    "origen": 1,
    "rating": 4.7,
    "protegido": null,
    "comentario": "",
    "view": 17098,
    "viewteaser": null,
    "lastmodif": "2013-09-27T09:52:57.00-06",
    "lastuser": 1,
    "liberado": null,
    "userliberado": null,
    "calorias": 159,
    "revisado": 1,
    "cocinado": 1,
    "ratinglocal": null,
    "fechadestacada": null,
    "fuente": null,
    "prodsuperama": 1,
    "extra1": null,
    "review": 16,
    "recomendado": null,
    
    "video": null,
    "cantidadimagenes": 3,
    "display": 2,
    "chefdata": {
        "nombre": "Lorenza",
        "apellido": "Avila",
        "rid": "7036255978",
        "avatar": "https://graph.facebook.com/v2.0/500055226/picture?type=large",
        "ruta": "/chef/7036255978"
    },
    "clasificaciondata": {
        "clave": 18362,
        "receta": 1,
        "clasificacion": 122,
        "orden": 122,
        "ordenclasificacion": 18362
    },
    "nombreclasificacion": null,
   "mescreacion": "Noviembre 2009",
    "textoporciones": "6 porciones",
    "textotiempoprep": "40 min",
    "textotiempococc": "0 min",
    "textotiempo": "40 min",
    "isotiempo": "PT40M",
    "textodificultad": "Baja",
    "prating": "94%",
    
/* Si agrego un token del chef conectado: */
    "favorita": 0,
    "colecciones": 2,
    "seguido": 1
/* Fin del bloque con token */
        
INGREDIENTE-n:
{
    "clave": 41586,
    "receta": 1,
    "ingrediente": 509,
    "orden": 41587,
    "medida": 86,
    "cantidad": "1",
    "observacion": "en cuadritos",
    "detalle": null,
    "skusuperama": "0000000004066",
    "ignora": null,
    "cantidadextra": null,
    "medidasi": null,
    "num": 2,
    "datamedida": {
        "clave": 86,
        "nombre": "taza",
        "plural": "tazas",
        "divisible": 1,
        "tipo": 3,
        "uso": 3,
        "acumulable": 1,
        "factorconversion": 250,
        "estatus": 1,
        "unidadsi": 42,
        "factorconversionalt": 0.25,
        "unidadsialt": 49,
        "oficial": 1
    },
    "nombrecompuesto": "1 taza de ejote en cuadritos",
    "pasillo": 94,
    "grupo": "1100"
},

PASO-n:
    "clave": 83882,
    "receta": 1,
    "orden": 1,
    "paso": "En un sartén caliente el aceite y dore las papas, zanahorias, ejotes, elotes y chicharos por aproximadamente 10 minutos.",
    "imagen": null
},

IMAGEN-n:
            "clave": 6154,
            "estatus": 1,
            "receta": 1,
            "chef": 3,
            "orden": 3,
            "imagen": "6154.jpg",
            "creacion": "2013-07-03T11:13:45.65-06",
            "fecha": "2013-07-03T11:13:45.00-06",
            "peso": 52567,
            "alto": 300,
            "ancho": 400,
            "ruta": "http://develcdn4.kiwilimon.com/recetaimagen/1/6154.jpg",
            "chefnombre": "Lorenza Avila",
            "chefrid": "7036255978"
        },

CLASIFICACION-n:
            "clave": 18362,
            "receta": 1,
            "clasificacion": 122,
            "orden": 122,
            "ordenclasificacion": 18362,
            "data": {
                "clave": 122,
                "familia": "rec",
                "padre": null,
                "virtual": null,
                "orden": 122,
                "estatus": 1,
                "estatusapp": 1,
                "nombre": "Sopas",
                "htmltitle": "Recetas de Sopas - Kiwilimon",
                "titulo": "Recetas de Sopas",
                "link": "sopas",
                "ruta": "/recetas/sopas",
                "palabras": "Empieza tu comida con una deliciosa receta de sopa, aquí podrás encontrar desde sopas frías como la sopa de limón o gazpacho, hasta sopas calientitas como la sopa de cebolla gratinada o la sopa de verduras.",
                "destacada": 621,
                "imagentitulo": "Recetas de Sopas",
                "imagen": "122.jpg",
                "extra1": "",
                "extra2": "",
                "extra3": "",
                "extra4": "",
                "extra5": "",
                "lastmodif": "2014-09-04T11:51:27.00-06",
                "lastuser": 8,
                "plantilla": "",
                "plantillaparams": "",
                "titulo_uno": "",
                "cuerpo_uno": "",
                "titulo_dos": "",
                "cuerpo_dos": "",
                "icono": "i122.png",
                "recetasrecomendadas": null,
                "view": 18864
Los campos son:
clave: la clave interna de referencia de la receta en el GRAPH.
orden: número de orden. Normalmente el arreglo viene ordenado por este campo.
nombre: el nombre de la receta de clasificaciones.
estatus: el estatus de la receta. Siempre será 1 ya que solo las recetas publicadas son visibles en el GRAPH.
link: es la liga básica para calcular la URL de la receta.
titulo: es el título HTML de la página referencia (land-page) de la receta.
palabras: es le meta tag "description" de la página referencia (land-page) de la receta.
ruta: es la ruta completa de la URL para acceder la página referencia (land-page) de la receta. Hay que agregar http://www.kiwilimon.com antes para acceder desde afuera del sitio.
cantidadclasificaciones: es la cantidad de clasificaciones publicadas en esta receta.

SI solicitó la receta con un token de chef conectado, entonces regresará además estos 3 campos:
favorita: La cantidad de veces que el chef la tiene en favoritos. 0 si no, 1 si la tiene.
colecciones: La cantidad de veces que el chef la tiene en colecciones. 0 si no, >= 1 si la tiene.
seguido: Contiene 0 si no se sigue el chef de esta receta, 1 si lo sigue. Si además es el dueño de la receta entonces siempre regresará 2 (es mía)

Recurso 'mdata'

Los datos de la receta para APP mobile se obtienen consumiendo el recurso siguiente:
[GET] /v2/receta/:Clave/mdata.json
Si es una receta comprada:
[GET] /v2/receta/:Clave/:UDID/mdata.json
Si es una liga de receta:
[GET] /v2/receta/:liga/mdata.json
:liga es la liga única de la receta, formato nombre-de-la-receta.
:Clave es la clave del recurso solicitado.
:UDID es el unique device ID que compró esta receta.

El sistema regresará los datos de la receta solicitada bajo el mismo formato que 'data' sin los datos que no son relevantes para la APP. El objeto en sensiblemente más ligero.
{
  {RECETA}
  "ingredientes":
  [
    {INGREDIENTE-1},
    {INGREDIENTE-2},
    ...
  ],
  "pasos":
  [
    {PASO-1},
    {PASO-2},
    ...
  ],
  "imagenes":
  [
    {IMAGEN-1},
    {IMAGEN-2},
    ...
  ],
  "clasificaciondata": {CLASIFICACION-PRINCIPAL},
  "clasificaciones":
  [
    {CLASIFICACION-1},
    {CLASIFICACION-2},
    ...
  ]
}

Recurso 'resumen'

Los datos básicos de una receta para armar una ficha resumen:
[GET] /v2/receta/:Clave/resumen.json
Si es una receta comprada:
[GET] /v2/receta/:Clave/:UDID/resumen.json
Si es una liga de receta:
[GET] /v2/receta/:liga/resumen.json
:liga es la liga única de la receta, formato nombre-de-la-receta.
:Clave es la clave del recurso solicitado.
:UDID es el unique device ID que compró esta receta.

El sistema regresará los datos de la receta solicitada:
{
    "clave": 1,
    "estatus": 1,
    "chef": 3,
    "nombre": "Sopa de Verduras",
    "link": "sopa-de-verduras",
    "ruta": "/receta/sopas/sopa-de-verduras",
    "imagen": "6154.jpg",
    "porciones": 6,
    "dificultad": 1,
    "tiempo": "40",
    "tiempococcion": null,
    "descripcion": "Un caldo de tomate con muchas diferentes verduras.",
    "youtube": null,
    "palabrasclave": "nutricion, dieta, lechuga, caldo, crema, vegetales ",
    "presentacion": "Sirva muy caliente y presente con acompañantes como limones, chile piquín, salsa maggui y salsa inglesa.",
    "tips": "",
    "creacion": "2009-11-28T17:10:50.00-06",
    "modificacion": "2012-10-29T20:39:56.00-06",
    "origen": 1,
    "rating": 4.7,
    "protegido": null,
    "comentario": "",
    "view": 17098,
    "viewteaser": null,
    "lastmodif": "2013-09-27T09:52:57.00-06",
    "lastuser": 1,
    "liberado": null,
    "userliberado": null,
    "calorias": 159,
    "revisado": 1,
    "cocinado": 1,
    "ratinglocal": null,
    "fechadestacada": null,
    "fuente": null,
    "prodsuperama": 1,
    "extra1": null,
    "review": 16,
    "recomendado": null,
    "cantidadingredientes": 11,
    "cantidadpasos": 5,
    "cantidadimagenes": 3,
    "video": null,
    "display": 2,
    "chefdata": {
        "clave": 3,
        "rid": "7036255978",
        "nombre": "Lorenza",
        "apellido": "Avila",
        "avatar": "https://graph.facebook.com/v2.0/500055226/picture?type=large",
        "registrado": "2009-12-02T03:55:26.00-06",
        "sstotal": 0,
        "ssmes": 0,
        "sslevel": 0,
        "sslevelname": "",
        "ssbadge": "",
        "ssfalta": 0,
        "total": 12186,
        "mes": 8130,
        "level": 7,
        "levelname": "Top Chef",
        "badge": "http://cdn.kiwilimon.com/retos/TopChef-7.png",
        "falta": 0,
        "fechaultimalectura": "2014-10-10T15:31:16.76-06",
        "cantidadmensajes": 22,
        "cantidadtemas": 13,
        "cantidadrecetas": 185,
        "cantidadcolecciones": 5,
        "cantidadfavoritos": 22,
        "cantidadlistasuper": 1,
        "cantidadseguidores": 91
    },
    "mescreacion": "Noviembre 2009",
    "textoporciones": " porciones 6",
    "textotiempo": "40 minutos",
    "textodificultad": "Baja",
    "prating": "94%",
    "favoritos": "6",
    "clasificacionprincipal": 122
}

Recurso 'mresumen'

Los datos básicos de una receta para armar una ficha resumen en una APP mobile:
[GET] /v2/receta/:Clave/mresumen.json
Si es una receta comprada:
[GET] /v2/receta/:Clave/:UDID/mresumen.json
Si es una liga de receta:
[GET] /v2/receta/:liga/mresumen.json
:liga es la liga única de la receta, formato nombre-de-la-receta.
:Clave es la clave del recurso solicitado.
:UDID es el unique device ID que compró esta receta.

El sistema regresará los datos de la receta solicitada:
{
    "clave": 1,
    "chef": 3,
    "nombre": "Sopa de Verduras",
    "link": "sopa-de-verduras",
    "ruta": "/receta/sopas/sopa-de-verduras",
    "imagen": "6154.jpg",
    "porciones": 6,
    "dificultad": 1,
    "tiempo": "40",
    "tiempococcion": null,
    "descripcion": "Un caldo de tomate con muchas diferentes verduras.",
    "palabrasclave": "nutricion, dieta, lechuga, caldo, crema, vegetales ",
    "presentacion": "Sirva muy caliente y presente con acompañantes como limones, chile piquín, salsa maggui y salsa inglesa.",
    "tips": "",
    "creacion": "2009-11-28T17:10:50.00-06",
    "rating": 4.7,
    "view": 17098,
    "calorias": 159,
    "ratinglocal": null,
    "fechadestacada": null,
    "fuente": null,
    "prodsuperama": 1,
    "extra1": null,
    "review": 16,
    "recomendado": null,
    "cantidadingredientes": 11,
    "cantidadpasos": 5,
    "cantidadimagenes": 3,
    "video": false,
    "display": 2,
    "chefdata": {
        "clave": 3,
        "rid": "7036255978",
        "nombre": "Lorenza",
        "apellido": "Avila",
        "avatar": "https://graph.facebook.com/v2.0/500055226/picture?type=large",
        "registrado": "2009-12-02T03:55:26.00-06",
        "sstotal": 0,
        "ssmes": 0,
        "sslevel": 0,
        "sslevelname": "",
        "ssbadge": "",
        "ssfalta": 0,
        "total": 12186,
        "mes": 8130,
        "level": 7,
        "levelname": "Top Chef",
        "badge": "http://cdn.kiwilimon.com/retos/TopChef-7.png",
        "falta": 0,
        "fechaultimalectura": "2014-10-10T15:31:16.76-06",
        "cantidadmensajes": 22,
        "cantidadtemas": 13,
        "cantidadrecetas": 185,
        "cantidadcolecciones": 5,
        "cantidadfavoritos": 22,
        "cantidadlistasuper": 1,
        "cantidadseguidores": 91
    },
    "mescreacion": "Noviembre 2009",
    "textoporciones": " porciones 6",
    "textotiempo": "40 minutos",
    "textodificultad": "Baja",
    "prating": "94%",
    "favoritos": "6",
    "clasificacionprincipal": 122
}

metodo 'PUT'

Este servicio se usa para dar de alta una nueva receta
El funcionamiento de la alta de una receta es de la manera siguiente:
1. Captura receta
2. => subir fotos (el sistema da un ID temporal)
3. Enviar la receta a PUT (el PUT regresa la clave de la receta o un error)
4. Si hay un error: notificarlo en el campo correspondiente
5. Si regresa la clave, poner el preview de la receta (con los datos enviados)
6. El usuario puede "regresar para modificar", o "enviar a revisión"
7. Para enviar a revisión, solo enviar un POST con la clave.
8. Para regresar a modificar, se regresa a la pantalla de edición con los mismos datos de la captura, pero se enviará en POST con la nueva clave de la receta dada por el PUT.

Notas: Se puede guardar la receta capturada localmente mientras no se envia a revisión, en caso de que se cierra el APP o similar (se guarda con la misma clave del PUT ya que el servidor la guarda así.

Datos a enviar en el body del PUT en JSON:
token = el token del usuario conectado, obligatorio.
nombre = el nombre de la receta.
descripcion = la descripción de la receta.
dificultad = la dificultad de la receta, 1 = facil, 2 = mediano, 3 = dificil.
porciones = cantidad de porciones, de 1 a 100.
concurso = 1 i el usuario quiere particupar en el concurso actual.
tiempococcion = el tiempo de cocción de la receta en minutos, de 0 a 1000
tiemporeceta = el tiempo de preparación de la receta en minutos, de 0 a 1000
El sistema espera que tiempococcion + tiemporeceta sea entre 1 y 1000, es decir mínimo uno es obligatorio.
ingredientes = cantidad de ingredientes a recibir, tiene el valor 1 si se reciben todos los ingredientes en un solo campo, o la cantidad real de ingredientes si se reciben en varios campos (de 1 a 40).
recetaingredientesX = Es el ingrediente numero X. X va de 1 hasta el valor de "ingredientes" incluido (Genérico. Ver el campo siguiente).
recetaingredientes1 = Es el ingrediente numero 1. Contiene la lista de todos los ingredientes de la receta en un solo campo. Acepta hasta 4000 carácteres.
pasos = cantidad de pasos a recibir, tiene el valor 1 si se reciben todos los pasos en un solo campo, y entre 1 y 40 i se reciben varios campos.
recetapasosX = Es el paso numero X. X va de 1 hasta el valor de "pasos" incluido (Genérico. Ver el campo siguiente).
recetapasos1 = Es el paso numero 1. Contiene la totalidad de todos los pasos en un solo campo. Acepta hasta 64000 carácteres.
imagenes = cantidad de imagenes subidas, entre 0 y 10
recetaimagenesX = Es el nombre de la imagen X, si hay imágenes. El nombre es regresado por el servicio POST /v2/foto al subir la imagen.
tips = algunos tips sobre la receta.
presentacion = algun dato sobre como presentar la receta.

El sistema regresa si todo esta bien:
{"estatus":"OK", "clave":"12345"}
clave es la clave de esta nueva receta insertada, a enviar en cualquier intercambio ulterior (modificacion, enviar a revisión).

Si hay un error, regresa un paquete de este tipo:
{"estatus":"Error","tipo":"nombre","message":"Nombre vacio."}
estatus = Error, invariable.
tipo = el nombre del campo en el cual ocurre el error.
message = el mensaje del error.

metodo 'POST'

Este servicio se usa para modificar una receta antes de enviarla a revisión. o enviarla a revisión

Solamente se pueden modificar recetas que pertenecen al usuario que hace el post, y que tiene un estatus "rechazado" o "en captura por el usuario" (durante el ciclo insertar => enviar a revisión). Una receta en revisión o publicada no puede ser modificada por los chefs.

Datos a enviar en el POST para modificación:
token = el token del usuario conectado, obligatorio.
clave = la clave de la receta, obligatorio.
nombre = el nombre de la receta.
descripcion = la descripción de la receta.
dificultad = la dificultad de la receta, 1 = facil, 2 = mediano, 3 = dificil.
porciones = cantidad de porciones, de 1 a 100.
concurso = 1 i el usuario quiere particupar en el concurso actual.
tiempococcion = el tiempo de cocción de la receta en minutos, de 0 a 1000
tiemporeceta = el tiempo de preparación de la receta en minutos, de 0 a 1000
El sistema espera que tiempococcion + tiemporeceta sea entre 1 y 1000, es decir mínimo uno es obligatorio.
ingredientes = cantidad de ingredientes a recibir, tiene el valor 1 si se reciben todos los ingredientes en un solo campo, o la cantidad real de ingredientes si se reciben en varios campos (de 1 a 40).
recetaingredientesX = Es el ingrediente numero X. X va de 1 hasta el valor de "ingredientes" incluido (Genérico. Ver el campo siguiente).
recetaingredientes1 = Es el ingrediente numero 1. Contiene la lista de todos los ingredientes de la receta en un solo campo. Acepta hasta 4000 carácteres.
pasos = cantidad de pasos a recibir, tiene el valor 1 si se reciben todos los pasos en un solo campo, y entre 1 y 40 i se reciben varios campos.
recetapasosX = Es el paso numero X. X va de 1 hasta el valor de "pasos" incluido (Genérico. Ver el campo siguiente).
recetapasos1 = Es el paso numero 1. Contiene la totalidad de todos los pasos en un solo campo. Acepta hasta 64000 carácteres.
imagenes = cantidad de imagenes subidas, entre 0 y 10
recetaimagenesX = Es el nombre de la imagen X, si hay imágenes. El nombre es regresado por el servicio POST /v2/foto al subir la imagen.
tips = algunos tips sobre la receta.
presentacion = algun dato sobre como presentar la receta.

El sistema regresa si todo esta bien:
{"estatus":"OK", "clave":"12345"}
clave es la misma clave enviada en el POST.

Si hay un error, regresa un paquete de este tipo:
{"estatus":"Error","tipo":"nombre","message":"Nombre vacio."}
estatus = Error, invariable.
tipo = el nombre del campo en el cual ocurre el error.
message = el mensaje del error.

Datos a enviar en el POST para enviar a revisión:
token = el token del usuario conectado, obligatorio.
clave = la clave de la receta, obligatorio.
revision = 1, obligatorio.

El sistema regresa si todo esta bien:
{"estatus":"OK","revision":"aceptada","clave":"12345"}
clave es la misma clave enviada en el POST.

Si hay un error, regresa un paquete de este tipo:
{"estatus":"Error","tipo":"clave","message":"Clave no existente."}
estatus = Error, invariable.
tipo = el nombre del campo en el cual ocurre el error.
message = el mensaje del error.