sHub: Integração fácil com tecnologias Synapse

Introdução

Bem-vindo à documentação do sHub!

Aqui você encontrará todas as informações necessárias para instalar, configurar e integrar seu sistema às tecnologias Synapse.

O sHub é responsável por sincronizar dados de vários tipos de banco de dados com as nossas plataformas.

Funcionando em segundo plano, ele sincroniza os dados automaticamente dentro de um tempo estipulado.
Por padrão, esse tempo é a cada 15 minutos, mas pode ser configurado conforme a necessidade.

Crie views e tabelas específicas no seu banco de dados para que o sHub possa se conectar e realizar a integração completa.

Bancos de dados compatíveis:

Instalação

Para instalar o sHub, siga os passos abaixo:

  1. Faça o download do pacote de instalação clicando aqui.
  2. Extraia os arquivos em um diretório de sua escolha.
  3. Execute o instalador e siga as instruções na tela.

Configuração

Ao executar o sHub pela primeira vez, a tela de configuração se abrirá.

Essa tela se abre automaticamente sempre que iniciar o sHub e o mesmo não conseguir se conectar ao banco de dados.

Caso já tenha configurado o sHub, mas deseja alterar algo na configuração, basta executar o sHub pelo prompt de comandos com o parâmetro -config

Bancos de dados

Nessa aba, você deve selecionar o banco de dados do software da loja e configurar o acesso ao mesmo.

Todas as opções de banco de dados possuem o botão para testar a conexão com o banco de dados.

Em caso de sucesso, será exibida a seguinte mensagem:

Em caso de erro, será exibida uma mensagem com o erro em questão para que se possa corrigir o mesmo:

Independentemente do banco escolhido, você poderá configurar o intervalo de tempo (em minutos) para que cada sincronização ocorra e também se o sHub deve ou não gerar o arquivo de log do mesmo.

Na seção "Arquivos auxiliares" é detalhada a estrutura desse arquivo de log.


Veja abaixo as opções de configuração de cada tipo de banco de dados compatível com o sHub.

Firebird
  • Banco de dados
    Informe o caminho do banco de dados.
    Você pode digitar o caminho ou utilizar o botão para localizar o banco no computador.

  • Porta
    Porta utilizada pelo Firebird.
    Vem configurada com a 3050 que é o padrão do Firebird.

  • User Name
    Usuário do banco de dados.
    Vem configurado com SYSDBA que é o padrão do Firebird.

  • Password
    Senha do banco de dados.
    Vem configurado com masterkey que é o padrão do Firebird.

Interbase

São as mesmas opções de configuração do Firebird.


MySQL
  • Server
    Informe o server do banco de dados.
    Você pode informar o IP ou nome do computador.
    O botão pega o nome do computador local, porém para funcionamento local, basta informar localhost ou o IP 127.0.0.1.

  • Porta
    Porta utilizada pelo MySQL.
    Vem configurada com a 3306 que é o padrão do MySQL.

  • Schema
    Informe o nome do banco de dados.

  • User Name
    Usuário do banco de dados.
    Vem configurado com root que é o padrão do MySQL.

  • Password
    Senha do banco de dados.

Ao testar a conexão com o banco, pode ocorrer o erro abaixo:


Esse erro ocorre por conta do plugin de autenticação "caching_sha2_password" introduzido no MySQL 8.0.

O sHub não é compatível com tal plugin, então é necessário criar um usuário com o plugin "mysql_native_password" para ser utilizado pelo sHub.

Execute os comandos abaixo no MySQL para criar tal usuário:

mysql> CREATE USER 'shub'@'%' IDENTIFIED WITH mysql_native_password BY 'sua_senha';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'shub'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

Nesse caso, o User Name será shub e a Password será a senha informada em 'sua_senha'.


MariaDB

São as mesmas opções de configuração do MySQL.

Ao testar a conexão com o banco, pode ocorrer o erro abaixo:


Esse é um problema que ocorre no cache de algumas versões do MariaDB.

Para corrigir esse problema, é necessário editar o arquivo de configurações do MySQL.

