0% encontró este documento útil (0 votos)
6 vistas10 páginas

Documentación API Recipok.com

Este documento define la API de Recipok para integrar aplicaciones externas. Incluye detalles sobre los endpoints y parámetros para listar y crear recetas, órdenes y movimientos de materia prima.

Cargado por

Iesu Maider
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas10 páginas

Documentación API Recipok.com

Este documento define la API de Recipok para integrar aplicaciones externas. Incluye detalles sobre los endpoints y parámetros para listar y crear recetas, órdenes y movimientos de materia prima.

Cargado por

Iesu Maider
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Documentación de API

Introducción
Éste documento explicativo define y muestra la manera de integrar aplicaciones
externas con la API de [Link].

Todas las peticiones deben incluir en el encabezado (header) el campo apiKey, cuyo
valor será generado desde el módulo de "Integraciones" en
[Link]

Tabla de contenido
1. Recetas
Listar recetas
Crear receta
Agregar ingrediente

2. Ordenes
Listar ordenes
Obtener orden por ID
3. Movimientos de materia prima
Listar movimientos
Obtener movimiento por ID
Crear Movimiento de materia prima

Recetas
URL: [Link]

Métodos:
1. Listar recetas:

Descripción Éste endpoint no recibe parámetros, responde con un listado de


todas las recetas asociadas al usuario.

Endpoint: /list

Método: GET

Respuesta:

{
"items": [{
"id": "integer",
"sku": "string",
"name": "string",
"createdAt": "string",
"pva": "float",
"vat": "float",
"wholesalePva": "float",
"quantityType": "integer",
"quantityTypeText": "string",
"estimatedProductionTime": "integer",
"holded": "boolean",
"holdedId": "integer",
"nutritionalFacts": [{
"portion": "float",
"energeticValue": "float",
"fats": "float",
"saturatedFats": "float",
"monounsaturatedFats": "float",
"polyunsaturatedFats": "float",
"transFats": "float",
"omegaFats": "float",
"sugar": "float",
"carbohydrates": "float",
"salt": "float",
"protein": "float",
"extraFields": "json"
}]
}],
"count": "integer"
}

2. Crear receta:

Descripción Responde con el ID de la receta creada.

Endpoint: /

Método: POST

Parámetros admitidos en la petición

Enviar
Parámetro Tipo Descripción Requer
en

name string body Nombre de la receta SI

sku string body SKU Único de la receta SI

Precio Por (1:


quantityType integer body SI
Kilogramos;2:Unidades)

Tiempo de producción
estimatedProductionTime integer body SI
de receta en minutos

expirationDays string body Días de vida útil SI

Porcentaje de
pvp integer body SI
beneficio estimado

vat float body IVA SI

pva float body Precio SI

Determina si la receta
isPublic boolean body SI
es pública o no
piecesObtained integer body Cantidad de pizas NO
obtenidas (solo
recetas en unidades)

Indicaciones de
indications string body NO
elaboración

criticalStock string body Stock crítico NO

ID de ubicación por
location integer body NO
defecto

destino stock por


defecto(0:
stockDefault integer body NO
Ingredientes ; 1:
Producto terminado)

wholesalePrice float body Precio mayorista NO

energeticValue float body Valor energético en kJ NO

fats float body Grasas NO

saturatedFats float body Grasas saturadas NO

monounsaturatedFats float body Grasas monosaturadas NO

polyunsaturatedFats float body Grasas Polisaturadas NO

transFats float body Grasas trans NO

omegaFats float body Grasas omega NO

salt float body Sal NO

sugars float body Azúcar NO

carbohydrates float body Carbohidratos NO

protein float body Proteína NO

portion float body Porción NO

portionName string body Nombre de porción NO

Etiquetas asociadas a
tags array body NO
receta

Respuestas: Response - 201 OK

{
"id": "integer"
}

Response - 422 Error en validación de SKU

{
"message": "SKU cannot be duplicated"
}
Response - 422 Error en validación de formulario

{
"message": "Validation errors"
}

3. Agregar ingrediente a receta:

Descripción

Responde con el ID de la relación Ingrediente Receta.

Endpoint: /add-ingredient

Método: POST

Parámetros admitidos en la petición

Enviar
Parámetro Tipo Descripción Requerido
en

ID de la
recipeId integer body SI
receta

ID del
ingredientId integer body SI
ingrediente

Cantidad del
ingredientQuantity float body ingrediente en SI
gramos

Peso del
ingredientWeight float body ingrediete en SI
gramos

Uso o destino
del
ingDestination string body NO
ingrediente en
la receta

Respuestas:

Response - 201 OK

{
"id": "integer"
}

Response - 401 Receta no pertenece a compañía

{
"message": "Receta no pertenece a compañía"
}

Response - 401 Ingrediente no pertenece a compañía


{
"message": "Ingrediente no pertenece a compañía"
}

Response - 422 Error en validación de formulario

{
"message": "Validation errors"
}

Órdenes
URL: [Link]

