Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


O WebService Guarani é uma ferramenta de integração entre o Guarani ERP e sistemas de Terceiros.

Ele deve ser instalado e configurado no servidor local para que um login e senha para autenticação básica sejam gerados e distribuídos aos usuários.

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.

O WebService Guarani é uma ferramenta de integração entre o Guarani ERP e sistemas de Terceiros.


Ele deve ser instalado e configurado no servidor local para que um login e senha para autenticação básica sejam gerados e distribuídos aos usuários.

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


CampoDescriçãoTipo
codigoCódigo interno do fabricanteNumérico
fabricanteNome fantasia do fabricanteTexto


Onde encontrar

Image Added


GetTransportadores

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


CampoDescriçãoTipo
codigoCódigo do transportador no Guarani.Numérico
fantasiaNome fantasia do transportador.Texto
razaoRazão social do transportador.Texto
cnpjCNPJ do transportador.Texto


GetRepresentantes

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


CampoDescriçãoTipoExemplo
codigoCódigo interno único do
fabricante
representanteNumérico
fabricanteNome fantasia do fabricante

razaoRazão SocialTexto

Onde encontrar

Image Removed

GetTransportadores

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

...

GetRepresentantes

...


fantasiaNome FantasiaTexto
pessoaTipo de Pessoa. ('F') Física ou ('J') JurídicaTexto
enderecoEndereçoTexto
bairroBairroTexto
cidadeCidadeTexto
ufUFTexto
cepCEPTexto
telefoneTelefoneTexto
faxFaxTexto
celularCelularTexto
emailE-mailTexto
siteWebsiteTexto
rg_ieRG ou Inscrição EstadualTexto
cpf_cnpjCPF ou CNPJTexto
bloquedoInforma se o representante está marcado como bloqueado. S = Sim / N = NãoTexto

Image Added

inativoInforma se o representante está marcado como inativo. S = Sim / N = NãoTexto


Onde encontrar

Image Added

GetRepresentantesContatos

Retorna a relação de contatos dos representantes

  • Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetRepresentantesGetRepresentantesContatos

Pode ser passado na URL o código do representante, o que traz apenas o os contatos do representante em questão. Ex:

  • Exemplo de uso: http://<endereço-do-cliente>:8089/datasnap/rest/tapi/GetRepresentantesGetRepresentantesContatos/100


CampoDescriçãoTipo
Exemplo
codigoCódigo
interno
único do
representantefantasiaNome Fantasia
ContatoNumérico
razaoRazão SocialTextoenderecoEndereçoTextobairroBairroTextocidadeCidadeTextoufUF
fornecedorCódigo do representante o qual o contato esta atreladoNumérico
contatoNome do ContatosTexto
pessoaTipo de Pessoa. ('F') Física ou ('J') JurídicaTexto
ramalRamalTexto
cep
celular
CEP
Número do CelularTexto
telefoneNúmero do TelefoneTexto
fax
FaxTextocelularCelular
Número do FaxTexto
emailE-mail do representanteTexto
siteWebsiteTextorg_ieRG ou Inscrição EstadualTextocpf_cnpjCPF ou CNPJTextobloquedoInforma se o representante está marcado como bloqueado. S = Sim / N = NãoTexto

Image Removed

inativoInforma se o representante está marcado como inativo. S = Sim / N = NãoTexto

Onde encontrar

Image Removed

tipo

Tipo, podendo ser:

G = Geral

C = Compras

V = Vendas

F = Fiscal

A = Administrativo

S = Financeito

Texto

Image Added


GetClientesRepresentantes

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


CampoDescriçãoTipo
clienteCódigo do ClienteNumérico
representanteCódigo do RepresentanteNumé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

CampoDescriçãoTipo
codigoCódigo Interno da categoriaNumérico
cod_paiCódigo interno da categoria "pai" da categoriaNumérico
nomeNome da categoriaTexto
referenciaReferência ou código externo editável (não obrigatório)Texto
descricaoDecriçãoda categoriaTexto
ativoInforma 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

CampoDescriçãoTipo
tipo

Tipo da classificação, podendo assmir:

S = Segmentos / L = Linhas / G = Grupos / U = Supgrupos 

Caractere
codigoCódigo interno da classificação. O valor pode se repertir, o que define a chave é a combinação com o tipo.Numérico
nomeNome da classificaçãoTexto

...

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 produtos 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çãoTipo
imgImagem 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çãoTipo
refReferência do produto. (Identificador único)Texto
especificacaoEspecificaçã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>


CampoDescriçãoTipoExemplo
-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


CampoDescriçãoTipo
origemOrigem do pedido no Guarani. (Parte da ID interna)Numérico
pedidoCódigo do pedido no Guarani. (Parte da ID interna)Numérico
vr_freteValor do frete em reais.Decimal
vr_totalValor do pedido em reais;Decimal
vq_liquidoValor líquido do pedido em reais.Decimal
nf_serieNúmero de série da Nota fiscal. (Depende da nota estar gerada)Numérico
nf_numeroNúmero da nota fiscal. (Depende da nota estar gerada)Numérico
nf_chaveChave 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