Procure a seção [mysqld] e acrescente a linha abaixo:

[mysqld]
table_definition_cache=4000

Salve o arquivo e reinicie o serviço do MySQL/MariaDB.

Arquivo de exemplo

SQL Server
  • Server
    Informe o server do banco de dados.
    Você pode informar o IP ou nome do computador.
    O botão pega o nome do computador local, porém para funcionamento local, basta informar localhost ou o IP 127.0.0.1.

  • Schema
    Informe o nome do banco de dados.

  • User Name
    Usuário do banco de dados.
    Vem configurado com sa que é o padrão do SQL Server.

  • Password
    Senha do banco de dados.

  • Autenticação do Windows
    Utilize essa opção ao invés de "User Name" e "Password" quando o SQL Server estiver configurado para acessar via autenticação do Windows.

PostgreSQL
  • Server
    Informe o server do banco de dados.
    Você pode informar o IP ou nome do computador.
    O botão pega o nome do computador local, porém para funcionamento local, basta informar localhost ou o IP 127.0.0.1.

  • Porta
    Porta utilizada pelo PostgreSQL.
    Vem configurada com a 5432 que é o padrão do PostgreSQL.

  • Schema
    Informe o nome do banco de dados.

  • User Name
    Usuário do banco de dados.
    Vem configurado com postgres que é o padrão do PostgreSQL.

  • Password
    Senha do banco de dados.

Delivery Pharmacy

Nessa aba, você deve informar os dados de acesso ao Delivery Pharmacy.

  • Sincronizar
    Marque essa opção para que o sHub sincronize os dados com o Delivery Pharmacy.

  • ID ERP
    ID único por ERP fornecido pela Synapse Tecnologia.
    Representa o software do banco de dados.

  • ID Empresa
    ID único por empresa fornecido pela Synapse Tecnologia.

  • Token
    Token único por empresa fornecido pela Synapse Tecnologia.

  • Última sincronização
    Exibe a data e hora da última sincronização do Delivery Pharmacy pelo sHub.
    Esse campo é somente leitura.

Utilização

Basta executar o sHub normalmente como um executável qualquer e ele estará funcionando em segundo plano.

Só pode ser executada uma instância do sHub por vez em segundo plano (essa regra não se aplica à execução por linha de comando).

Não abrirá nenhuma tela, porém um ícone será exibido no Systray do Windows.

Quando o sHub estiver ocioso entre uma sincronização e outra, o ícone do mesmo será estático e azul.

Durante a sincronização, o mesmo será verde.

Se ocorrer algum erro durante a sincronização, o ícone ficará piscando e mudando de cor para chamar a atenção e um popup será exibido durante alguns segundos.

Para ver o erro, basta olhar o arquivo de exceções documentado na seção "Arquivos auxiliares".

Em caso de sucesso da sincronização e caso a mesma importe pedidos novos, será exibido o popup abaixo:


Ao dar um duplo clique no ícone, a janela a seguir será aberta:

É importante saber que durante uma sincronização (ícone verde), não é permitido abrir essa tela, então o clique duplo não funcionará.

Outro detalhe é que enquanto essa tela estiver aberta, a sincronização automática é interrompida, então não deixe essa tela aberta desnecessariamente.

Ao fechar a tela, o sHub não é finalizado, ele volta a executar em segundo plano, ativa novamente a sincronização automática e imediatamente já inicia uma nova sincronização.

Nessa tela é possível executar manualmente a sincronização de uma plataforma específica ou de todas.

Repare que na imagem só apareceram 2 opções: Todas (sempre terá essa) e delivery_pharmacy.

Isso significa que apenas a Delivery Pharmacy está habilitada a sincronizar no sHub.

Selecione “Todas” ou a plataforma desejada e clique na nuvem ao lado da plataforma para iniciar a sincronização manualmente.


Ao clicar com o botão direito do mouse no ícone, são exibidas as seguintes opções:

O sHub cria uma tarefa no Agendador de Tarefas do Windows para a cada 15 minutos verificar se o mesmo está ativo ou não.

