A API V3 JÁ ESTÁ DISPONÍVEL
As integrações API v2 que já estão configuradas, seguirão funcionando temporariamente. |
Insere uma NFC-e
Insere uma NFC-e no sistema.
curl |
curl -X POST "https://bling.com.br/Api/v2/nfce/json/" |
PHP |
$url = 'https://bling.com.br/Api/v2/nfce/json/'; $xml = '...'; $posts = array ( "apikey" => "{apikey}", "xml" => rawurlencode($xml) ); $retorno = executeSendFiscalDocument($url, $posts); echo $retorno; function executeSendFiscalDocument($url, $data){ $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_POST, count($data)); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $data); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE); $response = curl_exec($curl_handle); curl_close($curl_handle); return $response; } |
C# |
public static void ExecuteSendFiscalDocument() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://bling.com.br/Api/v2/nfce/"); ASCIIEncoding encoding = new ASCIIEncoding(); string postData = "apikey={apikey}&xml={xml_da_nota}"; byte[] data = encoding.GetBytes(postData); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; using (Stream stream = request.GetRequestStream()) stream.Write(data,0,data.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); Console.Out.WriteLine("Response Body: \r\n {0}", responseString); } |
Parâmetro | Descrição | Tipo |
apikey |
apikey gerada no sistema | string |
xml |
xml contendo a NFC-e | string |
Para o parâmetro xml
, é necessário seguir um padrão.
Tabela de campos do XML
Grupo | Campo | Informação | Tipo | Padrão | Opcional | Nota |
---|---|---|---|---|---|---|
raiz | pedido | Obrigatório | ||||
pedido | numero_loja | Número do pedido na loja virtual |
STRING(50) | 9 | Opcional | |
pedido | nat_operacao | Nome da natureza de operação cadastrada |
STRING(60) | Venda de mercadorias | Opcional | |
pedido | data_operacao | Data de saída da nota |
DATETIME | 00/00/0000 00:00:00 | Opcional | |
cliente | nome | Nome do Cliente | STRING(80) | Obrigatório | 3 | |
cliente | tipo_pessoa | Pessoa Física, Jurídica ou Estrangeiro |
STRING(1) | J, F ou E | Obrigatório | 3 |
cliente | cpf_cnpj | CNPJ do cliente | STRING(18) | 99999999999999 | Opcional | 3 |
cliente | ie_rg | Inscrição Estadual ou RG do cliente |
STRING(18) | 9999999999 | Opcional | 3 |
cliente | contribuinte | 1 - Contribuinte do ICMS 2 - Contribuinte isento de ICMS 9 - Não contribuinte |
STRING(1) | 9 | Opcional | |
cliente | endereco | Endereço do Cliente | STRING(100) | Obrigatório | ||
cliente | numero | Número da casa do cliente | STRING(10) | Obrigatório | ||
cliente | complemento | Complemento do endereço do cliente | STRING(100) | Opcional | ||
cliente | bairro | Bairro do cliente | STRING(40) | Obrigatório | ||
cliente | cep | CEP do cliente | STRING(10) | 99.999-999 | Obrigatório | |
cliente | cidade | Cidade do cliente | STRING(30) | Obrigatório | ||
cliente | uf | Sigla do estado do cliente | STRING(2) | Obrigatório | ||
cliente | pais | País do cliente (em caso de cliente estrangeiro) | STRING | Opcional | ||
cliente | fone | Telefone do cliente | STRING(40) | Opcional | ||
cliente | E-mail do cliente | STRING(60) | Obrigatório | |||
transporte | transportadora | Nome da transportadora | STRING(100) | Opcional | ||
transporte | cpf_cnpj | CPF ou CNPJ da transportadora | STRING(18) | 99999999999999 | Opcional | |
transporte | ie_rg | Inscrição Estadual ou RG da transportadora |
STRING(18) | 9999999999 | Opcional | |
transporte | endereco | Endereço e número da transportadora |
STRING(50) | Opcional | ||
transporte | cidade | Cidade da transportadora | STRING(40) | Opcional | ||
transporte | uf | Sigla do estado da transportadora | STRING(2) | Opcional | ||
transporte | placa | Placa do veículo a realizar o frete | STRING(8) | XXX-9999 | Opcional | |
transporte | uf_veiculo | Sigla do Estado do veículo a realizar o frete | STRING(2) | Opcional | ||
transporte | marca | Marca do veículo | STRING(20) | Opcional | ||
transporte | tipo_frete | Frete por conta do Destinatário/ Remetente |
STRING(1) | D ou R | Opcional | |
transporte | qtde_volumes | Quantidade de Volumes do pedido | INTEGER(10) | Opcional | ||
transporte | especie | Espécie dos Volumes | STRING(20) | Volumes | Opcional | |
transporte | numero | Número do volume | STRING(10) | Opcional | ||
transporte | peso_bruto | Peso Bruto do volume | DECIMAL(11,3) | Opcional | ||
transporte | peso_liquido | Peso Líquido do volume | DECIMAL(11,3) | Opcional | ||
transporte | servico_correios | Nome do Serviço dos correios utilizado | STRING(150) | Opcional | ||
transporte | dados_etiqueta | Grupo com endereço alternativo para a etiqueta de envio | Opcional | |||
dados_etiqueta | nome | Nome do destinatário | STRING(120) | Opcional | ||
dados_etiqueta | endereco | Endereço do destinatário | STRING(50) | Opcional | ||
dados_etiqueta | numero | Número do destinatário | STRING(10) | Opcional | ||
dados_etiqueta | complemento | Complemento do destinatário | STRING(100) | Opcional | ||
dados_etiqueta | municipio | Nome do município do destinatário | STRING(30) | Opcional | ||
dados_etiqueta | uf | Sigla da UF do destinatário | STRING(2) | Opcional | ||
dados_etiqueta | cep | CEP do destinatário | STRING(8) | 99.999-999 | Opcional | |
dados_etiqueta | bairro | Bairro do destinatário | STRING(30) | Opcional | ||
item | codigo | Código do Item | STRING(60) | Opcional | 1 | |
item | descricao | Nome do item | STRING(120) | Obrigatório | ||
item | un | Tipo de unidade do item | STRING(6) | pc, un, cx | Obrigatório | |
item | qtde | Quantidade do item no pedido | DECIMAL(11,4) | Obrigatório | ||
item | vlr_unit | Valor unitário do item | DECIMAL(17,10) | Obrigatório | ||
item | tipo | Tipo do Item: Produto/Serviço | STRING(1) | P ou S | Obrigatório | |
item | peso_bruto | Peso Bruto do item | DECIMAL(11,3) | 9.9 | Opcional | |
item | peso_liq | Peso Líquido do item | DECIMAL(11,3) | 9.9 | Opcional | |
item | class_fiscal | Classificação Fiscal do Item: NCM | STRING(10) | 9999.99.99 | Opcional | |
item | cest | CEST - Código Especificador da Substituição Tributária | STRING(7) | 99.999.99 | Opcional | |
item | cod_servico | Código da lista de serviços (somente para serviços) | STRING(8) | 99.99 | Opcional | |
item | origem | Código da Origem do item | STRNG(1) | 0, 1, 2, 3, 4, 5, 6, 7 | Obrigatório | |
parcela | dias | Dias de prazo de pagamento da parcela | INTEGER(10) | Opcional | 2 | |
parcela | data | Data de início de prazo de pagamento | DATE | 99/99/9999 | Opcional | 2 |
parcela | vlr | Valor da parcela | DECIMAL(11,2) | Opcional | ||
parcela | obs | Observação da parcela | STRING(150) | Opcional | ||
parcela | forma | Forma de pagamento da parcela | STRING(100) | Opcional | ||
nf_produtor_rural_referenciada | numero | Número da NF referenciada | STRING(9) | Opcional | ||
nf_produtor_rural_referenciada | serie | Série da NF referenciada | STRING(3) | Opcional | ||
nf_produtor_rural_referenciada | ano_mes_emissao | Ano e mês da emissão da NF | STRING(4) | 9999 (ano: 2 dig, mês: 2 díg) | Opcional | |
pedido | vlr_frete | Valor do Frete | DECIMAL(11,2) | Opcional | ||
pedido | vlr_seguro | Valor do Seguro | DECIMAL(11,2) | Opcional | ||
pedido | vlr_despesas | Valor das Despesas Adicionais | DECIMAL(11,2) | Opcional | ||
pedido | vlr_desconto | Valor do Desconto no pedido | STRING(20) | Opcional | ||
pedido | obs | Observações do Pedido | STRING | Opcional | ||
pedido | intermediador | Opcional | ||||
intermediador | CNPJ | CNPJ do intermediador | STRING(14) | Opcional | ||
intermediador | nomeUsuario | Nome usuário ou identificação do perfil do vendedor no site do intermediador | STRING(60) | Opcional |
Notas:
- O campo codigo é opcional somente quando a opção de vínculo seja pelo campo descricao.
- Na parcela deve ser informada somente a data de vencimento ou somente o número de dias.
- Caso não queira identificar o cliente, informar no campo nome o valor "Consumidor final", deixando os outros campos em branco.
Vínculo do produto com o cadastro do sistema
O produto será vinculado com um produto previamente cadastrado no sistema caso os campos descricao ou codigo sejam idênticos ao do cadastro.
A escolha de qual campo será utilizado para realizar a comparação é definida acessando Preferências > Parâmetros da empresa > Configurações de Lojas Virtuais e alterando a opção Na importação através da API, buscar produtos por código ou descrição.
Mensagens de erros específicos
Código | Mensagem |
---|---|
50 | Numero nao foi preenchido |
51 | Serie nao foi preenchida |
52 | Numero ou serie nao sao tipos numericos |
53 | Nota nao localizada, apenas notas pendentes ou rejeitadas podem ser enviadas |
54 | Existe mais de uma nota para este numero e serie |
55 | Ja existe uma nota fiscal cadastrada com este XML |
56 | Nao foi possivel localizar a natureza de operacao enviada e o sistema nao possui uma natureza de operacao padrao para o mesmo |
57 | Nao foram encontrados itens para esta nota |
60 | Codigo do produto [descricao_do_produto] deve ser informado |
Exemple de XML
<?xml version="1.0" encoding="UTF-8"?>
<pedido>
<cliente>
<nome>Organisys Software</nome>
<tipoPessoa>J</tipoPessoa>
<cpf_cnpj>00000000000000</cpf_cnpj>
<ie_rg>3067663000</ie_rg>
<endereco>Rua Visconde de São Gabriel</endereco>
<numero>392</numero>
<complemento>Sala 54</complemento>
<bairro>Cidade Alta</bairro>
<cep>95.700-000</cep>
<cidade>Bento Gonçalves</cidade>
<uf>RS</uf>
<fone>54 8115-3376</fone>
<email>teste@teste.com.br</email>
</cliente>
<transporte>
<transportadora>Transportadora XYZ</transportadora>
<cpf_cnpj>11122233345</cpf_cnpj>
<ie_rg>1122334455</ie_rg>
<endereco>Rua Silvio Orlandini, 435</endereco>
<cidade>Roca Sales</cidade>
<uf>RS</uf>
<placa>ILM-1020</placa>
<uf_veiculo>RS</uf_veiculo>
<tipo_frete>R</tipo_frete>
<qtde_volumes>10</qtde_volumes>
<especie>Volumes</especie>
<numero>425</numero>
<peso_bruto>157</peso_bruto>
<peso_liquido>142</peso_liquido>
<servico_correios>SEDEX</servico_correios>
<dados_etiqueta>
<nome>Endereço de entrega</nome>
<endereco>Rua Visconde de São Gabriel</endereco>
<numero>392</numero>
<complemento>Sala 59</complemento>
<municipio>Bento Gonçalves</municipio>
<uf>RS</uf>
<cep>95.700-000</cep>
<bairro>Cidade Alta</bairro>
</dados_etiqueta>
</transporte>
<itens>
<item>
<codigo>001</codigo>
<descricao>Caneta 001</descricao>
<un>Pç</un>
<qtde>10</qtde>
<vlr_unit>1.68</vlr_unit>
<tipo>P</tipo>
<peso_bruto>0.2</peso_bruto>
<peso_liq>0.18</peso_liq>
<class_fiscal>1000.00.10</class_fiscal>
<origem>0</origem>
</item>
<item>
<codigo>002</codigo>
<descricao>Caderno 002</descricao>
<un>Un</un>
<qtde>3</qtde>
<vlr_unit>3.75</vlr_unit>
<tipo>P</tipo>
<peso_bruto>0.75</peso_bruto>
<peso_liq>0.7</peso_liq>
<class_fiscal>1000.00.10</class_fiscal>
<origem>0</origem>
</item>
<item>
<codigo>003</codigo>
<descricao>Teclado 003</descricao>
<un>Cx</un>
<qtde>7</qtde>
<vlr_unit>18.65</vlr_unit>
<tipo>P</tipo>
<peso_bruto>0.65</peso_bruto>
<peso_liq>0.52</peso_liq>
<class_fiscal>1000.00.10</class_fiscal>
<origem>0</origem>
</item>
</itens>
<parcelas>
<parcela>
<dias>10</dias>
<data>01/09/2009</data>
<vlr>100</vlr>
<obs>Teste obs 1</obs>
<forma>Dinheiro</forma>
</parcela>
<parcela>
<dias>15</dias>
<data>06/09/2009</data>
<vlr>50</vlr>
<obs></obs>
<forma>Dinheiro</forma>
</parcela>
<parcela>
<dias>20</dias>
<data>11/09/2009</data>
<vlr>50</vlr>
<obs>Teste obs 3</obs>
<forma>Dinheiro</forma>
</parcela>
</parcelas>
<nf_produtor_rural_referenciada>
<numero>001020</numero>
<serie>0</serie>
<ano_mes_emissao>1202</ano_mes_emissao>
</nf_produtor_rural_referenciada>
<vlr_frete>15</vlr_frete>
<vlr_seguro>7</vlr_seguro>
<vlr_despesas>2.5</vlr_despesas>
<vlr_desconto>10</vlr_desconto>
<obs>Testando o campo observações do pedido</obs>
</pedido>
Exemplo de retorno
{ "retorno": { "notasfiscais": [ { "notafiscal": { "numero": "000003", "codigos_rastreamento": { "codigo_rastreamento": "SX000000014BR" } } } ] } }