Insere uma nota fiscal
Insere uma nota fiscal no sistema.
curl |
curl -X POST "https://bling.com.br/Api/v2/notafiscal/json/" |
PHP |
$url = 'https://bling.com.br/Api/v2/notafiscal/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/notafiscal/"); 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 nota fiscal | string |
Para o parâmetro xml
, é necessário seguir um padrão.
Grupo | Campo | Informação | Padrão | Opcional | Obs |
---|---|---|---|---|---|
raiz | pedido | Obrigatório | |||
pedido | tipo | Tipo de nota (E - Entrada, S - Saída) | S | Opcional | |
pedido | finalidade | 1 - Normal, 2 - Complementar, 3 - Ajuste ou 4 - Devolução | 1 | Opcional | |
pedido | loja | Número identificador da loja. | Opcional | ||
pedido | numero_loja | Número do pedido na loja virtual | Opcional | ||
pedido | numero_nf | Número da nota fiscal | Opcional | ||
pedido | nat_operacao | Nome da natureza de operação cadastrada | Venda de mercadorias | Opcional | |
pedido | data_operacao | Data de saída da nota | 00/00/0000 00:00:00 | Opcional | |
pedido | doc_referenciado | Grupo de informações para referenciar documentos na nota de devolução | Opcional | ||
doc_referenciado | modelo | 1 - Nota fiscal talão, 2 - Nota fiscal de consumidor talão, 2D - Cupom fiscal, 4 - Nota de produtor, 55 - NF-e ou 65 - NFC-e | Obrigatório | ||
doc_referenciado | data | Data da nota original no formato AAMM | Opcional | ||
doc_referenciado | numero | Número da nota original | Opcional | ||
doc_referenciado | serie | Série da nota original | Opcional | ||
doc_referenciado | coo | Contador de Ordem de Operação (COO) do cupom original | Opcional | ||
doc_referenciado | chave_acesso | Chave de acesso da nota original | Opcional | ||
cliente | nome | Nome do Cliente | Obrigatório | ||
cliente | tipo_pessoa | Pessoa Física, Jurídica ou Estrangeiro | J, F ou E | Obrigatório | |
cliente | cpf_cnpj | CNPJ do cliente | 99999999999999 | Opcional | |
cliente | ie_rg | Inscrição Estadual ou RG do cliente | 9999999999 | Opcional | |
cliente | contribuinte | 1 - Contribuinte do ICMS, 2 - Contribuinte isento de ICMS ou 9 - Não contribuinte | 9 | Opcional | |
cliente | endereco | Endereço do Cliente | Obrigatório | ||
cliente | numero | Número da casa do cliente | Obrigatório | ||
cliente | complemento | Complemento do endereço do cliente | Opcional | ||
cliente | bairro | Bairro do cliente | Obrigatório | No mínimo 2 caracteres. | |
cliente | cep | CEP do cliente | 99.999-999 | Obrigatório | |
cliente | cidade | Cidade do cliente | Obrigatório | ||
cliente | uf | Sigla do estado do cliente | Obrigatório | ||
cliente | pais | País do cliente (em caso de cliente estrangeiro) | Opcional | ||
cliente | fone | Telefone do cliente | Opcional | ||
cliente | E-mail do cliente | Obrigatório | |||
transporte | transportadora | Nome da transportadora | Opcional | ||
transporte | cpf_cnpj | CPF ou CNPJ da transportadora | 99999999999999 | Opcional | |
transporte | ie_rg | Inscrição Estadual ou RG da transportadora | 9999999999 | Opcional | |
transporte | endereco | Endereço e número da transportadora | Opcional | ||
transporte | cidade | Cidade da transportadora | Opcional | ||
transporte | uf | Sigla do estado da transportadora | Opcional | ||
transporte | placa | Placa do veículo a realizar o frete | XXX-9999 | Opcional | |
transporte | uf_veiculo | Sigla do Estado do veículo a realizar o frete | Opcional | ||
transporte | marca | Marca do veículo | Opcional | ||
transporte | tipo_frete | Modalidade do frete | R | Opcional | 4 |
transporte | qtde_volumes | Quantidade de Volumes do pedido | Opcional | ||
transporte | especie | Espécie dos Volumes | Volumes | Opcional | |
transporte | numero | Número do volume | Opcional | ||
transporte | peso_bruto | Peso Bruto do volume | Opcional | ||
transporte | peso_liquido | Peso Líquido do volume | Opcional | ||
transporte | servico_correios | Nome do Serviço dos correios utilizado | Opcional | 3 | |
transporte | dados_etiqueta | Grupo com endereço alternativo para a etiqueta de envio | Opcional | ||
dados_etiqueta | nome | Nome do destinatário | Opcional | ||
dados_etiqueta | endereco | Endereço do destinatário | Opcional | ||
dados_etiqueta | numero | Número do destinatário | Opcional | ||
dados_etiqueta | complemento | Complemento do destinatário | Opcional | ||
dados_etiqueta | municipio | Nome do município do destinatário | Opcional | ||
dados_etiqueta | uf | Sigla da UF do destinatário | Opcional | ||
dados_etiqueta | cep | CEP do destinatário | 99.999-999 | Opcional | |
dados_etiqueta | bairro | Bairro do destinatário | Opcional | ||
transporte | volumes | Grupo de volumes vinculado ao pedido | Opcional | ||
volumes | volume | Volume vinculado ao pedido | Opcional | ||
volume | servico | Alías do serviço de entrega vinculado ao volume | Obrigatório | ||
volume | codigoRastreamento | Código de rastreamento vinculado ao volume | Opcional | ||
item | codigo | Código do Item | Opcional | 1 | |
item | descricao | Nome do item | Obrigatório | ||
item | un | Tipo de unidade do item | pc, un, cx | Obrigatório | |
item | qtde | Quantidade do item no pedido | Obrigatório | ||
item | vlr_unit | Valor unitário do item | Obrigatório | ||
item | tipo | Tipo do Item: Produto/Serviço | P ou S | Obrigatório | |
item | peso_bruto | Peso Bruto do item | 9.9 | Opcional | |
item | numero_pedido_compra | Número do Pedido de Compra | 999999999999999 | Opcional | |
item | peso_liq | Peso Líquido do item | 9.9 | Opcional | |
item | class_fiscal | Classificação Fiscal do Item: NCM | 9999.99.99 | Opcional | |
item | cest | CEST - Código Especificador da Substituição Tributária | 99.999.99 | Opcional | |
item | cod_servico | Código da lista de serviços (somente para serviços) | 99.99 | Opcional | |
item | origem | Código da Origem do item | 0, 1, 2, 3, 4, 5, 6, 7 | Obrigatório | |
item | informacoes_adicionais | Descrição adicional do item | Opcional | ||
parcela | dias | Dias de prazo de pagamento da parcela | Opcional | 2 | |
parcela | data | Data de início de prazo de pagamento | 99/99/9999 | Opcional | 2 |
parcela | vlr | Valor da parcela | Opcional | ||
parcela | obs | Observação da parcela | Opcional | ||
parcela | forma | Forma de pagamento da parcela | Opcional | ||
nf_produtor_rural_referenciada | numero | Número da NF referenciada | Opcional | ||
nf_produtor_rural_referenciada | serie | Série da NF referenciada | Opcional | ||
nf_produtor_rural_referenciada | ano_mes_emissao | Ano e mês da emissão da NF | 9999 (ano: 2 dig, mês: 2 díg) | Opcional | |
pedido | vlr_frete | Valor do Frete | Opcional | ||
pedido | vlr_seguro | Valor do Seguro | Opcional | ||
pedido | vlr_despesas | Valor das Despesas Adicionais | Opcional | ||
pedido | vlr_desconto | Valor do Desconto no pedido | Opcional | ||
pedido | obs | Observações do Pedido | 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 |
|
Observações
- 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.
- O campo está depreciado e será removido em atualizações futuras. Para substituí-lo, deve-se utilizar a estrutura de múltiplos volumes (campo
volumes
na seçãotransporte
). - Valores para a modalidade de frete:
Valor |
Descrição |
R |
Contratação do Frete por conta do Remetente (CIF) |
D |
Contratação do Frete por conta do Destinatário (FOB) |
T |
Contratação do Frete por conta de Terceiros |
3 |
Transporte Próprio por conta do Remetente |
4 |
Transporte Próprio por conta do Destinatário |
S |
Sem Ocorrência de Transporte |
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.
Notas de devolução
A inserção de notas de devolução segue um conjunto de regras específico. A finalidade deve ser obrigatoriamente 4 (devolução) e a natureza de operação (nat_operacao) deve ser preenchida.
Alguns campos, do grupo do documento referenciado, são obrigatórios dependendo do modelo informado:
- 1, 2 ou 4: Campos data, numero, e serie.
- 2D: Campo coo.
- 55 ou 65: Campo chave_acesso.
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 |
Observação: Os campos marcados em negrito, no exemplo de XML, estão depreciados e serão removidos em atualizações futuras. Para substituí-los, deve-se utilizar a estrutura de múltiplos volumes (tag volumes
).
Exemplo 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>
<volumes>
<volume>
<servico>SEDEX - CONTRATO</servico>
<codigoRastreamento></codigoRastreamento>
</volume>
<volume>
<servico>PAC - CONTRATO</servico>
<codigoRastreamento></codigoRastreamento>
</volume>
</volumes>
</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>
</parcela>
<parcela>
<dias>15</dias>
<data>06/09/2009</data>
<vlr>50</vlr>
<obs></obs>
</parcela>
<parcela>
<dias>20</dias>
<data>11/09/2009</data>
<vlr>50</vlr>
<obs>Teste obs 3</obs>
</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>
Retorno
Em caso de sucesso, retornará o número e a série da nota fiscal e o código de rastreamento, no mesmo modelo do exemplo a seguir. Caso contrário, retornará um erro.
A resposta será no formato especificado na URL (XML ou JSON).
Observação: Os campos marcados em negrito, no exemplo de retorno, estão depreciados e serão removidos em atualizações futuras. Para substituí-los, deve-se utilizar a estrutura de múltiplos volumes (campo volumes
).
{ "retorno": { "notasfiscais": [ { "notafiscal": { "numero": "000003", "serie": "2", "codigos_rastreamento": { "codigo_rastreamento": "SX000000014BR" }, "volumes": [ { "volume": { "servico": "SEDEX - CONTRATO", "codigoRastreamento": "SG016634880BR" } }, { "volume": { "servico": "PAC CONTRATO AGENCIA", "codigoRastreamento": "EC314697823BR" } } ] } } ] } }