Mesmo que utilize a opção "Fechar o Sistema", o Agendador de Tarefas reiniciará o sHub automaticamente após alguns minutos.

Se desejar realmente parar o sHub, delete a tarefa do Agendador de Tarefas também.

Ao executar novamente o sHub, ele recriará a tarefa no Agendador de Tarefas.

Linha de comando

É possível executar uma instância em segundo plano, temporária e independente do sHub com a finalidade de executar uma determinada tarefa e depois finalizar automaticamente.

Com esse recurso, o sHub pode ser utilizado pelo prompt de comando do Windows, por um outro executável, por um arquivo de lote (.bat) e pelo agendador de tarefas do Windows.

Dica!
Crie uma opção em seu software para quando o usuário desejar fazer uma sincronização manual e não ter que esperar o ciclo automático do sHub.

Para testar, entre no prompt de comando do Windows e digite os comandos disponíveis.

Parâmetros de ajuda
sHub /?

ou

sHub /ajuda

ou

sHub /help

Será exibida a seguinte tela com os comandos disponíveis:

Parâmetro /sync

Executa uma sincronização.

Esse parâmetro exige um segundo parâmetro que representa a plataforma a ser sincronizada.

Se executado sem o parâmetro de plataforma, ele exibe a seguinte tela:

Sincronizar TODAS as plataformas habilitadas
sHub /sync -all
Sincronizar uma plataformas específica
sHub /sync -"nome da plataforma"
Exemplo: sHub /sync -delivery_pharmacy

Se executado com uma plataforma inválida é exibida a seguinte tela:

sHub /sync -helio

O parâmetro de plataforma deve ser antecipado pelo caracter “-“ (menos), caso ele não seja informado, será exibida a seguinte tela:

sHub /sync helio
Parâmetro -config

Abre a tela de configuração do sHub explicada na seção "Configuração".

sHub -config
Parâmetro inválido

Ao informar um parâmetro inválido no sHub, a seguinte tela será exibida:

sHub helio
Sem parâmetros

Se não for informado nenhum parâmetro, o sHub é executado normalmente em segundo plano, habilitando a sincronização automática.

Arquivos auxiliares

Arquivo de Log

Se o sHub estiver habilitado para gerar log de sincronização, ele criará o arquivo “Log sHub.txt” e esse arquivo possui a seguinte estrutura:


00130072024144025759024 Delivery Pharmacy - Sincronização iniciada em 30/07/2024 14:14:25
00130072024144025759024     --> 11 pedido(s) importado(s) para sdp_pedidos com produtos em sdp_pedidos_produtos
00130072024144025759024     --> 1 registro(s) de sdp_pedidos_cancelados sincronizado(s)
00130072024144025759024     --> 1 registro(s) de sdp_formas_pagto sincronizado(s)
00130072024144025759024     --> 5 registro(s) de sdp_produtos sincronizado(s)
00130072024144025759024     --> 1 registro(s) de sdp_promocoes sincronizado(s)
00130072024144025759024     --> 2 registro(s) de sdp_promocoes_produtos sincronizado(s)
00130072024144025759024 Delivery Pharmacy - Sincronização finalizada em 30/07/2024 14:14:29
03430072024143942258026 Delivery Pharmacy - Sincronização iniciada em 30/07/2024 14:39:42
03430072024143942258026 Delivery Pharmacy - Sincronização não finalizada
				

Cada linha começa com uma sequência numérica (ID único) que identifica aquela sincronização específica.

O ID pode ser utilizado para localizar informações sobre a sincronização tanto no arquivo de log quanto no de exceções, que será explicado mais adiante.

Após o ID, vem o nome da plataforma da sincronização seguido pelo status do registro.

Em caso de sincronização não finalizada, o motivo da "não finalização" estará registrado no arquivo de exceções, sendo possível localizá-lo pesquisando pelo ID da sincronização.

Arquivo de Exceções

Exceção é o termo técnico para um erro em um sistema.

O sHub cria o arquivo “Excecoes sHub.txt” em sua primeira exceção.

