Hola comunidad,
Estoy trabajando en un flujo de BLiP donde necesito enviar un array JSON válido desde la variable cart a mi backend mediante una acción HTTP. Sin embargo, BLiP me obliga a colocar comillas alrededor de la variable {{cart}}, lo que convierte el contenido en un string JSON serializado en lugar de un arreglo válido.
Actualmente, mi configuración en el cuerpo de la acción HTTP es la siguiente:
json
{ "idEstimation": 0, "idDelivery": 2, "idOrder": "ventas-whatsapp-create", "cediMoovin": true, "pointDelivery": { "latitude": "{{latitude}}", "longitude": "{{longitude}}", "locationAlias": "{{notes}}", "name": "{{contact.name}}", "phone": "88888888", "notes": "Entrega de producto-compra por whatsapp" }, "listProduct": "{{cart}}", // Esto envía `cart` como string "ensure": true }
El valor que estoy recibiendo en el backend para la propiedad listProduct es un string JSON serializado:
json
"listProduct": "[{\"codeProduct\":\"COU-LDPE-3728-50\",\"nameProduct\":\"*Bolsa Courrier Bio*\",\"description\":\"37x28cm\",\"quantity\":2,\"price\":11208.1,\"weight\":0.5},{\"codeProduct\":\"SOB-NEG-BIO-1521-10\",\"nameProduct\":\"*Sobre negro con burbuja*\",\"description\":\"150x215mm\",\"quantity\":10,\"price\":182115,\"weight\":0.5}]"
El backend espera recibir listProduct como un array JSON válido, no como un string. Lo que debería recibir es esto:
json
"listProduct": [ { "codeProduct": "COU-LDPE-3728-50", "nameProduct": "*Bolsa Courrier Bio*", "description": "37x28cm", "quantity": 2, "price": 11208.1, "weight": 0.5 }, { "codeProduct": "SOB-NEG-BIO-1521-10", "nameProduct": "*Sobre negro con burbuja*", "description": "150x215mm", "quantity": 10, "price": 182115, "weight": 0.5 } ]
Pregunta:
- ¿Hay alguna manera de enviar
cartdirectamente como un arreglo JSON válido en el cuerpo de la acción HTTP, sin envolverlo en comillas? - Si no es posible, ¿qué alternativas puedo usar para que el backend reciba
listProducten el formato correcto?
Notas:
- No puedo eliminar manualmente las comillas al configurar el cuerpo de la acción HTTP porque BLiP las requiere para las variables dinámicas.
- Prefiero evitar modificar el backend para deserializar el string, pero podría hacerlo si no hay solución directa desde BLiP.
¡Gracias de antemano por su ayuda! 😊
Ejemplo de flujo simplificado en BLiP:
-
En mi flujo, la variable
cartse genera así:json
[ { "codeProduct": "COU-LDPE-3728-50", "nameProduct": "*Bolsa Courrier Bio*", "description": "37x28cm", "quantity": 2, "price": 11208.1, "weight": 0.5 }, { "codeProduct": "SOB-NEG-BIO-1521-10", "nameProduct": "*Sobre negro con burbuja*", "description": "150x215mm", "quantity": 10, "price": 182115, "weight": 0.5 } ] -
El problema surge al enviarlo en la acción HTTP, como mencioné anteriormente.
¡Espero sus sugerencias y consejos!