CampoDescriçãoTipo
codeRetorno 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_etapaCódigo único da etapa (Retornadas em ListEtapas)Numérico
etapaDescrição da etapa.Texto
userUsuário que registrou a etapa.Texto
dataData em que a etapa foi registrada.Data/Hora
id_internoId 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

CampoDescriçãoTipo
idId numérico da forma de pagamentoNumérico
descricaoDescrição da forma de pagamentoTexto
finalidade

Tipo da finalidade de pagamento

'DIN' = 'DINHEIRO'
'CHP' = 'CHEQUE PROPRIO'
'CH3' = 'CHEQUE TERCEIRO'
'DEP' = 'DEPOSITO'
'SDO' = 'SALDO DO CLIENTE'
'REP' = 'DEBITO AO REPRESENTANTE'
'PER' = 'PERDA'
'CRT' = 'CARTAO'
'FCH' = 'FICHA'
'PGM' = 'PAGAMENTO PELO MOTORISTA AO CLIENTE'
'MOT' = 'DEBITO AO MOTORISTA'
'DNI' = 'DEPOSITO NAO IDENTIFICADO'
'SAN' = 'SANGRIA'
'SUP' = 'SUPRIMENTO'
'BOL' = 'BOLETO'
'DUP' = 'DUPLICATA MERCANTIL'

Texto
descontoDesconto em %Decimal
ativoIndica de a forma está ativa no sistema (1 = Ativo | 0 = Inativo)Numérico


Image Modified


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çãoCampoDescriçãoTipo

pedido

(Ocorrência 1:1)


idIdentificador do pedido no sistema de origem.Numérico
dtpedidoData de digitação do pedido.Data
dtentregaData de previsão de entrega do pedido.

Data


obsObservações gerais sobre o pedido.Texto
representanteCódigo do representante no pedido. Deve ser o mesmo código de representante do Guarani ERP. Se não informado, será utilizado o código parametrizado no Webservice.Numérico
obs_ped

Lista de observações do pedido. Suporta até 4 campos de 120 caracteres em formato array.

  • Sobrescreve o campo obs
  • Exemplo: "obs_ped":["OBS1","OBS2","OBS3","OBS4"]
  • Disponível a partir da versão Guarani 1489.184
Array de Texto

obs_nf

Lista de observações da Nota Fiscal. Suporta até 3 campos de 70caracteres em formato array.

  • Exemplo: "obs_nf":["NF1","NF2","NF3"]
  • Disponível a partir da versão Guarani 1489.184
Array de Texto

prazos

Lista de prazos em dias. Suporta até 12 campos de números inteiros em formato array.

  • Exemplo: "prazos":[12,60,90,120],
  • Disponível a partir da versão Guarani 1489.184
Array numérico

vrpedidoValor total do pedido.Decimal
vrfreteValor de frete do pedido.Decimal
vrdescontoValor de em percentual do desconto do pedido.Decimal(15,2)

*Considerar duas casas decimais depois à direita.

tpfreteTipo do frete a ser utilizado ([C] CIF - [F] FOB - [S] CIF/FOB)Texto(1)
pagformaId da forma de pagamento. As formas são adquiridas no método GetFormasPagamentoNumérico
transpCódigo do transportador. Pode ser obtido no método GetTrasnportadoresNumérico

cliente

(Ocorrência 1:1)

idIdentificador do cliente no sistema de origem.Numérico
pessoaTipo de pessoa do cliente ([F] Física - [J] Jurídica).Texto(1)
razaoRazão social do cliente.Texto
fantasiaNome fantasia do cliente.Texto
cpfcnpjCPF ou CNPJ do cliente.Texto
rgieRG ou Inscrição Estadual do cliente.Texto
telefoneTelefone para contato.Texto
faxFax.Texto
emailE-mail para contato.Texto
emailnfE-mail para envio de notas Fiscais.Texto
enderecoEndereço do cliente.Texto
bairroBairro.Texto
cidadeCidade.Texto
ufUFTexto(2)
compComplemento do endereço.Texto
cepCEP do endereço.Texto
numeroNúmero do endereço.Texto

itens

(Ocorrência N:1)

IdIdentificado do item no sistema Guarani, utiliza-se a referência do produtoTexto
descricaoDescrição do ItemTexto
qtdQuantidade vendida no pedido. (Atenção em mandar o valor da embalagem, se a venda foi em embalagem ou em unidade caso contrário)Decimal
vrunitValor unitário do produto no pedidoDecimal
vtotalValor total dos produtos no pedido.Decimal
emb

Embalagem de venda, tipo retornado no método GetProdutos/GetprodutosFull nos campos em_venda ou un_venda. De forma simplificada, se o item foi vendido em embalagem deve ser informado o mesmo valor do campo em_venda, se unidade, informar o valor do campo un_venda.

*Se o valor for omitido será considerado 'UN';

Texto

...

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,

         "emb":"PC/6",
         "vrunit":10.98,
         "vtotal":10.98,
      },
      {  
         "id":"1622",
         "descricao":"Faca Mesa Serrilhada Solin - 06 Unidades",
         "qtd":1,

         "emb":"UN",
         "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

...