Transações Específicas (Redecard/Cielo/Banrisul/GetNet)
Funções Específicas (Específicação Redecard/Cielo/Banrisul/GetNet)
int DIRETIVA_CALLBACK TransacaoCartaoCreditoIATA(char *pValorTransacao, char *pNumeroCupom,
char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoCartaoPrivateLabel(char *pValorTransacao, char *pNumeroCupom,
char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoSaqueRedecard(char *pValorTransacao, char *pNumeroCupom,
char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoSimulacaoPrivateLabel(char *pValorTransacao, char *pNumeroCupom,
char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoPagamentoPrivateLabel(char *pValorTransacao, char *pNumeroCupom,
char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoCartaoCompraSaqueCompleta(char *pValorCompra, char *pValorSaque,
char *pNumeroCupom, char *pNumeroControle,
char *pPermiteAlteracao)
int DIRETIVA_CALLBACK TransacaoCDC1MIN(char *pValorTransacao, char *pNumeroCupom,
char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoSIMparcelado(char *pValorTransacao, char *pNumeroCupom,
char *pNumeroControle)
int DIRETIVA_CALLBACK IdentificacaoAutomacaoComercial(char *pNomeAutomacao, char *pVersaoAutomacao,
char *pReservado)
As solicitações de transação de Estorno de Pré-Autorização de pagamento com Cartão de Crédito, de Saque, de Pagamento com Cartão de Crédito IATA e Cartão Private Label são realizadas através das chamadas às funções EstornoPreAutorizacaoRedecard , TransacaoSaqueRedecard , TransacaoCartaoCreditoIATA, TransacaoCartaoPrivateLabel , TransacaoCartaoCompraSaque, TransacaoCDC1MIN e TransacaoSIMparcelado.
O NumeroControle , incluído na resposta, deverá ser armazenado pelo sistema de automação, pois na função de confirmação este número será, obrigatoriamente, utilizado, tanto nas funções de pagamento como na de Saque e Estorno.
As funções de Estorno e Saque devem ser disponibilizadas via "menu", ou seja, o PDV não pode estar efetuando uma venda (assim como as funções de cancelamento de pagamento e reimpressão). Já as funções de pagamento (Cartão Crédito IATA e Private Label) devem estar disponibilizadas como formas de pagamento do PDV.
As funções TransacaoCDC1MIN e TransacaoSIMparcelado são específicas da rede Banrisul.
O PDV deverá realizar, respectivamente, chamada às funções IdentificacaoAutomacaoComercial e TransacaoEstatistica toda a vez que for inicializado.
A função TransacaoPagamentoPrivateLabel é a transação disponível para efetuar o pagamento de fatura de cartões private.
A função de Injeção de Chaves poder ser chamada ou executada automaticamente (no caso de executar uma transação com a Redecard e existir chave DUKPT na tabela de criptografia da Redecard e o pinpad não possuir esta chave carregada).
A função TransacaoAcrescimoPreAutorizacao realiza acréscimo de valor na Pré-Autorização (ou seja, alteração de valor em uma pré-autorização existente, na qual se deseja aumentar seu valor) pode ser executada com a função TransacaoAcrescimoPreAutorizacao.
Uma consulta de Pré-Autorizações pode ser executada com a função TransacaoConsultaPreAutorizacao.
A definição das campos das funções estão abaixo caracterizados.
Campo | Tamanho | Descrição |
---|---|---|
ValorTransacao | 12N | • 10 inteiros, 2 decimais |
NumeroCupom | 06N | Número do cupom (fiscal ou não fiscal) |
NumeroControle | 06N | NSU (número seqüencial único) |
NomeAutomacao | 20A | Identificação da automação comercial |
VersaoAutomacao | 20A | Versão da automação comercial |
Reservado | 256A | Capacidades da automação comercial: • [1..1] Tratamento plataforma promocional Cielo • [0]: automação não está preparada para tratar a plataforma promocional Cielo • [1]: automação está preparada para tratar plataforma promocional Cielo • [2..2] Tratamento QR Code • [0]: automação não está preparada para transação de QR Code • [1]: automação está preparada para transação QR Code • [3..3] Tratamento QR Code no cancelamento • [0]: automação não está informando se o cancelamento pode ser com QR Code • [1]: automação está indicando que o cancelamento é de QR Code |
02I | [ 00 ] Transaçãoautorizada [ 11 ] Transação não efetuada |
[ 00 ] indica que não existiram restrições para a efetivação da transação.
[ 11 ] indica que existiram restrições para a efetivação da transação. O sistema de automação deve retornar à rotina de recebimento de valores, pois a transação solicitada não foi autorizada, não sendo válida como forma de pagamento.
Quanto à estrutura dos logs de retorno, cada transação possui estrutura diferente:
EstornoPreAutorizacaoRedecard : idêntica ao layout de cancelamento de pagamento.
TransacaoSaqueRedecard : não gera log de transação.
TransacaoCartaoCreditoIATA : idêntica ao layout de pagamento com cartão de crédito.
TransacaoCartaoPrivateLabel : layout do log do Cartão Private Label.
TransacaoCartaoCompraSaque : não gera log de transação.
TransacaoCartaoCompraSaqueCompleta : não gera log de transação.
Funções de Venda PBM ( Pharmacy Benefit Management )
int DIRETIVA_CALLBACK ConsultaParametrosPBM(char *pNumeroCupom, char *pQuantidadeRedes,
char *pDadosRedes, char *pMensagemOperador)
int DIRETIVA_CALLBACK ConsultaProdutosPBM(char *pNumeroCupom, char *pRedePBM, char *pTrilha1,
char *pTrilha2, char *pDigitado, char *pAutorizacao,
char *pDadosCRM, char *pTipoVenda, char *pValorTotalMedicamentos,
char *pValorVista, char *pValorCartao, char *pCodigoCredenciado,
char *pQuantidadeMedicamentos, char *pMedicamentos,
char *pReservado, char *pNumeroControle, char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoVendaPBM(char *pValorTotalMedicamentos, char *pNumeroCupom, char *pRedePBM,
char *pTrilha1, char *pTrilha2, char *pDigitado, char *pAutorizacao,
char *pNSUConsulta, char *pDadosCRM, char *pTipoVenda,
char *pValorVista, char *pValorCartao, char *pCodigoCredenciado,
char *pRegraNegocio, char *pQuantidadeMedicamentos, char *pMedicamentos,
char *pReservado, char *pNumeroControle, char *pNumeroControleRede,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoElegibilidadePBM(char *pNumeroCupom, char *pRedePBM, char *pMatricula,
char *pDadosElegibilidade, char *pNumeroControle,
char *pNumeroControleRede, char *pNomeCliente,
char *pNomeMedico, char *pInformaDependente,
char *pListaDependentes, char *pReservado,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoPreAutorizacaoPBM(char *pNumeroCupom, char *pRedePBM,
char *pAutorizacaoElegibilidade, char *pDadosFarmaceutico,
char *pQuantidadeMedicamentos, char *pMedicamentos,
char *pNumeroControle, char *pNumeroControleRede,
char *pReservado, char *pMensagemOperador)
int DIRETIVA_CALLBACK ConsultaParametrosPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pNumeroCupom, char *pQuantidadeRedes,
char *pDadosRedes, char *pMensagemOperador)
int DIRETIVA_CALLBACK ConsultaProdutosPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pNumeroCupom, char *pRedePBM,
char *pTrilha1, char *pTrilha2,
char *pDigitado, char *pAutorizacao,
char *pDadosCRM, char *pTipoVenda,
char *pValorTotalMedicamentos, char *pValorVista,
char *pValorCartao, char *pCodigoCredenciado,
char *pQuantidadeMedicamentos, char *pMedicamentos,
char *pReservado, char *pNumeroControle,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoVendaPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pValorTotalMedicamentos, char *pNumeroCupom,
char *pRedePBM, char *pTrilha1, char *pTrilha2,
char *pDigitado, char *pAutorizacao, char *pNSUConsulta,
char *pDadosCRM, char *pTipoVenda, char *pValorVista,
char *pValorCartao, char *pCodigoCredenciado,
char *pRegraNegocio, char *pQuantidadeMedicamentos,
char *pMedicamentos, char *pReservado, char *pNumeroControle,
char *pNumeroControleRede, char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoCancelamentoVendaPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pTrilha1, char *pTrilha2,
char *pDigitado, char *pReservado,
char *pNumeroControle, char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoAberturaVendaPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pRedePBM, char *pTrilha1,
char *pTrilha2, char *pDigitado,
char *pReservado, char *pPedirDadosComplementares,
char *pDadosComplementares, char *pInfoDadosComplementares,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoVendaProdutoPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pRedePBM, char *pTrilha1,
char *pTrilha2, char *pDigitado,
char *pMedicamento, char *pReservado,
char *pPedirDadosComplementares,
char *pDadosComplementares,
char *pInfoDadosComplementares,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoFechamentoVendaPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pRedePBM, char *pTrilha1,
char *pTrilha2, char *pDigitado,
char *pConfirmacao, char *pReservado,
char *pAutorizacao, char *pNumeroControle,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoElegibilidadePBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pNumeroCupom, char *pRedePBM,
char *pMatricula, char *pDadosElegibilidade,
char *pNumeroControle, char *pNumeroControleRede,
char *pNomeCliente, char *pNomeMedico,
char *pInformaDependente, char *pListaDependentes,
char *pReservado, char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoPreAutorizacaoPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pNumeroCupom, char *pRedePBM,
char *pAutorizacaoElegibilidade,
char *pDadosFarmaceutico,
char *pQuantidadeMedicamentos,
char *pMedicamentos, char *pNumeroControle,
char *pNumeroControleRede, char *pReservado,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoCancelamentoPreAutorizacaoPBM_TeleMarketing(char *pNumeroEmpresa,
char *pMultiLoja,
char *pNumeroLoja,
char *pNumeroPDV,
char *pMatricula,
char *pReservado,
char *pNumeroControle,
char *pMensagemOperador)
As transações com a rede "PBM Funcional", onde retorna os parâmetros da rede "DadosRedes=[49000PBM Funcional SS ]", significa que a mesma necessita do "Código de Autorização”" e "Número do Cartão", conforme estrutura retornado neste parâmetro.
Ainda sobre a rede “PBM Funcional”, referente ao "Número do Cartão", o mesmo deve ser solicitado ao operador "campo com 17 dígitos", e enviado no parâmetro " pTrilha2 " contendo somente os 17 dígitos coletados pelo operador.
As solicitações de transação de Consulta das Redes Parametrizadas, de Consulta de Produtos, Transação de Venda PBM, Confirmação de Venda PBM, Reimpressão de Venda PBM e Cancelamento de Venda PBM são realizadas através das chamadas às funções ConsultaParametrosPBM , ConsultaProdutosPBM , TransacaoVendaPBM , ConfirmaVendaPBM , TransacaoReimpressaoVendaPBM e TransacaoCancelamentoVendaPBM.
O NumeroControle , incluído na resposta da função de consulta de produtos, deverá ser armazenado pelo sistema de automação, pois na função de venda este número deverá obrigatoriamente, ser utilizado, para informar o número da consulta em que os produtos foram obtidos. No caso do NumeroControle obtido no retorno da função de venda, deverá ser armazenado pelo sistema de automação para efetivar a confirmação da venda.
Após a impressão do comprovante pela automação comercial, sendo esta com sucesso, deve-se realizar a confirmação da transação através da função ConfirmaVendaPBM informando o número do NSU da transação que deseja confirmar. Em seguida, para encerrar a operação deve ser chamada a função FinalizaTransacao, documentada nesta página.
Através da função TransacaoReimpressaoVendaPBM poderá ser reimpresso o comprovante da última venda PBM emitida com sucesso. Caso a função seja executada com sucesso, o arquivo ULTIMOPBM.PRN será disponibilizado no diretório parametrizado para os cupons.
As funções de Consulta de Parâmetros e Consulta de Produtos devem ser acionadas antes de iniciar-se uma venda, pois ao efetuar a venda o operador deverá optar por utilizar um produto da rede selecionada ou por um produto da própria loja. Esta “seleção” é importante para determinar se o sistema de automação comercial deverá chamar a função de venda PBM ou não. No caso de efetuar uma venda PBM, todos os parâmetros obtidos através da função de consulta PBM deverão ser passados na função de venda, de acordo com a quantidade vendida. Estes dados deverão estar coerentes com os dados da consulta, caso contrário, a venda corre o risco de não ser aprovada pela rede PBM selecionada.
Através da função TransacaoCancelamentoVendaPBM pode-se efetuar o cancelamento de uma venda PBM. O NumeroControle da venda a ser cancelada deve ser informado. Além disso, se a rede PBM exigir, poderá ser necessário a leitura do cartão do beneficiário para efetuar o cancelamento.
Os campos estão abaixo caracterizados.
Continua na página 43/33
Campo | Tamanho | Descrição |
---|---|---|
MultiLoja | 01 P | 01 Caracter [‘S’,’N’] |
NumeroEmpresa | 04 P | 04 inteiros |
NumeroLoja | 04 P | 04 inteiros |
NumeroPDV | 03 P | 03 inteiros [001…356] |
InfoDadosComplementares | 64 A | Informação de coleta de campos opcionais da tela de abertura de venda PBM. Os parâmetros dos 2 campos têm o seguinte formato: • TAAMMXX...XXTAAMMXX...XX • T : tipo do campo - N (numérico), A (alfanumérico) ou F (opção sim ou não - Y/N) • AA : tamanho mínimo do campo (1 até 50) • MM : tamanho máximo do campo (1 até 50) • X : nome do campo para apresentação na tela (até 20 bytes) Os dois campos são opcionais. Se nenhum campo estiver preenchido, não haverá a coleta. Exemplo: • N0808CEP N1111CPF DO PORTADOR • Neste exemplo, haverá a captura de 2 campos, sendo que o primeiro é o CEP com 8 dígitos (N=numérico) e o segundo o CPF com 11 dígitos. |
DadosComplementares | 128A | Dados complementares coletados conforme os campos da estrutura InfoDadosComplementares . No exemplo acima, os dados poderiam ficar: • 08999999991199999999999, isto é, CEP 99999999 com 8 dígitos e CPF 99999999999 com 11 dígitos. |
PedirDadosComplementares | 01 A | Se a função retornar erro, analisar este campo para verificar se é necessário coletar os dados complementares e chamar novamente a função. • [ S ] Coletar dados complementares • [ N ] Não coletar dados complementares |
ValorTotalMedicamentos | 12N | Valor total dos medicamentos do cupom na venda ou valor total dos medicamentos retornados na consulta |
NumeroCupom | 06N | Número do cupom (fiscal ou não fiscal) |
QuantidadeRedes | 02N | Quantidade de redes cadastradas |
DadosRedes Formato: Numero[05] Nome[20] ColetaCartao[01] ColetaAutorizacao[01] Filler[13] |
560P | Parâmetro que retorna os dados das redes cadastradas. Os campos ColetaCartao e ColetaAutorizacao indicam qual informação deve ser coletada pelo sistema de automação comercial. Podem ser retornados até 14 redes no formato especificado Especificação de alguns campos : Campo ColetaCartao = • [ S ] Coletar cartão • [ N ] Não coletar cartão Campo ColetaAutorizacao = • [ S ] Coletar número de autorização • [ N ] Não coletar número de autorização |
RedePBM | 05N | Código da rede PBM selecionada |
Trilha1 | 76A | Trilha1 do cartão |
Trilha2 | 37A | Trilha2 do cartão |
Digitado | 01N | • [ 0 ] Indica que a trilha2 do cartão foi obtido através de leitura em pinpad criptografado • [ 1 ] Indica que a trilha2 do cartão foi digitado |
Autorização | 12N | Número da autorização coletado pelo sistema de automação |
NSUConsulta | 06N | Número de controle obtido na consulta de produtos |
DadosCRM Formato: CRM[12] UF_CRM[02] |
14P | Dados de identificação do CRM consultado |
DadosElegibilidade Formato: CodigoOperadorVita[09] PlanoSaude[06] NumeroDependente[02] TipoProfissional[01] UF_CRM_CRO[02] NumeroCRM_CRO[09] DataReceita[06] DescontoEmFolha[01] |
30P | Deve ser coletado pelo sistema de automação os dados da estrutura.Especificação de alguns campos : • Campo CodigoOperadorVita = • Campo PlanoSaude = Código do plano de saúde • Campo TipoProfissional = [ 0 ] CRM [ 1 ] CRO • Campo DescontoEmFolha = [ S ] Sim [ N ] Não |
NomeCliente | 40P | Retornado pela função TransacaoElegibilidadePBM |
NomeMedico | 40P | Retornado pela função TransacaoElegibilidadePBM |
InformaDependente | 01P | • [ S ]Sim [ N ]Não Importante : se a função retornar status 11, verificar se foi retornado “S” neste parâmetro. Neste caso, chamar a função novamente informando o número do dependente na estrutura do parâmetro DadosElegibilidade |
ListaDependentes Formato: Número do dependente[02] Nome do dependente[40] |
504P | Lista de até 12 registros |
AutorizacaoElegibilidade | 12P | Deve ser informado a Autorização retornada na transação de elegibilidade |
DadosFarmaceutico Formato: UF_CRF[02] NumeroCRF[12] |
14P | |
TipoVenda | 01N | • [ 0 ]Vista [ 1 ] Cartão |
ValorVista | 12N | Valor a pagar à vista para consulta e valor pago à vista para a função de venda |
ValorCartão | 12N | Valor a pagar com cartão para consulta e valor pago com cartão para a função de venda |
CodigoCredenciado | 15N | Código do credenciado |
RegraNegocio | 08N | Código da regra de negócio (ePharma) |
QuantidadeMedicamentos | 02N | Quantidade de medicamentos retornados no campoMedicamentos para a função de consulta e quantidade de medicamentos vendidos para a função de venda |
Medicamentos Formato: DataReceita[08] IDCRM_CRO[01] CRM[12] UF_CRM[02] TipoMedicamento[02] Código[13] Descrição[15] CondicaoVenda[01] PrecoMaxConsumidor[08] PrecoFabricaUnitario[08] PrecoUnitarioVendaCons[08] PrecoAquisicaoUnitario[08] PrecoRepasseVarejo[08] MotivoRejeicao[02] QtdReceitada[04] QtdAutorizadaSolicitada[04] Referencia[02] IndicadorVenda[01] TipoEmbalagem[01] Desconto[05] Controle[10] Reembolso[08] Comissão[05] UsoContinuo[01] Filler[05] |
*P | Dados dos medicamentos fornecidos para o sistema de automação na função de consulta e dados dos medicamentos vendidos da rede selecionada para a função de venda. Podem ser retornados (pela função de consulta) ou informados (para a função de venda) até o número de medicamentos informado no campo QuantidadeMedicamentos. • * o tamanho deste buffer deve ser calculado da seguinte forma: QuantidadeMedicamentos * 142 • 142 = tamanho da estrutura de dados para um medicamento Especificação de alguns campos : • Campo IDCRM_CRO = [ 0 ] CRM [ 1 ] CRO • Campo TipoMedicamento = • [ 01 ] Medicamento • [ 02 ] Manipulação • [ 03 ] Manip. Especial • [ 04 ] Perfumaria • Campo CondicaoVenda = • [ 0 ] obrigatório utilizar preço fábrica • [ 1 ] permite vender com preço inferior • Campo IndicadorVenda = • [ 0 ] produto venda cartão • [ 1 ] produto venda vista • Campo TipoEmbalagem = unitário ou parcial • Campo Controle = campo para uso restrito • Campo UsoContinuo = [ S , N ] Observações : • [ 1 ] os campos Reembolso e Comissão foram incluídos pois são retornados pela VidaLink • [ 2 ] o campo UsoContinuo é utilizado pela PreSaude • [ 3 ] no campo QtdAutorizadaSolicitada deve ser informado a quantidade solicitada para a PrevSaude ou quantidadeautorizada para as demais PBMs. |
Reservado | 128P | Campo reservado TransacaoAberturaVendaPBM_TeleMarketing : esta função retornará neste parâmetro o número da autorização para esta transação. Tamanho de 12 bytes. |
Confirmacao | 01A | Indica se a transação de venda de produtos PBM deve ser confirmada ou não. • [ S ] Confirmar a operação • [ N ] Não confirmar a operação |
NumeroControle | 06 N | NSU (número seqüencial único) |
NumeroControleRede | 12 N | NSU da Rede Autorizadora (número seqüencial único retornado pela rede que aprovou a venda) |
MensagemOperador | 64 P | Mensagem retornada pelo Linx TEF indicando o motivo da recusa da transação. Deve ser apresentada ao operador quando a transação for rejeitada |
02 I | • [ 00 ] Transação autorizada • [ 11 ] Transação não efetuada |
Obs.: todos campos que contém diversos parâmetros devem ser passados conforme seus respectivos tamanhos. Os campos numéricos devem vir com zeros à esquerda (sem ponto ou vírgula), enquanto que os alfanuméricos devem vir com espaços à direita.
[ 00 ] indica que não existiram restrições para a efetivação da transação.
[ 11 ] indica que existiram restrições para a efetivação da transação. Apresentar ao usuário o conteúdo do campo MotivoRejeicao (retornado pela operadora). No campo MensagemOperador contém a mensagem retornada pelo Linx TEF.
Observação : Para cada conjunto de chamadas as funções de TeleMarketing ( ConsultaParametrosPBM_TeleMarketing , ConsultaProdutosPBM_TeleMarketing, TransacaoVendaPBM_TeleMarketing, TransacaoAberturaVendaPBM_Telemarketing, TransacaoVendaProdutoPBM_TeleMarketing, TransacaoFechamentoVendaPBM_TeleMarketing ) deve ser informado um número de PDV diferente (obedecendo a faixa de PDVs definida na especificação dos parâmetros). Isto é necessário para que o Linx TEF possa diferenciar as transações que estão ocorrendo simultaneamente. Um exemplo de ocorrência desta situação é na utilização desta função através de um servidor Web, que pode ter vários usuários realizando acesso simultâneo.
Observação para transações de pré-venda SevenPDV : a autorização das redes tratadas pela PBM SevenPDV deve seguir o seguinte fluxo de chamadas de funções:
TransacaoAberturaVendaPBM_TeleMarketing : função para abrir a venda. Se no retorno a função indicar que devem ser pedidos dados complementares, deverá ser analisado o campo de retorno pInfoDadosComplementares para buscar a definição dos campos a serem coletados. A seguir, a função TransacaoAberturaVendaPBM_TeleMarketing deverá ser chamada novamente com a informação dos dados complementares. Caso a tela de coleta dos dados complementares do portador for exibida mas o operador não entrou com os dados, a palavra VAZIO deverá ser informada no campo pDadosComplementares .
TransacaoVendaProdutoPBM_TeleMarketing : transação para incluir o produto na autorização que está sendo feita simultaneamente à venda. Na estrutura do medicamento, deverão ser informados os campos Codigo , PrecoMaxConsumidor , PrecoUnitarioVendaCons , QuantidadeAutorizada e TipoEmbalagem . Os campos retornados na estrutura de medicamento são retornados os campos QuantidadeAutorizada , PrecoMaxConsumidor , PrecoUnitarioVendaCons , PrecoRepasseVarejo , Desconto e MotivoRejeicao .
TransacaoFechamentoVendaPBM_TeleMarketing : função para finalizar a venda PBM. Se a venda foi finalizada com sucesso, deverá passar o parâmetro pConfirmaçao com o valor "S". Neste caso, ao final da execução da função será disponibilizado o comprovante da operação para ser impresso. Se a venda não deve ser finalizada, passar no parâmetro o valor "N".
Observação : para transações de telemarketing em ambientes com múltiplas threads simultâneas, deverá ser utilizada a DLL DPOSDRVTM.DLL.