Nesse arquivo são registradas todas as exceções ocorridas no sHub no formato do exemplo abaixo:


03430072024143942258026       –> ID da sincronização
30/07/2024 14:39:42           –> Data e hora da exceção

Build.....: 2024.1.0.0        –> Versão do sHub
Plataforma: Delivery Pharmacy –> Plataforma da sincronização

Exceção do sHub:              –> Origem da exceção (do sHub ou da plataforma)

Column unknown                –> Mensagem da exceção
VRTOTAL
At line 6, column 31
				

Delivery Pharmacy

Nessa seção, você encontrará as definições de views e tabelas que você deve criar para integrar seu sistema ao Delivery Pharmacy.

Produtos
Nome da Entidade Tipo Observação
sdp_produtos View Obrigatório

Campo Descrição Tipo Observação
codigo Código do produto no software da loja Texto
nome Nome do produto no software da loja Texto
valor Valor/Preço de venda do produto na loja Número Real
descricao Descrição do produto (Detalhes, características e informações do produto) Texto Opcional, envie um texto em branco caso não queira informar
indisponivel Disponibilidade do item na loja (0 ou 1)
Ex.: Item sem estoque e/ou indisponível informar 1
Número Inteiro
quantidade_caixa Quantidade de itens na caixa/pack.
Para venda de itens em caixas/pack fechados.
Número Real Opcional, envie 0 caso não queira informar
inativo Item inativo ou deletado na loja (0 ou 1)
Ex.: Se item estiver inativo ou for deletado na loja deve ser informado 1
Número Inteiro
codigo_barras Código de barras do produto no software da loja Texto
valor_promocao Valor/Preço promocional do produto na loja Número Real Opcional, envie 0 caso não queira informar
estoque Quantidade em estoque do produto na loja Número Real Opcional, envie 0 caso não queira informar
principio_ativo Princípio ativo do produto Texto Opcional, envie um texto em branco caso não queira informar

SQL para criar a View (adaptar de acordo com a estrutura do seu banco de dados):


CREATE VIEW sdp_produtos AS
SELECT
    campo1 as codigo,
    campo2 as nome,
    campo3 as valor,
    campo4 as descricao,
    campo5 as indisponivel,
    campo6 as quantidade_caixa,
    campo7 as inativo,
    campo8 as codigo_barras,
    campo9 as valor_promocao,
    campo10 as estoque,
    campo11 as principio_ativo
FROM
    sua_tabela_produtos;
				
Não envie todos os produtos, apenas os que o cliente deseja que sejam vendidos através do Delivery Pharmacy.
Código de barras
Nome da Entidade Tipo Observação
sdp_codigos_barras View Obrigatório

Todos os códigos de barras do produto no software da loja, inclusive o código de barras informado na view de produtos.

Campo Descrição Tipo
codigo_produto Código do produto no software da loja Texto
codigo_barras Código de barras Texto

SQL para criar a View (adaptar de acordo com a estrutura do seu banco de dados):


CREATE VIEW sdp_codigos_barras AS
SELECT
    campo1 as codigo_produto,
    campo2 as codigo_barras
FROM
    sua_tabela_codigos_barras;
				
Formas de pagamento
Nome da Entidade Tipo Observação
sdp_formas_pagto View Opcional

Campo Descrição Tipo
codigo Código da forma de pagamento no software da loja Texto
nome Nome da forma de pagamento no software da loja Texto
pedir_troco Se forma de pagamento permitir troco informar 1 (Ex.: Dinheiro) e se não permitir informar 0 (Ex.: Cartão Crédito) Número Inteiro

SQL para criar a View (adaptar de acordo com a estrutura do seu banco de dados):


CREATE VIEW sdp_formas_pagto AS
SELECT
    campo1 as codigo,
    campo2 as nome,
    campo3 as pedir_troco
FROM
    sua_tabela_formas_pagamento;
				
Pedidos
Nome da Entidade Tipo Observação
sdp_pedidos Tabela Opcional