Métodos:
1. Listar órdenes:

Descripción Éste endpoint responde con un listado de todos los pedidos


asociadas al usuario, activos e inactivos.

Endpoint: /list

Método: GET

Parámetros admitidos en la petición

Enviar
Parámetro Tipo Descripción
en

Nombre de cliente, número de pedido,


search string query
prefijo de tienda

id string query ID de pedido

Respuesta: Response - 200 OK

{
"items": [{
"id": "integer",
"customerId": "integer",
"customerName": "string",
"orderNumber": "integer",
"prefix": "string",
"createdAt": "string",
"deliveredAt": "string",
"observations": "string",
"status": "integer",
"statusText": "string",
"responsible": "string",
"products": [{
"id": "integer",
"recipeId": "integer",
"recipeName": "string",
"recipeSku": "string",
"holded": "boolean",
"holdedId": "string"
}]
}],
"count": "integer"
}

2. Obtener orden por ID:

Descripción

Responde con el objeto Orden.

Endpoint: /{id}

Método: GET

Parámetros admitidos en la petición

Parámetro Tipo Enviar en Descripción Requerido

id integer query ID de la orden SI

Respuestas:

Response - 200 OK

{
"items": {
"id": "integer",
"customerId": "integer",
"customerName": "string",
"orderNumber": "integer",
"prefix": "string",
"createdAt": "string",
"deliveredAt": "string",
"observations": "string",
"status": "integer",
"statusText": "string",
"responsible": "string",
"products": [
{
"id":"integer",
"recipeId":"integer",
"recipeName":"string",
"recipeSku":"integer",
"holded":"boolean",
"holdedId":"string"
},
{...},
{...}
]
}
}

Response - 401 Orden no pertenece a compañía

{
"message": "Orden no pertenece a compañía"
}

Movimientos de materia prima


URL: [Link]

Métodos:
1. Listar movimientos:

Descripción Éste endpoint responde con un listado de todos los pedidos


asociadas al usuario, activos e inactivos.

Endpoint: /list

Método: GET

Parámetros admitidos en la petición

Enviar
Parámetro Tipo Descripción
en

Nombre de cliente, número de pedido,


search string query
prefijo de tienda

id string query ID de Movimientop

Respuesta: Response - 200 OK

{
"items": [{
"id": "integer",
"lotNumber": "integer",
"createdAt": "string",
"inputType": "integer",
"totalNet": "float",
"total": "float",
"supplier": "string",
"user": "string",
"materials": [{
"id": "integer",
"ingredientId": "integer",
"ingredientName": "string",
"unit": "string",
"quantity": "float",
"price": "float",
"locationId": "integer",
"locationName": "string",
"expiryDate": "string",
"originLotNumber": "string",
"decrease": "float",
"temperature": "integer",
"observations": "string"
}]
}],
"count": "integer"
}

2. Obtener movimiento por ID:

Descripción

Responde con el objeto movimiento de materia prima.

Endpoint: /{id}

Método: GET

Parámetros admitidos en la petición

Parámetro Tipo Enviar en Descripción Requerido

id integer query ID del movimiento SI

Respuestas:

Response - 200 OK

{
"items": {
"id": "integer",
"lotNumber": "integer",
"createdAt": "string",
"inputType": "integer",
"totalNet": "float",
"total": "float",
"supplier": "string",
"user": "string",
"materials": [{
"id": "integer",
"ingredientId": "integer",
"ingredientName": "string",
"unit": "string",
"quantity": "float",
"price": "float",
"locationId": "integer",
"locationName": "string",
"expiryDate": "string",
"originLotNumber": "string",
"decrease": "float",
"temperature": "integer",
"observations": "string"
}]
}
}

Response - 401 Movimiento no pertenece a compañía

{
"message": "Movimiento no pertenece a compañía"
}

2. Crear movimiento de materia prima:

Descripción Responde con el ID del movimiento creado.

Endpoint: /

Método: POST

Parámetros admitidos en la petición

Enviar
Parámetro Tipo Descripción Requerido
en

lotNumber string body Número de lote origen SI

inputType integer body Admite 0(entrada) o 1(salida) SI

supplier integer body ID de proveedor NO

Contiene todos los elementos


materials array body SI
de materia prima

** Parámetros que conforman el objeto "material" enviando en "materials" **

Enviar
Parámetro Tipo Descripción Requerido
en

ingredientId integer body ID de ingrediente SI

price float body Precio unitario SI

originLotNumber string body Número de lote origen SI

grossWeight float body Peso bruto SI

netWeight float body Peso neto SI

Número de lote
internalLotNumber string body SI
interno

location integer body ID de ubicación SI

decrease float body Merma NO

Temperatura de
inletTemperature integer body NO
entrada

observations string body Observaciones NO


expiryDate string body Fecha de expíración NO
(Y-m-d)

Respuestas:

Response - 201 OK

{
"id": "integer"
}

Response - 422 Error en validación de formulario

{
"message": "Validation errors"
}

También podría gustarte