Documentação / Exemplos de integração v1
API REST fiscal

Exemplos práticos para integrar a API HTTP e JSON em diferentes linguagens.

Esta documentação descreve a versão pública atual da API fiscal da Contora, com base compartilhada de empresas, certificados, chaves, filas, webhooks e artefatos para NF-e, NFC-e, NFS-e, CT-e e MDF-e. NF-e, NFC-e e NFS-e operam em produção regular; CT-e e MDF-e em produção assistida e controlada.

Atualizado em .

Uso direto via HTTP

A integração com a Fiscal Contora é feita por qualquer stack de programação capaz de enviar requisições HTTP autenticadas e decodificar respostas JSON. Abaixo, você encontra exemplos prontos para realizar uma chamada de teste consultando um CEP.

Exemplos de Código Multilíngue

Selecione a sua linguagem de programação para ver o exemplo de implementação:

Exemplo usando PHP (cURL nativo)
<?php
$token = 'SEU_TOKEN_AQUI';
$cep = '02995000';

$ch = curl_init("https://fiscal.contora.com.br/api/v1/utils/cep/{$cep}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer {$token}",
    "Accept: application/json"
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data);
Exemplo usando Node.js (Fetch API)
const token = 'SEU_TOKEN_AQUI';
const cep = '02995000';

fetch(`https://fiscal.contora.com.br/api/v1/utils/cep/${cep}`, {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Accept': 'application/json'
  }
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error(err));
Exemplo usando Python (Requests)
import requests

token = 'SEU_TOKEN_AQUI'
cep = '02995000'
url = f'https://fiscal.contora.com.br/api/v1/utils/cep/{cep}'

headers = {
    'Authorization': f'Bearer {token}',
    'Accept': 'application/json'
}

response = requests.get(url, headers=headers)
data = response.json()
print(data)
Exemplo usando C# (.NET HttpClient)
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        var token = "SEU_TOKEN_AQUI";
        var cep = "02995000";
        
        using var client = new HttpClient();
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        
        var response = await client.GetAsync($"https://fiscal.contora.com.br/api/v1/utils/cep/{cep}");
        var content = await response.Content.ReadAsStringAsync();
        Console.WriteLine(content);
    }
}
Exemplo usando Go (net/http)
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	token := "SEU_TOKEN_AQUI"
	cep := "02995000"
	url := fmt.Sprintf("https://fiscal.contora.com.br/api/v1/utils/cep/%s", cep)

	req, _ := http.NewRequest("GET", url, nil)
	req.Header.Add("Authorization", "Bearer "+token)
	req.Header.Add("Accept", "application/json")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))
}
Exemplo usando cURL (Terminal)
curl -X GET \
  'https://fiscal.contora.com.br/api/v1/utils/cep/02995000' \
  -H 'Authorization: Bearer SEU_TOKEN_AQUI' \
  -H 'Accept: application/json'

Pacotes oficiais

Ainda não existem pacotes oficiais publicados. Os exemplos desta página usam clientes HTTP mantidos por cada linguagem e seguem diretamente o contrato OpenAPI.