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:- Firebird
- Interbase
- MySQL
- MariaDB
- SQL Server (MS SQL)
- PostgreSQL
Instalação
Para instalar o sHub, siga os passos abaixo:
- Faça o download do pacote de instalação clicando aqui.
- Extraia os arquivos em um diretório de sua escolha.
- 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
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.
- 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.
São as mesmas opções de configuração do Firebird.
- 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'.
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.
- 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.
- 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.
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:
- Sincronizar
Sincroniza manualmente todas as plataformas habilitadas. - Sobre
Exibe informações do sHub como versão e pasta de instalação. - Fechar o Sistema
Fecha o sHub finalizando o ciclo de sincronizaçõ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.
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.
sHub /?
ou
sHub /ajuda
ou
sHub /help
Será exibida a seguinte tela com os comandos disponíveis:
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:
sHub /sync -all
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
Abre a tela de configuração do sHub explicada na seção "Configuração".
sHub -config
Ao informar um parâmetro inválido no sHub, a seguinte tela será exibida:
sHub helio
Se não for informado nenhum parâmetro, o sHub é executado normalmente em segundo plano, habilitando a sincronização automática.
Arquivos auxiliares
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.
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.
| 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 ;
| 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 ;
| 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 ;
| 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)
);
| 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)
);
| 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:
- integracao@deliverypharmacy.com.br