Crie essa tabela caso queira receber os pedidos feitos no Delivery Pharmacy.

O sHub vai gravar os dados dos pedidos nessa tabela.
Utilize tais dados para processar os pedidos no seu software de acordo com suas regras de negócio.

Campo Descrição Tipo Tamanho PK
id_pedido ID do pedido no Delivery Pharmacy Texto 50 *
id_cliente ID do cliente no Delivery Pharmacy Texto 50
cliente_cpf CPF do cliente Texto 14
cliente_email e-Mail do cliente que fez o pedido Texto 100
cliente_nome Nome do cliente Texto 100
cliente_endereco_logradouro Nome da rua, praça, avenida, etc Texto 100
cliente_endereco_numero Número do endereço Texto 20
cliente_endereco_complemento Complemento do endereço Texto 100
cliente_endereco_referencia Ponto de referência do endereço Texto 100
cliente_endereco_bairro Nome do bairro Texto 50
cliente_endereco_cidade Nome da cidade Texto 50
cliente_endereco_uf UF da cidade Texto 2
cliente_endereco_cep CEP do endereço Texto 9
cliente_telefone Telefone do cliente Texto 14
forma_entrega 1 (Entrega no endereço) ou 2 (Retirar na loja) Número Inteiro
forma_pagamento Código da forma de pagamento Texto 50
nao_precisa_troco 0 (Precisa) ou 1 (Não precisa) Número Inteiro
troco_para Valor para calcular troco Número Real
status_efetuado Data e hora que efetuado o pedido Data e Hora
(TimeStamp)
status_separacao Data e hora que pedido foi para separação Data e Hora
(TimeStamp)
status_pronto_entrega Data e hora que pedido foi para pronto para entrega Data e Hora
(TimeStamp)
status_saiu_entrega Data e hora que pedido foi para saiu para entrega Data e Hora
(TimeStamp)
status_entrega Data e hora que pedido foi entregue Data e Hora
(TimeStamp)
status_sincronizado Data e hora que pedido foi sincronizado Data e Hora
(TimeStamp)
status_cancelado Data e hora que pedido foi cancelado Data e Hora
(TimeStamp)
status_motivo_cancelamento Motivo do cancelamento do pedido Texto 200
cupom Nome/Titulo do cupom de desconto aplicado no pedido.
Ex.: DESCONTO20
Texto 50
valor_cupom Valor do desconto cupom de desconto aplicado no pedido Número Real
valor_taxa_entrega Valor da taxa de entrega aplicada no pedido Número Real
valor_produtos Valor dos produtos (sem descontos e taxa de entrega) Número Real
valor_total Valor total liquido do pedido Número Real
numero_pedido Número sequencial do pedido no Delivery Pharmacy Número Inteiro
vendedor_email Email do vendedor (Quando usado o link de venda) Texto 100
id_vendedor ID do vendedor no Delivery Pharmacy Texto 50

PK: Primary Key (Chave Primária)

SQL para criar a tabela:

Firebird / Interbase

CREATE TABLE sdp_pedidos (
    id_pedido VARCHAR(50) PRIMARY KEY,
    id_cliente VARCHAR(50),
    cliente_cpf VARCHAR(14),
    cliente_email VARCHAR(100),
    cliente_nome VARCHAR(100),
    cliente_endereco_logradouro VARCHAR(100),
    cliente_endereco_numero VARCHAR(20),
    cliente_endereco_complemento VARCHAR(100),
    cliente_endereco_referencia VARCHAR(100),
    cliente_endereco_bairro VARCHAR(50),
    cliente_endereco_cidade VARCHAR(50),
    cliente_endereco_uf CHAR(2),
    cliente_endereco_cep VARCHAR(9),
    cliente_telefone VARCHAR(14),
    forma_entrega INTEGER,
    forma_pagamento VARCHAR(50),
    nao_precisa_troco INTEGER,
    troco_para DECIMAL(10, 2),
    status_efetuado TIMESTAMP,
    status_separacao TIMESTAMP,
    status_pronto_entrega TIMESTAMP,
    status_saiu_entrega TIMESTAMP,
    status_entrega TIMESTAMP,
    status_sincronizado TIMESTAMP,
    status_cancelado TIMESTAMP,
    status_motivo_cancelamento VARCHAR(200),
    cupom VARCHAR(50),
    valor_cupom DECIMAL(10, 2),
    valor_taxa_entrega DECIMAL(10, 2),
    valor_produtos DECIMAL(10, 2),
    valor_total DECIMAL(10, 2),
    numero_pedido INTEGER,
    vendedor_email VARCHAR(100),
    id_vendedor VARCHAR(50)
);

