API - Regra on demand
Introdução
O serviço de regras on demand provê informações tributárias em tempo real a partir dos parâmetros informados na requisição, sem a obrigatoriedade de um cadastro prévio de produtos e cenários.
A regra poderá ser gerada considerando a data enviada no campo "vigente em", podendo ser passado ou futuro, lembrando que data futura entregamos até 30 dias.
Acesso
Informações de acesso da API
Informações de acesso
Comunicação: REST/JSON
Para acessar a coleção de chamadas Clique Aqui.
Swagger Regras On Demand
https://app.systax.com.br/apisystax/calculoOnline#/
Listagem dos Endpoints que contemplam o manual de Regras On Demand
|
Descrição |
Versão |
Grupo Swagger |
Método |
URL Endpoint |
|---|---|---|---|---|
| Para regra atual |
v1 |
Calculo Online |
Post |
http://api.systax.com.br/ webservice/systax_data_rest.php |
| Para regra vigente em data anterior ou data futura |
v1 | Calculo Online | Post | http://api2.systax.com.br/ webservice/systax_data_rest.php |
Coleção de chamadas
{
"info": {
"_postman_id": "8739f5f8-87db-4bc5-96b3-39c9f45edd5e",
"name": "API - Regra On Demand v1",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "21298242"
},
"item": [
{
"name": "Entrada",
"item": [
{
"name": "Teste 1 - Vigência Atual",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "[ \r\n { \r\n \"metodo\":\"calculo\",\r\n \"versao_requisicao\":\"1\",\r\n \"versao_retorno\":\"1\",\r\n \"username\": \"\",\r\n \"senha\": \"\",\r\n \"origem_mercadoria\":\"0\",\r\n \"cean\":\"\",\r\n \"ncm\":\"22042100\",\r\n \"ex_tipi\":\"\",\r\n \"cenario\":[ \r\n { \r\n \"ent_sai\":\"E\",\r\n \"nat_op\":\"120\",\r\n \"finalidade\": \"569\",\r\n \"uf_origem\":\"SP\",\r\n \"uf_destino\":\"SP\",\r\n \"remetente\":\"1\",\r\n \"destinatario\":\"140\",\r\n \"vigente_em\": \"10/08/2023\"\r\n }\r\n ]\r\n }\r\n]",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://api.systax.com.br/webservice/systax_data_rest.php",
"protocol": "http",
"host": [
"api",
"systax",
"com",
"br"
],
"path": [
"webservice",
"systax_data_rest.php"
]
}
},
"response": []
},
{
"name": "Teste 1 - Vigência Passada",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "[ \r\n { \r\n \"metodo\":\"calculo\",\r\n \"versao_requisicao\":\"1\",\r\n \"versao_retorno\":\"1\",\r\n \"username\": \"\",\r\n \"senha\": \"\",\r\n \"origem_mercadoria\":\"0\",\r\n \"cean\":\"\",\r\n \"ncm\":\"22042100\",\r\n \"ex_tipi\":\"\",\r\n \"cenario\":[ \r\n { \r\n \"ent_sai\":\"E\",\r\n \"nat_op\":\"120\",\r\n \"finalidade\": \"569\",\r\n \"uf_origem\":\"SP\",\r\n \"uf_destino\":\"SP\",\r\n \"remetente\":\"1\",\r\n \"destinatario\":\"140\",\r\n \"vigente_em\": \"10/08/2020\"\r\n }\r\n ]\r\n }\r\n]",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://api2.systax.com.br/webservice/systax_data_rest.php",
"protocol": "http",
"host": [
"api2",
"systax",
"com",
"br"
],
"path": [
"webservice",
"systax_data_rest.php"
]
}
},
"response": []
}
]
},
{
"name": "Saída",
"item": [
{
"name": "Teste 1 - Vigência Atual",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "[ \r\n { \r\n \"metodo\":\"calculo\",\r\n \"versao_requisicao\":\"1\",\r\n \"versao_retorno\":\"1\",\r\n \"username\": \"\",\r\n \"senha\": \"\",\r\n \"origem_mercadoria\":\"0\",\r\n \"cean\":\"\",\r\n \"ncm\":\"22043000\",\r\n \"ex_tipi\":\"\",\r\n \"cenario\":[ \r\n { \r\n \"ent_sai\":\"S\",\r\n \"nat_op\":\"121\",\r\n \"finalidade\": \"\",\r\n \"uf_origem\":\"SP\",\r\n \"uf_destino\":\"SP\",\r\n \"remetente\":\"3\",\r\n \"destinatario\":\"140\",\r\n \"vigente_em\": \"10/08/2023\"\r\n }\r\n ]\r\n }\r\n]",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://api.systax.com.br/webservice/systax_data_rest.php",
"protocol": "http",
"host": [
"api",
"systax",
"com",
"br"
],
"path": [
"webservice",
"systax_data_rest.php"
]
}
},
"response": []
},
{
"name": "Teste 2 - Vigência Passada",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "[ \r\n { \r\n \"metodo\":\"calculo\",\r\n \"versao_requisicao\":\"1\",\r\n \"versao_retorno\":\"1\",\r\n \"username\": \"\",\r\n \"senha\": \"\",\r\n \"origem_mercadoria\":\"0\",\r\n \"cean\":\"\",\r\n \"ncm\":\"22043000\",\r\n \"ex_tipi\":\"\",\r\n \"cenario\":[ \r\n { \r\n \"ent_sai\":\"S\",\r\n \"nat_op\":\"121\",\r\n \"finalidade\": \"\",\r\n \"uf_origem\":\"SP\",\r\n \"uf_destino\":\"SP\",\r\n \"remetente\":\"3\",\r\n \"destinatario\":\"140\",\r\n \"vigente_em\": \"10/08/2000\"\r\n }\r\n ]\r\n }\r\n]",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://api2.systax.com.br/webservice/systax_data_rest.php",
"protocol": "http",
"host": [
"api2",
"systax",
"com",
"br"
],
"path": [
"webservice",
"systax_data_rest.php"
]
}
},
"response": []
}
]
}
]
}
Autenticação
As informações de autenticação são passadas nos campos username e senha na estrutura JSON da chamada. Essas credenciais são as mesmas do site Systax e do serviço de parametrização fiscal.
Descrição dos campos
Os dados da chamada são compostos basicamente das informações referente ao cenário (operação) e do produto para qual se deseja a tributação.
Observação
O detalhamento dos campos pode ser obtido no Manual de Conteúdo do webservice de Parametrização Fiscal, pois adotamos nessa API REST os mesmos conceitos, tabelas e estruturas daquele webservice.
Relação de campos
| Campo | Pai | Descrição |
| vigente_em | Cenário | Data da regra - Dia/Mês/Ano |
| remetente | Cenário | Conforme tabela de códigos de origens. |
| destinatário | Cenário | Conforme tabela de códigos de destinos. |
| nat_op | Cenário | Conforme tabela de naturezas da operação. |
| finalidade | Cenário | Finalidade da aquisição (revenda/uso e consumo etc) |
| ibge_mun_mun_origem | Cenário | Código numérico conforme tabela oficial de municípios do IBGE |
| ibge_mun_mun_destino | Cenário | Código numérico conforme tabela oficial de municípios do IBGE |
| uf_origem | Cenário | |
| uf_destino | Cenário | |
| ent_sai | Cenário | Movimento da operação: Saída = s | Entrada = e |
| cean | Produto | Código GTIN da mercadoria. Deve ser informado sempre que disponível. |
| cod_prod | Produto | Código do produto cadastrado. |
| origem_mercadoria | Produto | Origem do produto cadastrado, conforme código oficial de 0 a 8. |
| ncm | Produto | NCM da mercadoria. |
| ex_tipi | Produto | Código EX TIPI. Deverá ser informado sempre que disponível. |
| cest | Produto | Código CEST. Informar quando disponível. |
| versao_requisicao | Produto | Valor atual = 1 |
| versao_retorno | Produto | Valor atual = 1 |
| username | Produto | Conforme dados de autenticação. |
| senha | Produto | Conforme dados de autenticação. |
| metodo | Produto | Informação fixa = cálculo. |
Campos obrigatórios
Os campos obrigatórios a serem preenchidos para retorno de regras são:
| Campo | Obrigatório |
| Username | Sim |
| Senha | Sim |
| EAN | Sim |
| UF Origem | Sim |
| UF Destino | Sim |
| Perfil Origem | Sim |
| Perfil Destino | Sim |
| Origem produto | Sim |
| Entrada ou saída | Sim |
| cenário | Sim |
| método | Sim |
Importante: os campos "cod_prod", "cean", "ncm", "ex_tipi" é obrigatório o preenchimento de ao menos um.
Exemplo de chamada
Chamada:
[
{
"metodo":"calculo",
"versao_requisicao":"1",
"versao_retorno":"1",
"username": "cliente1",
"senha": "12345",
"origem_mercadoria":"0",
"cean":"",
"ncm":"22042100",
"ex_tipi":"",
"cenario":[
{
"ent_sai":"E",
"nat_op":"120",
"finalidade": "569",
"uf_origem":"SP",
"uf_destino":"SP",
"remetente":"1",
"destinatario":"140",
"vigente_em": "16/10/2020"
}
]
}
]
Exemplo de retorno
{
"icms": {
"cfop": "5102",
"cest": "1702900",
"cst": "102",
"generico": "tributos_aproximados_Estadual=7.00;tributos_aproximados_Federal=0.00",
"vigencia_de": "01/01/2001",
"dispositivo_legal": "art. 37, I, e § 1º do RICMS/SP. art. 52, I do RICMS/SP"
},
"pis": {
"cst": "49",
"vigencia_de": "14/12/2006",
"dispositivo_legal": "Lei Complementar 123/2006",
"observacoes": "Observar condições da Lei Complementar 123/2006",
"inf_adicionais": "Lei Complementar 123/2006"
},
"cofins": {
"cst": "49",
"vigencia_de": "14/12/2006",
"dispositivo_legal": "Lei Complementar 123/2006",
"observacoes": "Observar condições da Lei Complemetar 123/2006",
"inf_adicionais": "Lei Complementar 123/2006"
}}