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": "r{\"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": l { "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
cart
directamente 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
listProduct
en 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 cart
se genera así:
json
p { "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!
Olá comunidade,
Estou trabalhando em um fluxo no BLiP onde preciso enviar um array JSON válido a partir da variável cart
para meu backend usando uma ação HTTP. No entanto, o BLiP exige que eu coloque aspas ao redor da variável {{cart}}
, o que converte o conteúdo em uma string JSON serializada em vez de um array válido.
Atualmente, minha configuração no corpo da ação HTTP é a seguinte:
json
Copiar código
{ "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 produto-compra por WhatsApp" }, "listProduct": "{{cart}}", // Isso envia `cart` como uma string "ensure": true }
O valor que estou recebendo no backend para a propriedade listProduct
é uma string JSON serializada:
json
Copiar código
"listProduct": "e{\"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 com burbuja*\",\"description\":\"150x215mm\",\"quantity\":10,\"price\":182115,\"weight\":0.5}]"
O backend espera receber listProduct
como um array JSON válido, e não como uma string. O formato esperado é este:
json
Copiar código
"listProduct": p { "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 com burbuja*", "description": "150x215mm", "quantity": 10, "price": 182115, "weight": 0.5 } ]
Pergunta:
- Existe alguma maneira de enviar
cart
diretamente como um array JSON válido no corpo da ação HTTP, sem colocá-lo entre aspas? - Caso isso não seja possível, quais alternativas posso usar para que o backend receba
listProduct
no formato correto?
Notas:
- Não consigo remover manualmente as aspas ao configurar o corpo da ação HTTP porque o BLiP exige aspas para variáveis dinâmicas.
- Prefiro evitar alterar o backend para desserializar a string, mas posso fazer isso caso não exista uma solução direta no BLiP.
Desde já, agradeço pela ajuda! 
Exemplo de fluxo simplificado no BLiP:
-
No meu fluxo, a variável cart
é gerada assim:
json
Copiar código
e { "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 com burbuja*", "description": "150x215mm", "quantity": 10, "price": 182115, "weight": 0.5 } ]
-
O problema ocorre ao enviar essa variável na ação HTTP, como mencionei acima.
Espero as sugestões e conselhos de vocês!
@emedina você pode enviar sem as aspas (“). Apesar do builder reclamar como se estivesse com erro isso enviará para seu backend o json corretamente.