MySQL / MariaDB

CREATE TABLE sdp_pedidos (
    id_pedido VARCHAR(50) PRIMARY KEY,
    id_cliente VARCHAR(50),
    cliente_cpf VARCHAR(14),
    cliente_email VARCHAR(100),
    cliente_nome VARCHAR(100),
    cliente_endereco_logradouro VARCHAR(100),
    cliente_endereco_numero VARCHAR(20),
    cliente_endereco_complemento VARCHAR(100),
    cliente_endereco_referencia VARCHAR(100),
    cliente_endereco_bairro VARCHAR(50),
    cliente_endereco_cidade VARCHAR(50),
    cliente_endereco_uf CHAR(2),
    cliente_endereco_cep VARCHAR(9),
    cliente_telefone VARCHAR(14),
    forma_entrega INT,
    forma_pagamento VARCHAR(50),
    nao_precisa_troco INT,
    troco_para DECIMAL(10, 2),
    status_efetuado TIMESTAMP,
    status_separacao TIMESTAMP,
    status_pronto_entrega TIMESTAMP,
    status_saiu_entrega TIMESTAMP,
    status_entrega TIMESTAMP,
    status_sincronizado TIMESTAMP,
    status_cancelado TIMESTAMP,
    status_motivo_cancelamento VARCHAR(200),
    cupom VARCHAR(50),
    valor_cupom DECIMAL(10, 2),
    valor_taxa_entrega DECIMAL(10, 2),
    valor_produtos DECIMAL(10, 2),
    valor_total DECIMAL(10, 2),
    numero_pedido INT,
    vendedor_email VARCHAR(100),
    id_vendedor VARCHAR(50)
);

SQL Server

CREATE TABLE sdp_pedidos (
    id_pedido VARCHAR(50) PRIMARY KEY,
    id_cliente VARCHAR(50),
    cliente_cpf VARCHAR(14),
    cliente_email VARCHAR(100),
    cliente_nome VARCHAR(100),
    cliente_endereco_logradouro VARCHAR(100),
    cliente_endereco_numero VARCHAR(20),
    cliente_endereco_complemento VARCHAR(100),
    cliente_endereco_referencia VARCHAR(100),
    cliente_endereco_bairro VARCHAR(50),
    cliente_endereco_cidade VARCHAR(50),
    cliente_endereco_uf CHAR(2),
    cliente_endereco_cep VARCHAR(9),
    cliente_telefone VARCHAR(14),
    forma_entrega INT,
    forma_pagamento VARCHAR(50),
    nao_precisa_troco INT,
    troco_para DECIMAL(10, 2),
    status_efetuado DATETIME,
    status_separacao DATETIME,
    status_pronto_entrega DATETIME,
    status_saiu_entrega DATETIME,
    status_entrega DATETIME,
    status_sincronizado DATETIME,
    status_cancelado DATETIME,
    status_motivo_cancelamento VARCHAR(200),
    cupom VARCHAR(50),
    valor_cupom DECIMAL(10, 2),
    valor_taxa_entrega DECIMAL(10, 2),
    valor_produtos DECIMAL(10, 2),
    valor_total DECIMAL(10, 2),
    numero_pedido INT,
    vendedor_email VARCHAR(100),
    id_vendedor VARCHAR(50)
);

PostgreSQL

