O WebService Guarani é uma ferramenta de integração entre o Guarani ERP e sistemas de Terceiros.
...
As APIs com todos os métodos respondem no endereço do tipo: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/<nome-do-método> e retornam os campos em aquivos de formato JSon.
Cada método será tratado abaixo:
Índice |
---|
GetFabricantes
Retorna os fabricantes de produtos cadastrados no sistema.
Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetFabrifcantes
Campo | Descrição | Tipo |
---|---|---|
codigo | Código interno do fabricante | Numérico |
fabricante | Nome fantasia do fabricante | Texto |
...
Retorna listagem dos transportadores registrados no Guarani. Pode aceitar um código como parâmetro para trazer dados específicos de um transportador.
- Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetTransportadores
Campo | Descrição | Tipo |
---|---|---|
codigo | Código do transportador no Guarani. | Numérico |
fantasia | Nome fantasia do transportador. | Texto |
razao | Razão social do transportador. | Texto |
cnpj | CNPJ do transportador. | Texto |
...
Retorna a listagem de representantes cadastrados no sistema.
- Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetRepresentantes
Pode ser passado na URL o código do representante, o que traz apenas o representante em questão. Ex:
- Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetRepresentantes/100
Campo | Descrição | Tipo |
---|---|---|
codigo | Código interno único do representante | Numérico |
razao | Razão Social | Texto |
fantasia | Nome Fantasia | Texto |
pessoa | Tipo de Pessoa. ('F') Física ou ('J') Jurídica | Texto |
endereco | Endereço | Texto |
bairro | Bairro | Texto |
cidade | Cidade | Texto |
uf | UF | Texto |
cep | CEP | Texto |
telefone | Telefone | Texto |
fax | Fax | Texto |
celular | Celular | Texto |
Texto | ||
site | Website | Texto |
rg_ie | RG ou Inscrição Estadual | Texto |
cpf_cnpj | CPF ou CNPJ | Texto |
...
Retorna a relação Clientes X Representantes
Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetClientesRepresentantes
Este método aceita 2 tipos de filtros:
- clientes: dados o código do cliente retorna toda sua relação de representantes;
- Ex: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetClientesRepresentantes/cliente/100.
- representantes: dado o código do representante retorna toda a relação dos seus clientes;
- Ex: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetClientesRepresentantes/representante/100
Campo | Descrição | Tipo |
---|---|---|
cliente | Código do Cliente | Numérico |
representante | Código do Representante | Numérico |
padrao | Indica se o representante é padrão para o cliente. 0 = Não padrão | 1 = Padrão | Numérico |
Onde encontrar
GetCategorias
Retorna as categorias de produtos cadastrados no sistema.
Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/Getcategorias
Campo | Descrição | Tipo |
---|---|---|
codigo | Código Interno da categoria | Numérico |
cod_pai | Código interno da categoria "pai" da categoria | Numérico |
nome | Nome da categoria | Texto |
referencia | Referência ou código externo editável (não obrigatório) | Texto |
descricao | Decriçãoda categoria | Texto |
ativo | Informa se categoria está ativa (Valor 'S' ou 'N') | Caractere |
...
Onde encontrar
GetClassificacoes
Retorna as possíveis classificações que um produto pode ter. O resultado é constituído da união de quatro tabelas do sistemas: Segmento, Linha, Grupo e Subgrupo.
Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetClassificacoes
Campo | Descrição | Tipo |
---|---|---|
tipo | Tipo da classificação, podendo assmir: S = Segmentos / L = Linhas / G = Grupos / U = Supgrupos | Caractere |
codigo | Código interno da classificação. O valor pode se repertir, o que define a chave é a combinação com o tipo. | Numérico |
nome | Nome da classificação | Texto |
...
Onde encontrar:
GetProdutos
Retorna o cadastro de produtos que estão incluídos em uma tabela de preços parametrizada no WebService. Esta operação pode demorar um pouco dependendo da quantidade de produos na tabela. Um parâmetro com a referência do produto pode ser passado no método, trazendo assim apenas o cadastro do produto em questão, caso ele exista.
Exemplo: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetProdutos/GX0021
Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetProdutos
GetProdutosFull
Este método é uma variação do método Getprodutos, eles devolve os mesmos campos com adicional do nome e descrição do produto.
...
Este método retorna apenas a referência dos produtos nas mesmas condições do método GetProdutos.
Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/ListProdutos
GetProImagens
Este método retorna uma lisa de imagens do produto referenciado.
Exemplo: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetProImagens/GX0021
Pode ser utilizado os parâmetros:
- /A - para exibir apenas imagens de alta qualidade
- Exemplo: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetProImagens/GX0021/A
- /B - apenas imagens de baixa qualidade
- Exemplo: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetProImagens/GX0021/B
Campo | Descrição | Tipo |
---|---|---|
img | Imagem do produto em formato Base64. | Texto Base64 |
...
Deve ser utilizado sempre identificando o código do produto ao qual deseja-se obter a especificação.
Exemplo: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetEspecificacoes/GX0021
Campo | Descrição | Tipo |
---|---|---|
ref | Referência do produto. (Identificador único) | Texto |
especificacao | Especificação do produto no cadastro. | Texto Livre |
...
Dado uma referência de produto este método retorna todos os produtos similares do seu cadastro.
Exemplo: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/oSimilares/<código do produto>
Campo | Descrição | Tipo | Exemplo |
---|---|---|---|
- | Lista com referência dos produtos similares. | Array de texto |
...
Dado o número do pedido, devolve alguns detalhes importantes a respeito do pedido;
Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetDetalhesPedido/CODIGO_DO_PEDIDO
Campo | Descrição | Tipo |
---|---|---|
origem | Origem do pedido no Guarani. (Parte da ID interna) | Numérico |
pedido | Código do pedido no Guarani. (Parte da ID interna) | Numérico |
vr_frete | Valor do frete em reais. | Decimal |
vr_total | Valor do pedido em reais; | Decimal |
vq_liquido | Valor líquido do pedido em reais. | Decimal |
nf_serie | Número de série da Nota fiscal. (Depende da nota estar gerada) | Numérico |
nf_numero | Número da nota fiscal. (Depende da nota estar gerada) | Numérico |
nf_chave | Chave da Nota fiscal. (Depende da nota estar gerada) | texto |
GetEtapaPedido
Dado o número externo do pedido, este método retorna sua etapa atual.
Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetEtapaPedido/CODIGO_DO_PEDIDO
Campo | Descrição | Tipo |
---|---|---|
code | Retorno da API (0 = Retorno com sucesso | 1, 2, 3 = Erro no retorno) | Numérico |
msg | 1 = Pedido não encontrado. (O pedido não foi localizado na base do ERP) 2 = Pedido recebido mas não importado. (O pedido foi recebido pelo ERP mas ainda não processado pelo usuário) 3 = Etapa vazia. (O pedido não contém uma etapa válida no ERP) | Texto |
id_etapa | Código único da etapa (Retornadas em ListEtapas) | Numérico |
etapa | Descrição da etapa. | Texto |
user | Usuário que registrou a etapa. | Texto |
data | Data em que a etapa foi registrada. | Data/Hora |
id_interno | Id interno do pedido no sistema (Origem - Pedido). Se 0, o pedido ainda não foi processado. | Texto |
GetFormasPagamento
Devolve as formas de pagamento disponíveis no sistema.
Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetFormasPagamento
Campo | Descrição | Tipo |
---|---|---|
id | Id numérico da forma de pagamento | Numérico |
descricao | Descrição da forma de pagamento | Texto |
finalidade | Tipo da finalidade de pagamento 'DIN' = 'DINHEIRO' | Texto |
desconto | Desconto em % | Decimal |
ativo | Indica de a forma está ativa no sistema (1 = Ativo | 0 = Inativo) | Numérico |
SetPedido
Este método é responsável pelo recebimento dos pedidos gerados externamente. Deve ser utilizado o POST para envio de um arquivo JSon em que nele deve estar contidas todas ai informações a respeito da venda (datas, valores, cliente, produtos, pagamento, etc).
O documento JSON deve obedecer o seguinte formato:
Seção | Campo | Descrição | Tipo | |||
---|---|---|---|---|---|---|
pedido (Ocorrência 1:1) | id | Identificador do pedido no sistema de origem. | Numérico | |||
dtpedido | Data de digitação do pedido. | Data | ||||
dtentrega | Data de previsão de entrega do pedido. | Data | ||||
obs | Observações gerais sobre o pedido. | Texto | ||||
obs_ped | Lista de observações do pedido. Suporta até 4 campos de 120 caracteres em formato array.
| Array de Texto | ||||
obs_nf | Lista de observações da Nota Fiscal. Suporta até 3 campos de 70caracteres em formato array.
| Array de Texto | ||||
prazos | Lista de prazos em dias. Suporta até 12 campos de números inteiros em formato array.
| Array numérico | ||||
vrpedido | Valor total do pedido. | Decimal | ||||
vrfrete | Valor de frete do pedido. | Decimal | ||||
vrdesconto | Valor de desconto do pedido. | Decimal | ||||
tpfrete | Tipo do frete a ser utilizado ([C] CIF - [F] FOB - [S] CIF/FOB) | Texto(1) | idtransportador | Código do transportador no ERP | Numérico | |
pagforma | Id da forma de pagamento. As formas são adquiridas no método GetFormasPagamento | Numérico | ||||
transp | Código do transportador. Pode ser obtido no método GetTrasnportadores | Numérico | ||||
cliente (Ocorrência 1:1) | id | Identificador do cliente no sistema de origem. | Numérico | |||
pessoa | Tipo de pessoa do cliente ([F] Física - [J] Jurídica). | Texto(1) | ||||
razao | Razão social do cliente. | Texto | ||||
fantasia | Nome fantasia do cliente. | Texto | ||||
cpfcnpj | CPF ou CNPJ do cliente. | Texto | ||||
rgie | RG ou Inscrição Estadual do cliente. | Texto | ||||
telefone | Telefone para contato. | Texto | ||||
fax | Fax. | Texto | ||||
E-mail para contato. | Texto | |||||
emailnf | E-mail para envio de notas Fiscais. | Texto | ||||
endereco | Endereço do cliente. | Texto | ||||
bairro | Bairro. | Texto | ||||
cidade | Cidade. | Texto | ||||
uf | UF | Texto(2) | ||||
comp | Complemento do endereço. | Texto | ||||
cep | CEP do endereço. | Texto | ||||
numero | Número do endereço. | Texto | ||||
itens (Ocorrência N:1) | Id | Identificado do item no sistema Guarani, utiliza-se a referência do produto | Texto | |||
descricao | Descrição do Item | Texto | ||||
qtd | Quantidade vendida no pedido | Decimal | ||||
vrunit | Valor unitário do produto no pedido | Decimal | ||||
vtotal | Valor total dos produtos no pedido. | Decimal | ||||
...
Exemplo de uma venda válida
{
"id":"16570",
"dtpedido":"03/04/2018",
"dtentrega":"",
"obs":"",
"obs_ped":["PD1","PD2","PD3","PD4"],
"obs_nf":["NF1","NF2","NF3"],
"prazos":[12,60,90,120],
"vrpedido":213.29,
"vrfrete":0.00,
"vrdesconto":0.00,
"cliente":{
"id":"540",
"pessoa":"F",
"razao":"CLIENTE TESTE DE COMPRA",
"fantasia":"540",
"cpfcnpj":"00000000000",
"rgie":"",
"telefone":"0000000000",
"fax":" ",
"email":"teste@outlook.com",
"emailnf":"teste.nf@outlook.com",
"endereco":"RUA AFONSO BOTELHO",
"bairro":"CENTRO",
"cidade":"SÃO CARLOS",
"uf":"SP",
"comp":"apto 82 torre3",
"cep":"19997340",
"numero":"313"
},
"itens":[
{
"id":"1676",
"descricao":"Garfo Mesa Solin - 06 Unidades",
"qtd":1,
"vrunit":10.98,
"vtotal":10.98
},
{
"id":"1622",
"descricao":"Faca Mesa Serrilhada Solin - 06 Unidades",
"qtd":1,
"vrunit":10.98,
"vtotal":10.98
},
{
"id":"1355",
"descricao":"Caneca Beer 360ML",
"qtd":5,
"vrunit":9.51,
"vtotal":47.55
},
{
"id":"1784",
"descricao":"Kit de Aventais - Bordô ",
"qtd":1,
"vrunit":75.73,
"vtotal":75.73
},
{
"id":"1568",
"descricao":"Espátula Curva 60MM Profissional ",
"qtd":1,
"vrunit":12.46,
"vtotal":12.46
},
{
"id":"2042",
"descricao":"Ralador 6 Faces Inox ",
"qtd":1,
"vrunit":17.62,
"vtotal":17.62
},
{
"id":"2040",
"descricao":"Ralador 1 Face Multifuncional",
"qtd":1,
"vrunit":8.77,
"vtotal":8.77
},
{
"id":"2062",
"descricao":"Saladeira Empilhavel 12CM",
"qtd":4,
"vrunit":7.30,
"vtotal":29.20
}
]
}
Exemplos de Códigos
Delphi
...