Así que estoy trabajando con esta API y calcula automáticamente la tarifa de envío en función de la dirección que ingresaste.
Aquí están los documentos de API que estoy usando https://developer.doordash.com/en-US/api/drive#operation/DeliveryQuote
Entonces, cuando agrego mis valores a mi formulario y obtengo mis datos, registra la tarifa en mi consola de esta manera
Mi problema es ¿cómo obtengo este valor del campo de datos?
traté de hacer
const response = await client.createDelivery( { order_value: req.body.item1, fee: fee, tip: req.body.item1, }, console.log(fee) ); console.log(response); res.send(response); } )¿Pero dice que la tarifa no está definida?
También probé fee: "" y tampoco funciona.
Incluso puse console.log(data.fee) y dice que los datos no están definidos
Mi último intento, lo cambié a console.log(response.fee) y todavía se mostraba indefinido en la consola.
¿Cómo obtengo el valor de la tarifa en console.log?
Tenga en cuenta que estoy usando express y para mi valor de propina tengo mi formulario de entrada llamado "elemento1" para poder acceder a él diciendo req.body.item1 para obtener ese valor
Sin embargo, el valor de la tarifa lo genera automáticamente la API, por lo que no puedo cambiarlo ni actualizarlo manualmente.
{ data { currency: 'USD', fee: 975, otherData: otherData, } }data y luego recuperar fee de ese objeto como data.fee const response = await client.createDelivery( { order_value: req.body.item1, fee: data.fee, // changed from fee to data.fee tip: req.body.item1, }, console.log(data.fee) );data , no habría ningún objeto de tarifa para tomar, que es lo que lo hace indefinido ...Intenta usar
console.log(response.data.fee) Y no estoy seguro de lo que hace tu client.createDelivery . Si envía una respuesta, entonces debe mostrarla como
const response = await client.createDelivery( { order_value: req.body.item1, fee: fee, tip: req.body.item1, }, console.log(fee) ).then((res) => res.json()).then((resData) => console.log(resData.data.fee));