A API V3 JÁ ESTÁ DISPONÍVEL
|
curl |
curl -X POST 'https://bling.com.br/Api/v2/contrato' |
Através deste método é possível inserir um contrato no sistema. Os campos disponíveis para envio estão listados na tabela a seguir. A explicação dos códigos contidos na coluna "nota" deve ser consultada na tabela de notas.
Grupo |
Campo |
Informação |
Tipo |
Padrão |
Opcional |
Nota |
raiz |
contrato |
Obrigatório |
||||
contrato |
dataCriacao |
Data de criação |
DATE |
99/99/9999 |
Opcional |
1 |
contrato |
dataBase |
Data base |
DATE |
99/99/9999 |
Opcional |
1 |
contrato |
contatoDiferenteCobranca |
Cobrar de outro contato |
INTEGER(20) |
0 |
Opcional |
|
contrato |
numeroContrato |
Nº do contrato |
STRING(10) |
Opcional |
||
contrato |
descricao |
Descrição do contrato |
STRING(120) |
Opcional |
||
contrato |
situacao |
Situação do contrato |
STRING(1) |
Obrigatório |
||
contrato |
valor |
Valor do contrato |
DECIMAL(11,2) |
Obrigatório |
||
contrato |
emiteNota |
Gerar nota fiscal |
STRING(1) |
Obrigatório |
8 | |
contrato |
opcoesNota |
Opcional |
||||
opcoesNota |
percentualISS |
Percentual de ISS |
DECIMAL(11,2) |
0.00 |
Opcional |
|
opcoesNota |
periodicidadeCobranca |
Periodicidade da cobrança |
STRING(1) |
|||
opcoesNota |
descISSTotalNota |
Descontar ISS |
STRING(1) |
Obrigatório |
||
opcoesNota |
descIRTotalNota |
Reter IR e descontar do total da NFS-e caso ultrapasse R$10,00 |
STRING(1) |
S |
Opcional |
|
opcoesNota |
codListaServico |
Código do serviço |
STRING(8) |
Opcional |
||
opcoesNota |
idProdutoVinculado |
Produto/Serviço (Apenas para NF-e) |
INTEGER(20) |
0 |
Opcional |
|
opcoesNota |
mesNota |
Impressão do período de cobrança |
STRING(1) |
N - Não imprime |
Opcional |
|
opcoesNota |
textoNota |
Observação da NF-e / Descrição do serviço NFS-e |
TEXT |
Opcional |
||
opcoesNota |
naturezaOperacao |
Descrição da natureza de operação |
STRING(60) |
Opcional |
||
opcoesNota |
cfop |
Código fiscal |
STRING(5) |
Opcional |
||
contrato |
idCategoria |
Categoria da receita |
INTEGER(20) |
0 |
Opcional |
|
contrato |
idPortador |
Portador |
INTEGER(20) |
0 |
Opcional |
|
contrato |
desconto |
Percentual de desconto |
DECIMAL(11,2) |
|||
contrato |
mesFimDesconto |
Mês de término do desconto |
STRING(2) |
Opcional |
||
contrato |
anoFimDesconto |
Ano de término do desconto |
STRING(4) |
Opcional |
||
contrato |
mesTermino |
Mês de término do contrato |
STRING(2) |
Opcional |
||
contrato |
anoTermino |
Ano de término do contrato |
STRING(4) |
Opcional |
||
contrato |
nroParcelasVendedor |
Número de parcelas para a comissão do vendedor |
INTEGER |
0 |
Opcional |
|
contrato |
percentualVendedor |
% de comissão sobre as parcelas |
DECIMAL(11,2) |
0.00 |
Opcional |
|
contrato |
emiteOS |
Emitir ordem de serviço |
STRING(1) |
N |
Opcional |
|
contrato |
obs |
Observações do contrato (não serão impressas) |
TEXT |
Opcional |
||
contrato |
cliente |
Obrigatório |
2 |
|||
cliente |
nome |
Nome do Cliente |
STRING(120) |
Obrigatório |
||
cliente |
cnpj_cpf |
CNPJ/CPF do cliente |
STRING(18) |
99999999999999 |
Obrigatório |
3 |
cliente |
tipo |
Pessoa Física/Jurídica |
STRING(1) |
J ou F |
Obrigatório |
|
cliente |
ie_rg |
Inscrição Estadual |
STRING(18) |
999999999 |
Opcional |
|
cliente |
rg |
RG |
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 |
||
contrato |
contato |
Opcional |
2, 4 |
|||
contato |
nome |
Nome do contato |
STRING(120) |
Obrigatório |
||
contato |
cnpj_cpf |
CNPJ/CPF do contato |
STRING(18) |
99999999999999 |
Obrigatório |
3 |
contato |
tipoPessoa |
Pessoa Física/Jurídica |
STRING(1) |
J ou F |
Opcional |
|
contato |
ie_rg |
Inscrição Estadual |
STRING(18) |
999999999 |
Opcional |
|
contato |
rg |
RG |
STRING(18) |
9999999999 |
Opcional |
|
contato |
endereco |
Endereço do contato |
STRING(50) |
Opcional |
||
contato |
numero |
Número da casa do contato |
STRING(10) |
Opcional |
||
contato |
complemento |
Complemento do endereço do contato |
STRING(100) |
Opcional |
||
contato |
cidade |
Cidade do contato |
STRING(30) |
Opcional |
||
contato |
bairro |
Bairro do contato |
STRING(30) |
Opcional |
||
contato |
cep |
CEP do contato |
STRING(30) |
99.999-999 |
Opcional |
|
contato |
uf |
Sigla do estado do contato |
STRING(2) |
Opcional |
||
contato |
|
E-mail do contato |
STRING(100) |
Opcional |
||
contato |
fone |
Telefone do contato |
STRING(40) |
Opcional |
||
contato |
celular |
Celular do contato |
STRING(40) |
Opcional |
||
contrato |
anexos |
Opcional |
5 | |||
anexos |
anexo |
|
|
Opcional |
6 | |
anexo |
filename |
Nome do arquivo anexo |
STRING(40) |
Opcional |
7 | |
anexo |
data |
Anexo codificado como texto base64 |
TEXT |
Opcional |
7 |
|
contrato |
diaVencimento |
Dia de vecimento do Contrato |
STRING(2) |
Opcional |
|
Para visualizar um exemplo de XML para o método POST clique no botão abaixo.
<?xml version="1.0" encoding="UTF-8"?>
<contrato>
<anoFimDesconto>2018</anoFimDesconto>
<anoTermino>2025</anoTermino>
<contatoDiferenteCobranca>0</contatoDiferenteCobranca>
<dataBase>29/08/2019</dataBase>
<dataCriacao>28/08/2019</dataCriacao>
<desconto>1</desconto>
<descricao>API POST TESTE</descricao>
<diaVencimento>5</diaVencimento>
<emiteNota>S</emiteNota>
<emiteOS>S</emiteOS>
<idCategoria>614413</idCategoria>
<idPortador>795094295</idPortador>
<idVendedor>49585900</idVendedor>
<mesFimDesconto>10</mesFimDesconto>
<mesTermino>12</mesTermino>
<mesVencimento>C</mesVencimento>
<nroParcelasVendedor>5</nroParcelasVendedor>
<numeroContrato>777</numeroContrato>
<obs>Observação interna do contrato, esta informação não será impressa</obs>
<opcoesNota>
<CFOP>77390</CFOP>
<codListaServico>0101</codListaServico>
<descIRTotalNota>S</descIRTotalNota>
<descISSTotalNota>N</descISSTotalNota>
<idProdutoVinculado>49002612</idProdutoVinculado>
<mesNota>C</mesNota>
<naturezaOperacao>Aluguel de outras maquinas e equipamentos comerciais</naturezaOperacao>
<percentualISS>11</percentualISS>
<textoNota>Observações da NF-e / Descrição do serviço da NFS-e</textoNota>
</opcoesNota>
<percentualVendedor>0.4</percentualVendedor>
<periodicidadeCobranca>1</periodicidadeCobranca>
<situacao>A</situacao>
<valor>105.95</valor>
<cliente>
<nome>JOHN WICK</nome>
<cnpj_cpf>45384138017</cnpj_cpf>
<tipo>F</tipo>
<bairro>BENVENUTTI</bairro>
</cliente>
<anexos>
<anexo>
<filename>teste.txt</filename>
<data>QVJRVUlWTyBERSBURVNURSwgVVBMT0FEIERFIEFSUVVJVk8gQkFTRTY1NEVOQ09ERUQgVklBIFhNTCBBUEkK</data>
</anexo>
<anexo>
<filename>imagemteste.jpg</filename>
<data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDADUlKC8oITUvKy88OTU/UIVXUElJUKN1e2GFwarLyL6qurfV8P//1eL/5re6////////////zv//////////////2wBDATk8PFBGUJ1XV53/3Lrc////////////////////////////////////////////////////////////////////wAARCAAKAA0DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwBDNag9GP0p322EdFb8BWfRT+rw63Juf//Z</data>
</anexo>
</anexos>
</contrato>
Exemplo de requisição utilizando a linguagem PHP.
$url = 'https://bling.com.br/Api/v2/contrato/';
$xml = '<?xml version="1.0" encoding="UTF-8"?><contrato>...</contrato>';
$posts = array (
"apikey" => "{apikey}",
"xml" => rawurlencode($xml)
);
$retorno = executeInsertContract($url, $posts);
echo $retorno;
function executeInsertContract($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;
}
Caso a requisição seja concluída com sucesso você receberá um retorno conforme abaixo.
{
"retorno": {
"contratos": [
{
"contrato": {
"id": 000001,
"numeroContrato": 1234567
}
}
]
}
}
Caso algum problema tenha sido encontrado durante o processamento do XML enviado, os códigos de retorno serão conforme a tabela de erros.