Conheça as soluções Webmania® para o seu negócio. Teste grátis as nossas soluções.
Conversar no WhatsApp*Teste grátis para novos clientes.
Consulte condições e serviços disponíveis.
Utilize a REST API da Webmania®, para emissão de MDF-e. Deseja emitir outros modelos? Ver documentação
Todas as solicitações na API devem ser realizadas em ambiente criptografado HTTPS através da URL https://api.webmaniabr.com. O prefixo /2/ indica que atualmente nós estamos utilizando a versão 2.0 da API.
| URL | HTTP Verb | Função |
|---|---|---|
/2/mdfe/emissao | POST | Emissão de MDF-e |
/2/mdfe/consulta | GET | Consulta de MDF-e |
/2/mdfe/encerrar | PUT | Encerrar MDF-e |
/2/mdfe/cancelar | PUT | Cancelar MDF-e |
/2/mdfe/condutor | PUT | Incluir Condutor na MDF-e (Apenas modalidade Rodoviário) |
Todas as respostas são no formato objeto JSON.
Uma requisição bem sucedida é indicada através do status HTTP, o status 2xx indica sucesso. Quando uma requisição ocorre falha o corpo da resposta [body] continua no formato JSON, mas sempre contém o campo error. Por exemplo, caso a sua autenticação não seja bem sucedida irá retornar a seguinte mensagem:
{
"msg": "Acesso restrito."
} Realize a emissão com apenas um clique na sua Loja Virtual através dos módulos da Webmania® ou realize a integração para os diversos tipos de linguagens de programação.
Para as requisições, o corpo da requisição [body] deve ser enviado no formato JSON com os headers Content-Type e Accept definidos para application/json.
A autenticação é realizada através do cabeçalho HTTP (HTTP headers). É necessário o envio do header Authorization Bearer Token com o Access-Token da API 2.0, encontrado no painel Webmania®.
Mantenha as credenciais de acesso em segurança. Nunca publique as credenciais de acesso no código fonte do site, aplicativo ou software onde o usuário possa ter fácil acesso.
Para aplicativos móveis iOS e Android, recomendamos que o processo de emissão seja realizado no servidor (back-end). O código fonte do aplicativo deve possuir somente a solicitação de emissão, enquanto o processo deve ser realizado em seu servidor.
Para que sua plataforma se mantenha sempre atualizada, a Webmania disponibiliza notificações automáticas para todos os status da MDF-e.
Cada MDF-e possui um número único de identificação chamado de UUID. Este número deve ser utilizado para recepcionar e identificar a MDF-e e atualizar as informações no seu banco de dados.
No momento em que é realizada a emissão da MDF-e, caso tenha informado o parâmetro url_notificacao, será enviado o retorno no formato POST para a URL especificada, contendo no corpo os parâmetros uuid, chave, serie, numero, status, motivo, xml, damdfe e log.
| Parâmetro | Tipo | Descrição |
|---|---|---|
uuid | string | Número único de identificação da MDF-eDeve ser utilizada a UUID para recepcionar o retorno da notificação. |
chave | string | Chave de identificação da MDF-e na Sefaz |
serie | número | Série de emissão |
numero | número | Número da MDF-e Gerenciado automaticamente pelo emissor. |
status | string | Status da MDF-eaprovado |
motivo | string | Motivo do statusEx.: Autorizado o uso da MDF-e |
xml | string | URL do XML da MDF-e |
damdfe | string | URL do DAMDFE |
log | array | Log de retorno da Sefaz |
A requisição via POST é realizada no formato application/json:
-X POST \
-header "Content-type: application/json" \Segue exemplo do retorno via POST:
{
"uuid": "00000000-0000-0000-0000-000000000000",
"chave": "00000000000000000000000000000000000000000000",
"serie": 1,
"numero": 123,
"status": "aprovado",
"motivo": "Autorizado o uso da MDF-e",
"xml": "https://api.webmaniabr.com/xmlmdfe/[chave]",
"damdfe": "https://api.webmaniabr.com/damdfe/[chave]",
"log": { ... }
} Para emitir um Manifesto Eletrônico de Documentos Fiscais, envie a requisição no método POST para a URL /2/mdfe/emissao contendo no corpo da requisição os objetos no formato JSON.
curl -X POST \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ambiente": 1,
"modalidade": 1,
"emitente": 2,
...
}' \
https://api.webmaniabr.com/2/mdfe/emissao Segue abaixo exemplo de como Emitir MDF-e:
{
"ambiente": 1,
"emitente": 2,
"transportador": 1,
"modalidade": 1,
"uf_carregamento": "GO",
"uf_descarregamento": "PR",
"valor_carga": "500.00",
"unidade": "01",
"peso_bruto": "50.0000",
"carregamento": [
{
"codigo_municipio": "5208707",
"nome_municipio": "Goiânia",
},
{
"codigo_municipio": "5201405",
"nome_municipio": "Aparecida de Goiânia",
}
],
"descarregamento": [
{
"codigo_municipio": "4106902",
"nome_municipio": "Curitiba",
"documentos_fiscais": [
{
"chave": "00000000000000000000000000000000000000000000",
}
]
}
],
"percurso": ["MG", "SP"],
"rodoviario": {
"rntrc": "12345678",
"veiculo_tracao": {
"placa": "AB12E4R",
"tara": "20",
"uf_licenciamento": "GO",
"tipo_rodado": "01",
"tipo_carroceria": "00",
"proprietario": {
"cnpj": "00.000.000/0000-00",
"razao_social": "Proprietário 1",
"ie": "00000",
"uf": "GO",
"tipo_proprietario": "2",
}
},
"condutor": [
{
"cpf": "000.000.000-00",
"nome": "Condutor 1",
}
],
"ciot": [
{
"codigo_ciot": "000000000000",
"cpf_responsavel": "000.000.000-00",
}
]
},
"seguro": [
{
"responsavel": {
"tipo_responsavel": "1"
}
}
],
"produto_predominante": {
"tipo_carga": "01",
"nome": "Produto 1",
"lotacao": {
"carregamento": {
"cep": "00000-000",
},
"descarregamento": {
"cep": "00000-000",
}
}
}
} A resposta do corpo da mensagem será no formato objeto JSON, contendo os campos uuid, chave, serie, numero, status, motivo, xml, damdfe e log:
{
"uuid": "90d30c80-d0be-4c8f-a749-a818989222ca", // Número único de identificação
"chave": "00000000000000000000000000000000000000000000", // Chave de identificação na Sefaz
"serie": 1, // Série da MDF-e
"numero": 123, // Número da MDF-e
"status": "aprovado", // aprovado, reprovado, cancelado, encerrado, processando ou contingencia
"motivo": "Autorizado o uso da MDF-e", // Motivo do status
"xml": "https://api.webmaniabr.com/xmlmdfe/[chave]",
"damdfe": "https://api.webmaniabr.com/damdfe/[chave]",
"log": "{...}" // Log de retorno da Sefaz
} No momento em que é realizada a emissão da Nota Fiscal, caso tenha informado o parâmetro url_notificacao, será enviado o retorno no formato POST para a URL especificada. Saiba mais
O Manifesto Eletrônico de Documentos Fiscais possui quatro modalidades diferentes, dependendo do tipo de transporte da carga: Rodoviário, Aéreo, Aquaviário e Ferroviário. Cada modalidade possui um grupo de campos específicos identificados pelos parâmetros: rodoviario, aereo, aquaviario e ferroviario.
Preencha os campos conforme a finalidade da sua emissão. Alguns parâmetros possuem informações adicionais que podem ser acessadas ao clicar sobre eles. A tabela abaixo apresenta os campos necessários para a emissão de um MDF-e.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
ID | string | 1-15 | Número do pedido de compra ou ID de processamento Controle das solicitações de emissão por pedido ou ID de processamento. Saiba mais | |
ambiente | número | 1 | Identificação do Ambiente da Sefaz 1 - Produção | |
url_notificacao | string | --- | URL de notificação para todas as atualizações de status da MDF-e | |
emitente | número | 1 | Tipo do Emitente da MDF-e 1 - Prestador de serviço de transporte Obs.: Deve ser preenchido com 2, para emitentes de NF-e e pelas transportadoras quando estiverem fazendo transporte de carga própria. Deve ser preenchido com 3, para transportador de carga que emitirá à posteriori CT-e Globalizado relacionando as NF-e. | |
transportador | número | 1 | Tipo do Transportador da MDF-e 1 - ETC | |
modalidade | número | 1 | Modalidade de transporte 1 - Rodoviário | |
uf_carregamento | string | 2 | Sigla da UF do Carregamento | |
uf_descarregamento | string | 2 | Sigla da UF do Descarregamento | |
valor_carga | string | 13v2 | Valor total da carga/mercadorias transportadas | |
unidade | string | 2 | Código da unidade de medida do Peso Bruto da Carga/Mercadorias transportadas 01 – KG | |
peso_bruto | string | 11v4 | Peso Bruto Total da Carga/Mercadorias transportadas | |
data_inicio_viagem | string | 19 | Data e hora previstos de início da viagem Formato: Y-m-d H:i:s | |
carregamento | array | 1-50 | Informações dos Municípios de Carregamento | |
descarregamento | array | 1-10000 | Informações dos Municípios de Descarregamento e Documentos Fiscais | |
produto_predominante | objeto | --- | Informações do Produto Predominante da Carga | |
seguro | array | 0-n | Informações do Seguro da Carga | |
rodoviario | objeto | --- | Informações do Modelo Rodoviário. *Obrigatório para modalidade Rodoviário. | |
aereo | objeto | --- | Informações do Modelo Aéreo. *Obrigatório para modalidade Aéreo. | |
aquaviario | objeto | --- | Informações do Modelo Aquaviário. *Obrigatório para modalidade Aquaviário. | |
ferroviario | objeto | --- | Informações do Modelo Ferroviário. *Obrigatório para modalidade Ferroviário. |
As informações sobre o Carregamento da Carga são montados dentro do array carregamento, onde cada elemento do array corresponde à um município de carregamento.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
nome_municipio | string | 2-60 | Nome do Município de Carregamento | |
codigo_municipio | string | 7 | Código do Município de Carregamento Caso o município não seja identificado pelo nome, será solicitado o código do município |
Segue abaixo exemplo de como informar o carregamento ao emitir uma MDF-e:
{
...
"carregamento": [
{
"nome_municipio": "Curitiba",
"codigo_municipio": "4106902"
},
{
"nome_municipio": "Maringá",
"codigo_municipio": "4115200"
}
],
...
}As informações sobre o Descarregamento da Carga são montados dentro do array descarregamento, onde cada elemento do array corresponde à um município de descarregamento. Podem ter vários Documentos Fiscais (NF-e, CT-e ou MDF-e) vinculados ao município de descarregamento.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
nome_municipio | string | 2-60 | Nome do Município de Descarregamento | |
codigo_municipio | string | 7 | Código do Município de Descarregamento Caso o município não seja identificado pelo nome, será solicitado o código do município | |
documentos_fiscais | array | 1-10000 | Documentos Fiscais das mercadorias que serão descarregadas no município NF-e, CT-e ou MDF-e |
Segue abaixo exemplo de como informar o descarregamento ao emitir uma MDF-e:
{
...
"descarregamento": [
{
"nome_municipio": "São Paulo",
"codigo_municipio": "3550308",
"documentos_fiscais": [...]
}
],
...
}As informações sobre os Documentos Fiscais são montados dentro do array documentos_fiscais, onde cada elemento do array corresponde à um Documento Fiscal, podendo ser NF-e, CT-e ou MDF-e.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
chave | string | 44 | Chave de acesso | |
codigo_barra | string | 36 | Segundo código de barras | |
indicador_reentrega | boolean | --- | Indicador de Reentrega | |
unidade_transporte | array | 0-n | Informações das Unidades de Transporte (Carreta/Reboque/Vagão) |
Segue abaixo exemplo de como informar um Documento Fiscal:
{
...
"documentos_fiscais": [
{
"chave": "00000000000000000000000000000000000000000000"
},
{
"chave": "00000000000000000000000000000000000000000000"
},
{
"chave": "00000000000000000000000000000000000000000000"
}
],
...
}As informações sobre as Unidades de Transporte são montados dentro do array unidade_transporte, onde cada elemento do array corresponde à uma Unidade de Transporte.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
tipo | número | 1 | Tipo da Unidade de Transporte 1 - Rodoviário Tração | |
identificacao | string | 1-20 | Identificação da Unidade de Transporte Informar a identificação conforme o tipo de unidade de transporte. Por exemplo, para rodoviário tração ou reboque deverá informar a placa do veículo. | |
lacres | array (string) | 0-n | Lacres das Unidades de Transporte | |
quantidade_rateada | string | 3v2 | Quantidade rateada (Peso,Volume) | |
unidade_carga | array | 0-n | Informações das Unidades de Carga (Containeres/ULD/Outros) |
Segue abaixo exemplo de como informar uma Unidade de Transporte:
{
...
"unidade_transporte": [
{
"tipo": 1,
"identificacao": "Placa ABCXXXX",
"lacres": [
"00000000", "00000000"
],
"unidade_carga": [...]
}
],
...
}As informações sobre as Unidades de Carga são montados dentro do array unidade_carga, onde cada elemento do array corresponde à uma Unidade de Carga.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
tipo | número | 1 | Tipo da Unidade de Carga 1 - Container | |
identificacao | string | 1-20 | Identificação da Unidade de Carga Informar a identificação da unidade de carga, por exemplo: número do container. | |
lacres | array (string) | 0-n | Lacres das Unidades de Carga | |
quantidade_rateada | string | 3v2 | Quantidade rateada (Peso,Volume) |
Segue abaixo exemplo de como informar uma Unidade de Carga:
{
...
"unidade_carga": [
{
"tipo": 1,
"identificacao": "Container 00000",
"lacres": [
"00000000", "00000000"
]
}
],
...
}As informações sobre Periculosidade são montados dentro do array periculosidade, onde cada elemento do array corresponde às informações de periculosidade sobre um produto. Essas informações devem ser preenchidas quando houver transporte de produtos classificados pela ONU como perigosos.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
numero_onu | string | 4 | Número ONU/UN | |
quantidade_total | string | 1-20 | Quantidade total por produto | |
nome_embarque | string | 1-150 | Nome apropriado para embarque do produto | |
classe_risco | string | 1-40 | Classe ou subclasse/divisão, e risco subsidiário/risco secundário | |
grupo_embalagem | string | 1-6 | Grupo de Embalagem | |
quantidade_volumes | string | 1-60 | Quantidade e Tipo de volumes | |
entrega_parcial | objeto | --- | Informações da Entrega Parcial (Corte de Voo) |
Segue abaixo exemplo de como informar periculosidade:
{
...
"periculosidade": [
{
"numero_onu": "XXXX",
"nome_embarque": "Produto Perigoso 1",
"classe_risco": "Classe de Risco XX",
"grupo_embalagem": "XXXXXX",
"quantidade_total": "40000",
"entrega_parcial": "35000"
}
],
...
}As informações sobre o Produto Predominante da Carga são montados dentro do objeto produto_predominante, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
tipo_carga | string | 2 | Tipo da Carga 01-Granel sólido | |
nome | string | 2-120 | Nome/Descrição do Produto Predominante | |
gtin | string | 14 | GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de barras | |
ncm | string | 8 | Código NCM do Produto | |
lotacao | objeto | --- | Informações da carga lotação. Informar somente quando MDF-e for de carga lotação |
Segue abaixo exemplo de como informar o Produto Predominante
{
...
"produto_predominante": {
"tipo_carga": "02",
"nome": "Produto X",
"gtin": "00000000000000",
"ncm": "00000000",
"lotacao": {
...
},
},
...
}As informações sobre a Lotação do Produto Predominante da Carga são montados dentro do objeto lotacao, devem ser informados a localização do local de carregamento e descarregamento da carga de lotação.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
cep | string | 8-9 | CEP do Local de Carregamento/Descarregamento | |
latitude | string | 2v6 | Latitude do Local de Carregamento/Descarregamento | |
longitude | string | 3v6 | Longitude do Local de Carregamento/Descarregamento |
Segue abaixo exemplo de como informar a Lotação do Produto Predominante
{
...
"lotacao": {
"carregamento": {
"cep": "00000-000",
"latitude": "00.000",
"longitude": "00.000"
},
"descarregamento": {
"cep": "00000-000",
"latitude": "00.000",
"longitude": "00.000"
},
},
...
}As informações sobre o Seguro da Carga são montados dentro do array seguro, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
responsavel | objeto | --- | Informações do responsável pelo seguro da carga | |
seguradora | objeto | --- | Informações da seguradora | |
numero_apolice | string | 1-20 | Número da Apólice | |
numero_averbacao | array | 0-n | Número das Averbações |
Segue abaixo exemplo de como informar o seguro da carga
{
...
"seguro": [
{
"responsavel": {
"tipo_responsavel": 2,
"cnpj": "00.000.000/0000-00",
},
"seguradora": {
"nome_seguradora": "Seguradora 1",
"cnpj": "00.000.000/0000-00",
},
"numero_apolice": "00000000000000",
"numero_averbacao": ["000000", "000000"]
},
{
"responsavel": {
"tipo_responsavel": 1
},
"seguradora": {
"nome_seguradora": "Seguradora 2",
"cnpj": "00.000.000/0000-00",
},
"numero_apolice": "00000000000000",
"numero_averbacao": ["000000", "000000"]
}
],
...
}As informações sobre o responsável pelo seguro são montados dentro do objeto responsavel, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
tipo_responsavel | número | 1 | Responsável pelo seguro 1 - Emitente do MDF-e | |
cpfPessoa Física | string | 11 | Número do CPF Obs.: Não é necessário informar caso o responsável seja o emitente do MDF-e 000.000.000-00 | |
cnpjPessoa Jurídica | string | 14 | Número do CNPJ Obs.: Não é necessário informar caso o responsável seja o emitente do MDF-e 00.000.000/0000-00 |
As informações sobre a seguradora são montados dentro do objeto seguradora,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
nome_seguradora | string | 1-30 | Nome da Seguradora | |
cnpj | string | 14 | Número do CNPJ00.000.000/0000-00 |
As informações sobre a modalidade Rodoviário são montados dentro do array rodoviario, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
rntrc | string | 8 | Registro Nacional de Transportadores Rodoviários de Carga | |
combinacao_veicular | string | 2 | Categoria de Combinação Veicular *Obrigatório quando definido o vale_pedagio 02-Veículo Comercial 2 eixos | |
veiculo_tracao | objeto | --- | Informações do Veículo de Tração | |
veiculo_reboque | array | 0-3 | Informações dos Veículos de Reboque | |
condutor | array | 1-10 | Condutores do Veículo | |
ciot | array | 0-n | Dados do CIOT (Código Identificador da Operação de Transporte) | |
vale_pedagio | array | 0-n | Informações de Vale Pedágio *Obrigatório quando definido o combinacao_veicular | |
contratante | array | 0-n | Informações dos Contratantes do Serviço de Transporte | |
pagamento_frete | array | 0-n | Informações do Pagamento do Frete |
Segue abaixo exemplo de como informar a modalidade Rodoviário
{
...
"rodoviario": {
"rntrc": "00000000",
"veiculo_tracao": {...},
"condutor": [...]
}
...
}As informações sobre o veículo de tração/reboque são montados dentro do objeto veiculo_tracao ou do array veiculo_reboque, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
codigo_interno | string | 1-10 | Código interno do veículo | |
placa | string | 7 | Placa do veículo | |
renavam | string | 9-11 | RENAVAM do veículo | |
tara | string | 1-6 | Tara em KG | |
capacidade_kg | string | 1-6 | Capacidade em KG do veículo *Obrigatório para veículo de reboque | |
capacidade_m3 | string | 1-3 | Capacidade em m3 do veículo | |
tipo_rodado | string | 2 | Tipo de rodado Obs.: Informar somente para veículo de tração 01 - Truck | |
tipo_carroceria | string | 2 | Tipo de Carroceria 00 - não aplicável | |
uf_licenciamento | string | 2 | Sigla da UF de Licenciamento do veículo | |
proprietario | objeto | --- | Proprietário do veículoSó preenchido quando o veículo não pertencer à empresa emitente do MDF-e. |
Segue abaixo exemplo de como informar o veículo de tração ou reboque
{
...
"veiculo_tracao": {
"codigo_interno": "XX123",
"placa": "ABC67H2",
"renavam": "000000000",
"tara": "30",
"tipo_rodado": "01",
"tipo_carroceria": "00",
"proprietario": {
"cnpj": "00.000.000/0000-00",
"razao_social": "Proprietário 1",
"rntrc": "00000000",
"ie": "12345",
"uf": "SP",
"tipo_proprietario": "0",
},
},
"veiculo_reboque": [
{
"codigo_interno": "XX456",
"placa": "DEF22H1",
"renavam": "000000000",
"tara": "20",
"capacidade_kg": "50",
"tipo_carroceria": "00",
"proprietario": {
"cnpj": "00.000.000/0000-00",
"razao_social": "Proprietário 2",
"rntrc": "00000000",
"ie": "67890",
"uf": "SP",
"tipo_proprietario": "0",
}
}
]
...
}As informações sobre o proprietário do veículo, somente preenchido quando o veículo não pertencer à empresa emitente do MDF-e, são montados dentro do objeto proprietario, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
cpfPessoa Física | string | 11 | Número do CPF000.000.000-00 | |
cnpjPessoa Jurídica | string | 14 | Número do CNPJ00.000.000/0000-00 | |
nomePessoa Física | string | 2-60 | Nome completo | |
razao_socialPessoa Jurídica | string | 2-60 | Razão Social00.000.000/0000-00 | |
ie | string | 0-14 | Inscrição Estadual | |
rntrc | string | 8 | RNTRC do proprietário | |
uf | string | 2 | Sigla da UF do proprietário | |
tipo_proprietario | string | 1 | Tipo do proprietário 0-TAC – Agregado |
As informações sobre os condutores dos veículos são montados dentro do array condutor,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
cpf | string | 11 | Número do CPF 000.000.000-00 | |
nome | string | 2-60 | Nome completo |
Segue abaixo exemplo de como informar o condutor
{
...
"condutor": [
{
"cpf": "000.000.000-00",
"nome": "Condutor 1",
},
{
"cpf": "000.000.000-00",
"nome": "Condutor 2",
}
],
...
}As informações sobre o CIOT (Código Identificador da Operação de Transporte) são montados dentro do array ciot,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
codigo_ciot | string | 12 | Código CIOT | |
cpf_responsavelPessoa Física | string | 11 | Número do CPF do Responsável pela geração do CIOT000.000.000-00 | |
cnpj_responsavelPessoa Jurídica | string | 14 | Número do CNPJ do Responsável pela geração do CIOT00.000.000/0000-00 |
Segue abaixo exemplo de como informar o CIOT
{
...
"ciot": [
{
"codigo_ciot": "000000000000",
"cpf_responsavel": "000.000.000-00",
},
{
"codigo_ciot": "000000000000",
"cnpj_responsavel": "00.000.000/0000-00",
}
],
...
}As informações sobre o Vale Pedágio são montados dentro do array vale_pedagio,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
cnpj_fornecedor | string | 14 | Número do CNPJ do Fornecedor do Vale Pedágio 00.000.000/0000-00 | |
cpf_responsavelPessoa Física | string | 11 | Número do CPF do Responsável pelo pagamento do Vale Pedágio000.000.000-00 | |
cnpj_responsavelPessoa Jurídica | string | 14 | Número do CNPJ do Responsável pelo pagamento do Vale Pedágio00.000.000/0000-00 | |
comprovante | string | 1-20 | Número do comprovante de compra | |
valor | string | 13v2 | Valor do Vale Pedágio | |
tipo | string | 1 | Tipo do Vale Pedagio 1-TAG |
Segue abaixo exemplo de como informar o Vale Pedágio
{
...
"vale_pedagio": [
{
"cnpj_fornecedor": "00.000.000/0000-00",
"cpf_responsavel": "000.000.000-00",
"comprovante": "00000",
"valor": "15.00",
"tipo": "1",
},
{
"cnpj_fornecedor": "00.000.000/0000-00",
"cnpj_responsavel": "00.000.000/0000-00",
"comprovante": "00000",
"valor": "12.00",
"tipo": "1",
}
],
...
}As informações sobre os contratantes do serviço de transporte são montados dentro do array contratante,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
cpfPessoa Física | string | 11 | Número do CPF000.000.000-00 | |
cnpjPessoa Jurídica | string | 14 | Número do CNPJ00.000.000/0000-00 |
Segue abaixo exemplo de como informar o Contratante
{
...
"contratante": [
{
"cpf": "000.000.000-00"
},
{
"cnpj": "00.000.000/0000-00"
}
],
...
}As informações sobre o pagamento do frete são montados dentro do array pagamento_frete,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
cpfPessoa Física | string | 11 | Número do CPF000.000.000-00 | |
nomePessoa Física Pessoa Estrangeira | string | 2-60 | Nome do responsável pelo pagamento | |
cnpjPessoa Jurídica | string | 14 | Número do CNPJ00.000.000/0000-00 | |
razao_socialPessoa Jurídica | string | 2-60 | Razão Social do responsável pelo pagamento | |
id_estrangeiroPessoa Estrangeira | string | 5-20 | Identificador do responsável pelo pagamento em caso de ser estrangeiro | |
valor_contrato | string | 13v2 | Valor Total do Contrato | |
forma_pagamento | string | 1 | Indicador da Forma de Pagamento:0 - Pagamento à Vista | |
operacao_alto_desempenho | boolean | --- | Operação de transporte com utilização de veículos de frotas dedicadas ou fidelizadas | |
valor_adiantamento | string | 13v2 | Valor do Adiantamento Usar apenas em forma de pagamento a prazo | |
antecipar_adiantamento | boolean | --- | Indicador para declarar concordância em antecipar o adiantamentoInformar somente se for autorizado antecipar o adiantamento | |
permissao_antecipacao_parcela | string | 1 | Tipo de Permissão em relação a antecipação das parcelas:0 - Não permite antecipar | |
componentes_pagamento_frete | array | 1-n | Componentes do Pagamento do Frete | |
informacoes_bancarias | objeto | 1 | Informações bancárias | |
informacoes_pagamento_prazo | array | 0-n | Informações do pagamento a prazo Informar somente se a forma de pagamento for a prazo |
Segue abaixo exemplo de como informar o pagamento do frete
{
...
"pagamento_frete": [
{
"nome": "João Silva",
"cpf": "000.000.000-00",
"valor_contrato": 173.56,
"forma_pagamento": "1",
"valor_adiantamento": 50.45,
"componentes_pagamento_frete": [...],
"informacoes_bancarias": {...}
},
{
"nome": "Noah Oliver",
"id_estrangeiro": "JAU2874HBDJ",
"valor_contrato": 1084.13,
"forma_pagamento": "0",
"componentes_pagamento_frete": [...],
"informacoes_bancarias": {...}
}
],
...
}As informações sobre os componentes do pagamento do frete são montadas dentro do array componentes_pagamento_frete. A tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
tipo_componente | string | 2 | Tipo do Componente: 01 - Vale Pedágio | |
valor_componente | string | 13v2 | Valor do componente | |
descricao_componente | string | 2-60 | Descrição do componenteInformar somente se o tipo de componente for 99 – Outros |
Segue abaixo exemplo de como informar o Componentes do Pagamento do Frete
{
...
"componentes_pagamento_frete": [
{
"tipo_componente": "01",
"valor_componente": 976.34
},
{
"tipo_componente": "99",
"valor_componente": 80.54,
"descricao_componente": "Taxa de estadia"
}
],
...
}As informações bancárias relacionadas ao pagamento do frete são organizadas dentro do array informacoes_bancarias. A tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
tipo_informacao_bancaria | string | 1 | Tipo da informação bancária1 - Banco e agência | |
numero_banco | string | 3-5 | Número do bancoObrigatório se tipo da informação bancária for 1 - Banco e agência | |
numero_agencia | string | 1-10 | Número da agência bancáriaObrigatório se tipo da informação bancária for 1 - Banco e agência | |
cnpj_ipef | string | 14 | CNPJ da Instituição de Pagamento Eletrônico do FreteObrigatório se tipo da informação bancária for 2 - CNPJ da Instituição de Pagamento Eletrônico do Frete | |
pix | string | 2-60 | Chave PIX para recebimento do freteObrigatório se tipo da informação bancária for 3 - Chave PIX para recebimento do frete |
Segue abaixo exemplo de como informar as informações bancárias
{
...
"informacoes_bancarias": {
"tipo_informacao_bancaria": "1",
"numero_banco": "091",
"numero_agencia": "001"
},
...
}
{
...
"informacoes_bancarias": {
"tipo_informacao_bancaria": "3",
"pix": "000.000.000-00"
},
...
}As informações sobre o pagamento a prazo do frete são organizadas dentro do array informacoes_pagamento_prazo. A tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
data_vencimento_parcela | string | 10 | Data de vencimento da parcelaFormato Y-m-d | |
valor_parcela | string | 13v2 | Valor da Parcela |
Segue abaixo exemplo de como informar o pagamento a prazo do frete
{
...
"informacoes_pagamento_prazo": [
{
"data_vencimento_parcela": 2004-01-02,
"valor_parcela": 976.34
}
],
...
}As informações sobre a modalidade Aéreo são montados dentro do array aereo, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
nacionalidade_aeronave | string | 1-4 | Marca de nacionalidade da Aeronave | |
matricula_aeronave | string | 1-6 | Marca de matrícula da Aeronave | |
numero_voo | string | 5-9 | Número do Voo Formato = AB1234, sendo AB a designação da empresa e 1234 o número do voo. Quando não for possível incluir as marcas de nacionalidade e matrícula sem hífen. | |
aerodromo_embarque | string | 3-4 | Aeródromo de Embarque O código de três letras IATA do aeroporto de partida deverá ser incluído como primeira anotação. Quando não for possível, utilizar a sigla OACI. | |
aerodromo_destino | string | 3-4 | Aeródromo de Destino O código de três letras IATA do aeroporto de destino deverá ser incluído como primeira anotação. Quando não for possível, utilizar a sigla OACI. | |
data_voo | string | 10 | Data do Voo Formato Y-m-d |
Segue abaixo exemplo de como informar a modalidade Aéreo
{
...
"aereo": {
"nacionalidade_aeronave": "XXXX",
"matricula_aeronave": "XXXXXX",
"numero_voo": "AB1234",
"aerodromo_embarque": "AB1",
"aerodromo_destino": "AB2",
"data_voo": "2022-07-11",
}
...
}As informações sobre a modalidade Aquaviário são montados dentro do array aquaviario, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
irin | string | 1-10 | Irin do navio | |
tipo_embarcacao | string | 2 | Código do tipo de embarcação Preencher com código da Tabela de Tipo de Embarcação definida no Ministério dos Transportes | |
codigo_embarcacao | string | 1-10 | Código da embarcação | |
nome_embarcacao | string | 1-60 | Nome da embarcação | |
numero_viagem | string | 1-10 | Número da viagem | |
codigo_porto_embarque | string | 1-5 | Código do Porto de Embarque Preencher de acordo com Tabela de Portos definida no Ministério dos Transportes | |
codigo_porto_destino | string | 1-5 | Código do Porto de Destino Preencher de acordo com Tabela de Portos definida no Ministério dos Transportes | |
porto_transbordo | string | 1-60 | Porto de Transbordo | |
tipo_navegacao | string | 1 | Tipo de navegação 0 - Interior | |
mmsiNOVO | string | 1-9 | Maritime Mobile Service Identify | |
terminal_carregamento | array | 0-5 | Informações dos Terminais de Carregamento | |
terminal_descarregamento | array | 0-5 | Informações dos Terminais de Descarregamento | |
embarcacao_comboio | array | 0-30 | Informações das Embarcações do Comboio | |
carga_vazia | array | 0-n | Informações das Unidades de Carga vazias | |
transporte_vazio | array | 0-n | Informações das Unidades de Transporte vazias |
Segue abaixo exemplo de como informar a modalidade Aéreo
{
...
"aquaviario": {
"irin": "XXXX12345",
"tipo_embarcacao": "01",
"codigo_embarcacao": "AB12345",
"nome_embarcacao": "Embarcação 1",
"numero_viagem": "AA12345",
"codigo_porto_embarque": "XXXXX",
"codigo_porto_destino": "XXXXX",
"terminal_carregamento": [
{
"codigo": "TC1",
"nome": "Terminal Carregamento 1",
}
],
"terminal_descarregamento": [
{
"codigo": "TD1",
"nome": "Terminal Descarregamento 1",
}
],
"embarcacao_comboio": [
{
"codigo": "EC1",
"identificador_balsa": "Balsa 1",
}
],
"carga_vazia": [
{
"identificador": "UCV1",
"tipo_unidade": 1,
}
],
"transporte_vazio": [
{
"identificador": "UTV1",
"tipo_unidade": 1,
}
],
}
...
}As informações sobre os terminais de carregamento e descarregamento são montados dentro do array terminal_carregamento ou terminal_descarregamento, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
codigo | string | 1-8 | Código do Terminal Preencher de acordo com a Tabela de Terminais de Carregamento/Descarregamento. O código de cada Porto está definido no Ministério de Transportes. | |
nome | string | 1-60 | Nome do Terminal |
As informações sobre as embarcações do comboio são montados dentro do array embarcacao_comboio, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
codigo | string | 1-10 | Código da embarcação do comboio | |
identificador_balsa | string | 1-60 | Identificador da Balsa |
As informações sobre as unidades de carga vazias são montados dentro do array carga_vazia,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
identificador | string | 1-20 | Identificação da unidade | |
tipo_unidade | string | 1 | Tipo da unidade 1 - Container |
As informações sobre as unidades de transporte vazias são montados dentro do array transporte_vazio,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
identificador | string | 1-20 | Identificação da unidade | |
tipo_unidade | string | 1 | Tipo da unidade 1 - Rodoviário Tração do tipo caminhão |
As informações sobre a modalidade Ferroviário são montados dentro do array ferroviario, a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
trem | objeto | --- | Informações da composição do trem | |
vagoes | array | 1-n | Informações dos vagões |
Segue abaixo exemplo de como informar a modalidade Ferroviário
{
...
"ferroviario": {
"trem": {
"prefixo": "ABC123",
"data_liberacao": "2022-07-11 10:00:00",
"origem": "A12",
"destino": "B34",
},
"vagoes": [
{
"peso_bc": "0.000",
"peso_real": "0.000",
"tipo_vagao": "ABC",
"serie": "XYZ",
"numero": "110",
"sequencia_vagao": "1",
"tonelada_util": "0.000,
},
{
"peso_bc": "0.000",
"peso_real": "0.000",
"tipo_vagao": "ABC",
"serie": "XYZ",
"numero": "120",
"sequencia_vagao": "2",
"tonelada_util": "0.000,
}
]
}
...
}As informações sobre o trem são montados dentro do objeto trem,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
prefixo | string | 1-10 | Prefixo do trem | |
data_liberacao | string | 19 | Data e hora de liberação do trem na origem Formato Y-m-d H:i:s | |
origem | string | 1-3 | Sigla da estação de origem do trem | |
destino | string | 1-3 | Sigla da estação de destino do trem |
As informações sobre os vagões do trem são montados dentro do objeto vagoes,
a tabela abaixo lista os parâmetros que podem ser informados.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
peso_bc | string | 3v3 | Peso Base de Cálculo de Frete em Toneladas | |
peso_real | string | 3v3 | Peso Real em Toneladas | |
tipo_vagao | string | 3 | Tipo de vagão | |
serie | string | 3 | Série de identificação | |
numero | string | 1-8 | Número de identificação | |
sequencia_vagao | string | 1-3 | Sequência na composição | |
tonelada_util | string | 3v3 | Tonelada Útil |
Na Webmania, a segurança da informação é nossa prioridade máxima. Por esse motivo, aplicamos restrições de acesso aos arquivos XML e PDF para garantir a segurança dos documentos fiscais.
O documento fiscal é criptografado com senha, e só pode ser visualizado após a confirmação do CPF/CNPJ do tomador da nota fiscal ou conforme formas de autenticação através do IP emissor, Credenciais de acesso, Token ou Conectado no painel Webmania®.
Segue abaixo as condições de acesso disponibilizados, após as restrições serem aplicadas:
| Autenticação | Acesso autorizado | Exige senha? | Descrição |
|---|---|---|---|
Credenciais de acesso | ✅ | Não | Ao enviar as credenciais de acesso da empresa na HEADER da requisição, podem ser acessados todos os documentos fiscais emitidos pela empresa. Authorization: Bearer SEU_ACCESS_TOKEN |
Token | ❌ | --- | Recurso não disponível para MDF-e |
IP emissor | ✅ | Não | Ao emitir uma nota fiscal o IP do computador/servidor é registrado como autorizado de forma permanente, onde pode acessar todos os documentos fiscais emitidos pelas empresas às quais possui acesso. IPs autorizados automaticamente |
Painel Webmania® | ✅ | Não | Ao realizar o login no painel Webmania® é permitido o acesso para todos os documentos fiscais emitidos pelas empresas da sua conta. O acesso é vinculado ao período que está conectado no painel Webmania®.Acesso enquanto estiver conectado |
Sem autenticação | ❌ | --- | Recurso não disponível para MDF-e |
Ao enviar as credenciais de acesso da empresa na HEADER da requisição, podem ser acessados todos os documentos fiscais emitidos pela empresa. Segue abaixo exemplo de como visualizar o PDF, utilizando as credenciais de acesso:
curl -X GET \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
https://api.webmaniabr.com/damdfe/00000000000000000000000000000000000000000000A resposta do corpo da mensagem será no formato application/pdf ou text/xml, contendo no corpo da requisição o arquivo.
Para consultar o status de emissão da MDF-e, envie a requisição no método GET para URL /2/mdfe/consulta/ contendo na URL da requisição o UUID ou Chave de Acesso da MDF-e.
Segue abaixo exemplo da consulta de uma MDF-e:
curl -X GET \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
}' \
https://api.webmaniabr.com/2/mdfe/consulta/00000000000000000000000000000000000000000000A resposta do corpo da mensagem será no formato objeto JSON, contendo os campos uuid, chave, status, motivo, serie, numero, xml, damdfe, log:
{
"uuid": "90d30c80-d0be-4c8f-a749-a818989222ca", // Número único de identificação
"chave": "00000000000000000000000000000000000000000000", // Chave de identificação na Sefaz
"status": "aprovado", // aprovado, reprovado, cancelado, encerrado, processando ou contingencia
"motivo": "Autorizado o uso da MDF-e", // Motivo do status
"serie": 1, // Série da MDF-e
"numero": 123, // Número da MDF-e
"xml": "https://api.webmaniabr.com/xmlmdfe/[chave]",
"damdfe": "https://api.webmaniabr.com/damdfe/[chave]",
"log": "{...}" // Log de retorno da Sefaz
}O encerramento do Manifesto Eletrônico de Documentos Fiscais deve ser realizado sempre que uma entrega for finalizada, dessa forma é possível reconhecer que o serviço de transporte foi realmente finalizado.
Para encerrar uma MDF-e, envie a requisição no método PUT para URL /2/mdfe/encerrar contendo na requisição os parâmetros uuid ou chave da MDF-e, uf e municipio do encerramento.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
uuid | chave | string | 36 | 44 | UUID ou Chave da MDF-e | |
uf | string | 2 | Sigla da UF de Encerramento | |
municipio | string | 2-60 | Município de Encerramento | |
codigo_municipio | string | 7 | Código do Município de Encerramento. Obs.: Necessário informar caso o município não seja identificado apenas pelo nome e UF. |
Segue abaixo exemplo de encerramento da MDF-e:
curl -X PUT \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chave": "00000000000000000000000000000000000000000000",
"uf": "PR",
"municipio": "Curitiba"
}' \
https://api.webmaniabr.com/2/mdfe/encerrar A resposta do corpo da mensagem será no formato objeto JSON:
{
"uuid": "90d30c80-d0be-4c8f-a749-a818989222ca", // Número único de identificação
"chave": "00000000000000000000000000000000000000000000", // Chave de identificação na Sefaz
"status": "encerrado",
"motivo": "MDF-e encerrada", // Motivo do status
"serie": 1, // Série da MDF-e
"numero": 123, // Número da MDF-e
"xml": "https://api.webmaniabr.com/xmlmdfe/[chave]",
"damdfe": "https://api.webmaniabr.com/damdfe/[chave]",
"log": "{...}" // Log de retorno da Sefaz
} Para cancelar uma MDF-e, envie a requisição no método PUT para URL /2/mdfe/cancelar contendo na requisição os parâmetros uuid ou chave da MDF-e e justificativa do cancelamento.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
uuid | chave | string | 36 | 44 | UUID ou Chave da MDF-e | |
justificativa | string | 15-255 | Motivo do cancelamento |
Segue abaixo exemplo de cancelamento da MDF-e:
curl -X PUT \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chave": "00000000000000000000000000000000000000000000",
"justificativa": "Cancelado por motivos administrativos."
}' \
https://api.webmaniabr.com/2/mdfe/cancelar A resposta do corpo da mensagem será no formato objeto JSON:
{
"uuid": "90d30c80-d0be-4c8f-a749-a818989222ca", // Número único de identificação
"chave": "00000000000000000000000000000000000000000000", // Chave de identificação na Sefaz
"status": "cancelado",
"motivo": "Cancelado por motivos administrativos.", // Motivo do status
"serie": 1, // Série da MDF-e
"numero": 123, // Número da MDF-e
"xml": "https://api.webmaniabr.com/xmlmdfe/[chave]",
"damdfe": "https://api.webmaniabr.com/damdfe/[chave]",
"log": "{...}" // Log de retorno da Sefaz
} Para incluir um novo condutor em uma MDF-e do modelo Rodoviário, envie a requisição no método PUT para URL /2/mdfe/condutor contendo na requisição os parâmetros uuid ou chave da MDF-e e nome e cpf do condutor que será incluído.
| Parâmetro | Obrigatório | Tipo | Tam. | Descrição |
|---|---|---|---|---|
uuid | chave | string | 36 | 44 | UUID ou Chave da MDF-e | |
cpf | string | 11 | Número do CPF do Condutor000.000.000-00 | |
nome | string | 2-60 | Nome do Condutor |
Segue abaixo exemplo de inclusão do condutor na MDF-e:
curl -X PUT \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chave": "00000000000000000000000000000000000000000000",
"cpf": "000.000.000-00",
"nome": "Novo Condutor"
}' \
https://api.webmaniabr.com/2/mdfe/condutor A resposta do corpo da mensagem será no formato objeto JSON:
{
"uuid": "90d30c80-d0be-4c8f-a749-a818989222ca", // Número único de identificação
"chave": "00000000000000000000000000000000000000000000", // Chave de identificação na Sefaz
"status": "aprovado",
"motivo": "Evento registrado e vinculado ao MDF-e.", // Motivo do status
"serie": 1, // Série da MDF-e
"numero": 123, // Número da MDF-e
"xml": "https://api.webmaniabr.com/xmlmdfe/[chave]",
"damdfe": "https://api.webmaniabr.com/damdfe/[chave]",
"log": "{...}" // Log de retorno da Sefaz
}A Manifesto Eletrônico (MD-e) é emitida no modo assíncrono junto ao Sefaz, ou seja, o procedimento de análise e liberação da Nota Fiscal em alguns momentos podem variar de segundos a minutos, e nestes casos o status da Nota Fiscal é definida inicialmente como processando. É necessário aguardar o retorno do Sefaz, antes de enviar o produto ou solicitar a emissão de uma nova Nota Fiscal.
No momento que realizado a emissão da MDF-e, caso tenha informado o parâmetro url_notificacao, será enviado o retorno no formato POST para a URL especificada. Saiba mais
A Webmania® desenvolveu uma tecnologia exclusiva que trabalha com o ambiente de contingência do Sefaz automaticamente, assim que identificado que as operações do Sefaz se encontram offline.
As notas fiscais são enviadas para os ambientes SVC-RS do Sefaz, para que sejam emitidas com validade legal podendo imprimir o DAMDFE.
No momento que realizado a emissão da Nota Fiscal, caso tenha informado o parâmetro url_notificacao, será enviado o retorno no formato POST para a URL especificada. Saiba mais
O servidores da Webmania estão localizados na Amazon AWS, líder global em cloud computing, na região us-east-1 (Leste dos EUA) com ponto de presença em sa-east-1 (São Paulo). Manter a sua estrutura perto de algumas das duas localidades, garante um menor tempo de resposta nas requisições na API.
Utilizamos uma infraestrutura na Amazon AWS anycast de alta disponibilidade, o que significa que ao se comunicar com API da Webmania a requisição será redirecionada para o servidor mais próximo da sua localidade. As requisições dos endpoints são gerenciados através de IPs estáticos, caso necessite autorize no firewall a comunicação com os IPs abaixo.
IPs estáticos de entrada:API da Webmania® é protegida por um firewall que identifica de forma automática os acessos indevidos, suspeitos, credenciais incorretas e a localização da requisição, onde também pode limitar solicitações por segundo e o total de requisições para evitar o mal uso da API e a sobrecarga dos servidores. O uso indevido da API pode gerar mensagens de erro 503 ou 403 no retorno do cabeçalho da requisição. Segue abaixo especificações para uma correta integração:
https://webmaniabr.com/api/ ou https://api.webmaniabr.com retorne 403 Erro Forbidden por engano, por favor, entre em contato para liberarmos o IP do seu servidor.