CREATE TABLE sdp_pedidos (
    id_pedido VARCHAR(50) PRIMARY KEY,
    id_cliente VARCHAR(50),
    cliente_cpf VARCHAR(14),
    cliente_email VARCHAR(100),
    cliente_nome VARCHAR(100),
    cliente_endereco_logradouro VARCHAR(100),
    cliente_endereco_numero VARCHAR(20),
    cliente_endereco_complemento VARCHAR(100),
    cliente_endereco_referencia VARCHAR(100),
    cliente_endereco_bairro VARCHAR(50),
    cliente_endereco_cidade VARCHAR(50),
    cliente_endereco_uf CHAR(2),
    cliente_endereco_cep VARCHAR(9),
    cliente_telefone VARCHAR(14),
    forma_entrega INT,
    forma_pagamento VARCHAR(50),
    nao_precisa_troco INT,
    troco_para NUMERIC(10, 2),
    status_efetuado TIMESTAMP,
    status_separacao TIMESTAMP,
    status_pronto_entrega TIMESTAMP,
    status_saiu_entrega TIMESTAMP,
    status_entrega TIMESTAMP,
    status_sincronizado TIMESTAMP,
    status_cancelado TIMESTAMP,
    status_motivo_cancelamento VARCHAR(200),
    cupom VARCHAR(50),
    valor_cupom NUMERIC(10, 2),
    valor_taxa_entrega NUMERIC(10, 2),
    valor_produtos NUMERIC(10, 2),
    valor_total NUMERIC(10, 2),
    numero_pedido INT,
    vendedor_email VARCHAR(100),
    id_vendedor VARCHAR(50)
);
Produtos dos Pedidos
Nome da Entidade Tipo Observação
sdp_pedidos_produtos Tabela Obrigatório apenas se implementar a tabela de pedidos

Campo Descrição Tipo Tamanho
id_pedido ID do pedido no Delivery Pharmacy Texto 50
codigo ID do produto no Delivery Pharmacy Texto 50
quantidade Quantidade do produto do pedido Número Real
vr_unitario Valor unitário do produto do pedido (com descontos) Número Real
vr_total Valor total (quantidade x unitário) do produto do pedido (com descontos) Número Real


SQL para criar a tabela:

Firebird / Interbase

CREATE TABLE sdp_pedidos_produtos (
    id_pedido VARCHAR(50),
    codigo VARCHAR(50),
    quantidade DECIMAL(10, 2),
    vr_unitario DECIMAL(10, 2),
    vr_total DECIMAL(10, 2)
);

MySQL / MariaDB

CREATE TABLE sdp_pedidos_produtos (
    id_pedido VARCHAR(50),
    codigo VARCHAR(50),
    quantidade DECIMAL(10, 2),
    vr_unitario DECIMAL(10, 2),
    vr_total DECIMAL(10, 2)
);

SQL Server

CREATE TABLE sdp_pedidos_produtos (
    id_pedido VARCHAR(50),
    codigo VARCHAR(50),
    quantidade DECIMAL(10, 2),
    vr_unitario DECIMAL(10, 2),
    vr_total DECIMAL(10, 2)
);

PostgreSQL

CREATE TABLE sdp_pedidos_produtos (
    id_pedido VARCHAR(50),
    codigo VARCHAR(50),
    quantidade NUMERIC(10, 2),
    vr_unitario NUMERIC(10, 2),
    vr_total NUMERIC(10, 2)
);
Pedidos Cancelados
Nome da Entidade Tipo Observação
sdp_pedidos_cancelados View Obrigatório apenas se implementar a tabela de pedidos

Nessa view devem ser informados os pedidos cancelados no software da loja.

Campo Descrição Tipo
id_pedido ID do pedido no Delivery Pharmacy Texto
motivo Motivo do cancelamento Texto

SQL para criar a View (adaptar de acordo com a estrutura do seu banco de dados):


CREATE VIEW sdp_pedidos_cancelados AS
SELECT
    campo1 as id_pedido,
    campo2 as motivo
FROM
    sua_tabela_pedidos
WHERE
    campo_cancelado = 'S';
				

Contato

Se precisar de mais ajuda, entre em contato conosco: