6
respostas

consumindo API

Flavio bom dia,

Resolvi o problema do CORS que esta bloqueando.

Porem estou com o seguinte retorno de erro:

{codigoRetorno: "NGC_001", detalheRetorno: "Versao invalida", codigoRequisicao: 94598295, nrPaginaAtual: null, nrTotalPagina: null}
home.ts:15

Estou enviando tudo correto de acordo com a API.

Segue codigo:

import { Injectable } from '@angular/core';
import { Http,RequestOptions, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
import { Request } from '@angular/http/src/static_request';


/*
  Generated class for the MyRequest provider.

  See https://angular.io/docs/ts/latest/guide/dependency-injection.html
  for more info on providers and Angular 2 DI.
*/
@Injectable()
export class MyRequest {
  data:any;

  constructor(public http: Http) {
    this.data = null;
  }
  load(){
    if (this.data){

      return Promise.resolve(this.data);
    }

    return new Promise (resolve =>{


     let myHeader = new Headers({

      "Content-Type" : "application/x-www-form-urlencoded"

     });
      let options = new RequestOptions({
        headers: myHeader

      });
      let body = JSON.stringify({

        "versao" : "1.1",

       "consultaVenda" : {"dataInicial":"2017-04-03","dataFinal":"2017-05-03"},

        "token" : "014300000920170613"


      });

      this.http.post('http://www.vendas.com.br/br-ws/json/consultaVendas',
      body, options)
      .map(res => res.json())
      .subscribe(data =>{
        this.data = data;
        resolve(this.data);
      });
    });
    }

}

Diz que o erro esta na hora de enviar a versão no "BODY", porem creio que estou enviando certo.

Poderia me ajudar porfavor? desde ja agradeço

6 respostas

Pela mensagem é um problema da sua api, que não está recebendo alguma info. Não faço ideia do que seja essa versão da sua API, talvez a versão mesmo . Consulte a documentação para saber mais.

Vi que serializou o objeto com essa info, mas não deve estar em conformidade com a API.

Isso o codigo de retorno esta conforme a tabela de erros,

Porem eu so queria saber se a minha estrutura do body esta correta

Só podemos dizer se está certa ou errada de acordo com a api. Ela espera receber aquelas propriedades?

Parece que não existe a versão 1 .1 da API ou a propriedade que guarda a versão é outra.

Flavio,

a API espera receber essa propriedade no formato numerico e nao em string.

Teria com converte o body para numero"double"?

No caso eu teria que usar o JSON.parse?

Se possivel tem como mostrar um exemplo?