Seguinte, estou fazendo uma requisição do tipo GET na api do bling para puxar algumas notas fiscais e montar um pequeno sistema para minha empresa.
abaixo o arquivo fazendo a conexão com a api
api.js
var request = require('request'); // require in request
var initGet = {uri: 'https://bling.com.br/Api/v2/notasfiscais/json&apikey=minhaApiKey'};
var apiCaller = function (url, callback) {
//use request to make the external http call to the JSON api
request({
url: url,
json: true
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
callback(body);// Send body/response to callback
}
})
};
// Call the api with a call back
var apiGet = function(callback) {
return apiCaller(initGet.uri, callback);
};
// Export the functions for external access
module.exports = {
apiGet: apiGet
};
Rotas do express atraves do arquivo
users.js
const express = require('express');
const router = express.Router();
const bcrypt = require('bcryptjs');
const passport = require('passport');
const api = require('../config/api');
.
.
.
.
.
.
router.get('/notas', function(req, res){
api.apiGet(function (data) {
res.render('users/notas', { notas: data.retorno.notasfiscais});
});
});
O Bling fornece os dados desta maneira
{
"retorno": {
"notasfiscais": [
{
"notafiscal": {
"serie": "1",
"numero": "000003",
"numeroPedidoLoja": "100000002",
"loja": 0,
"tipo": "S",
"situacao": "Rejeitada",
"contato": "Organisys Software",
"cnpj": "99999999000199",
"vendedor": "",
"dataEmissao": "2009-09-25 00:00:00",
"valorNota": 0.00,
"chaveAcesso": "43130893518124000144550010023289261494793111",
"tipoIntegracao": "Magento",
"codigosRastreamento": {
"codigoRastreamento": "PI000000014BR"
},
"cfops": [5102],
"transporte": {
"transportadora": "Transportadora",
"tipo_frete": "R",
"servico_correios": "PAC Faixa",
"volumes": [
{
"idServico" : 4627,
"servico": "PAC Faixa",
"codigoRastreamento": "PI000000014BR",
"dataSaida": "2015-11-04",
"prazoEntregaPrevisto": 3,
"valorFretePrevisto": 0.00
}
],
"enderecoEntrega": {
"nome": "Organisys Software Entrega",
"endereco": "Rua Assis Brasil",
"numero": "222",
"complemento": "",
"cidade": "Bento Gonçalves",
"bairro": "Centro",
"cep": "95.700-000",
"uf": "RS"
}
}
}
}
]
}
}
Minha duvida… no log consigo ver exatamente a nota que desejo passando
console.log(data.retorno.notasfiscais[0]);
Mas se passo para minha view
notas.pug
extends ../layout
block content
h1 Notas Fiscais
each lista in notas
p #{lista}
Me mostra apenas como [object Object]
Alguém sabe onde estou errando? já tentei usar JSON.parse e JSON.stringify no data mas não deu certo.