A API V3 JÁ ESTÁ DISPONÍVEL
As integrações API v2 que já estão configuradas, seguirão funcionando temporariamente. |
Insere uma conta a receber
Insere uma conta a receber no sistema com os dados enviados no parâmetro XML.
curl |
curl -X POST "https://bling.com.br/b/Api/v2/contareceber/json/" |
PHP |
$url = 'https://bling.com.br/Api/v2/contareceber/json/'; $xml = '<?xml version="1.0" encoding="UTF-8"?...'; $posts = array ( "apikey" => "{apikey}", "xml" => rawurlencode($xml) ); $retorno = executeSendOrder($url, $posts); echo $retorno; function executeSendOrder($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 ExecuteSendOrder() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://bling.com.br/Api/v2/contareceber/"); UTF8Encoding encoding = new UTF8Encoding(); string postData = "apikey={apiKey}&xml={xml_da_contareceber}"; 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 o pedido | string |
Para o parâmetro xml
, é necessário seguir um padrão.
Tabela de campos do XML
Observação: Para os campos opcionais é preciso isentar o envio da tag
, caso não queira incluir tal informação na conta a receber.
Grupo | Campo | Informação | Tipo | Padrão | Opcional | Nota |
raiz | contareceber | Obrigatório | ||||
contareceber | dataEmissao | Data de emissão da conta | DATE | 99/99/9999 | Opcional | 1 |
contareceber | vencimentoOriginal | Vencimento original da conta | DATE | 99/99/9999 | Opcional | 1 |
contareceber | competencia | Data de competência | DATE | 99/99/9999 | Opcional | 1 |
contareceber | nroDocumento | Número do documento | STRING (25) | Opcional | ||
contareceber | valor | Valor do documento | DECIMAL(11,2) | Obrigatório | ||
contareceber | historico | Histórico da conta | STRING | Opcional | ||
contareceber | categoria | Categoria da conta | STRING (50) | Opcional | 2 | |
contareceber | idFormaPagamento | Código identificador da forma de pagamento | INTEGER (11) | Opcional | ||
contareceber | portador | Portador da conta | STRING (50) | Opcional | 2 | |
contareceber | vendedor | Vendedor da conta | STRING (120) | Opcional | 2 | |
contareceber | ocorrencia | Ocorrência da conta | Obrigatório | |||
ocorrencia | ocorrenciaTipo | Tipo da ocorrência | STRING (1) | Obrigatório | 4 | |
ocorrencia | diaVencimento | Dia do vencimento | INTEGER (2) | Opcional | 1, 4 | |
ocorrencia | nroParcelas | Número de Parcelas | INTEGER (3) | Opcional | 4 | |
ocorrencia | diaSemanaVencimento | Dia da semana de vencimento | INTEGER (1) | Opcional | 5 | |
contareceber | cliente | Obrigatório | ||||
cliente | nome | Nome do cliente | STRING (120) | Obrigatório | ||
cliente | id | Código identificador do contato | INTEGER (11) | Opcional | 3 | |
cliente | cpf_cnpj | CPF/CNPJ do cliente | STRING (18) | 99999999999999 | Opcional | 3 |
cliente | tipoPessoa | Pessoa Física/Jurídica | STRING (1) | J ou F | Opcional | |
cliente | ie-rg | Inscrição Estadual do cliente | STRING (18) | 9999999999 | Opcional | |
cliente | endereco | Endereço do cliente | STRING (50) | Opcional | ||
cliente | numero | Número da casa do cliente | STRING (10) | Opcional | ||
cliente | complemento | Complemento do endereço do cliente | STRING (100) | Opcional | ||
cliente | cidade | Cidade do cliente | STRING (30) | Opcional | ||
cliente | bairro | Bairro do cliente | STRING (30) | Opcional | ||
cliente | cep | CEP do cliente | STRING (30) | 99.999-999 | Opcional | |
cliente | uf | Sigla do estado do cliente | STRING (2) | Opcional | ||
cliente | E-mail do cliente | STRING (100) | Opcional | |||
cliente | fone | Telefone do cliente | STRING (40) | Opcional | ||
cliente | celular | Celular do cliente | STRING (40) | Opcional |
- O campo data é opcional, caso não for preenchido a data da inclusão da conta é considerada.
- Se estes campos forem preenchidos, uma busca é realizada e se a informação for encontrada, é vinculada à Conta a Receber.
- Os campos id e cpf_cnpj são utilizados para buscar contatos previamente cadastrados. Se o campo id for informado, a busca ignora o campo cpf_cnpj. Quando o contato é encontrado, e existirem dados do cliente no XML da requisição, os mesmos serão atualizados. Caso contrário, o cadastro original é mantido. Quando o contato não for encontrado, um novo contato é inserido com os dados recebidos.
- As possíveis ocorrências são:
Código | Ocorrência | Obriga dia de vencimento | Obriga número de parcelas | Obriga dia semana de vencimento |
U |
Única | Não | Não | Não |
P |
Parcelada | Sim | Sim | Não |
M |
Mensal | Sim | Não | Não |
T |
Trimestral | Sim | Não | Não |
S |
Semestral | Sim | Não | Não |
A |
Anual | Sim | Não | Não |
E |
Semanal | Não | Não | Sim |
5. Os códigos para o dia da semana de vencimento são:
1 |
Domingo |
2 |
Segunda-feira |
3 |
Terça-feira |
4 |
Quarta-feira |
5 |
Quinta-feira |
6 |
Sexta-feira |
7 |
Sábado |
Mensagens de erros específicos
Código | Mensagem |
---|---|
66 | O valor foi preenchido incorretamente |
67 | O dia do vencimento das parcelas não foi preenchido |
68 | O número de parcelas não foi preenchido |
69 | O nome do cliente não foi preenchido |
70 | Categoria inválida |
71 | Portador inválido |
72 | O tipo de ocorrência não foi preenchido |
73 | A ocorrência é inválida |
74 | Vendedor inválido |
76 | O vencimento não foi preenchido |
77 | A quantidade mínima de parcelas é 1 |
78 | A quantidade máxima de parcelas é 100 |
79 | O CPF / CNPJ é inválido |
80 | Número do documento já cadastrado no sistema |
81 | Cliente não encontrado |
82 | Conta vinculada a um registro de integração externo |
83 | O dia da semana de vencimento não corresponde |
84 | A forma de pagamento não existe ou está inativa |
85 | A forma de pagamento é inválida, não possui destino para Contas a Receber |
86 | Não é possível liquidar esta conta |
Exemplo de XML
<?xml version="1.0" encoding="UTF-8"?>
<contareceber>
<dataEmissao>12/06/2017</dataEmissao>
<vencimentoOriginal>12/07/2017</vencimentoOriginal>
<competencia>01/07/2017</competencia>
<nroDocumento>00123</nroDocumento>
<valor>435.90</valor>
<historico>Ref. ao pedido de venda nº 67, Cliente Organisys Software</historico>
<categoria>Vendas</categoria>
<idFormaPagamento>0</idFormaPagamento>
<portador>CEF</portador>
<vendedor>João</vendedor>
<ocorrencia>
<ocorrenciaTipo>P</ocorrenciaTipo>
<diaVencimento>12</diaVencimento>
<nroParcelas>3</nroParcelas>
</ocorrencia>
<cliente>
<nome>Organisys Software</nome>
<cpf_cnpj>00.000.000/0000-00</cpf_cnpj>
<tipoPessoa>J</tipoPessoa>
<ie_rg>000000000</ie_rg>
<endereco>Rua Barão do Rio Branco</endereco>
<numero>000</numero>
<complemento>Sala 000</complemento>
<cidade>Bento Gonçalves</cidade>
<bairro>Centro</bairro>
<cep>00.000-000</cep>
<uf>RS</uf>
<email>exemplo@organisys.com.br</email>
<fone>(99)99999-9999</fone>
<celular>(99)99999-9999</celular>
</cliente>
</contareceber>
Em caso de sucesso, retornará o identificador da conta a receber, o número do documento e a data de vencimento, no mesmo modelo do exemplo a seguir. Caso contrário, retornará um erro.
A resposta será no formato especificado na URL (XML ou JSON).
{ "retorno": { "contasreceber": [ { "contareceber": { "id": "123123123", "nroDocumento": "00123", "vencimento": "2017-07-12" } } ] } }