Árvore de páginas

Objetivo

Utilizar para autênticações dos parceiro em vendas na forma de pagamento convênio.

No momento em que for solicitada a senha do convêniado, se estiver configurado para validar via integração externa, irá enviar ao parceiro informações para que ele valide ou não um código (token) do cliente para que ele digite e finalize a venda

Exemplos : Quando houve a necessidade de validar um token no pinpad.


Veja abaixo exemplo de configuração dos parâmetros : 

Configurações > Configurações de PDVs > Autendicações diversas > Autênticações para convênios.

image-2024-4-3_8-22-30.png

Imagem 01 - Autênticações para convênios.


Lista de formas de pagamento : Iremos configurar uma lista de formas de pagamento que poderá ser validado e autenticado pelo parceiro.

Obter o valor no pinpad: A solicitação irá ser encaminhada para o cliente informar o valor no Pinpad.

URL :  Parceiro irá informar o caminho do seu servidor webservice para receber do PDV as solicitações e valores.

Autenticação: Para validação de usuario e senha do webservice criado pelo parceiro para validar e autorizar as respostas para o PDV.


Formato dos arquivos JSON de Requisição e Resposta

Informações para Requisição (Request Information)

Parâmetros do Corpo (Body Parameters)

PARÂMETRO

TIPO

OBRIGATÓRIO

DESCRIÇÃO

UserAuthenticationObject JsonSim

Grupo com os dados para autenticação

UserAuthentication.HeaderObject JsonSim

Grupo com os dados do cabeçalho

UserAuthentication.Header.DescriptionStringSim

Descrição da rotina a ser liberada

UserAuthentication.Header.IdStoreIntegerSim

Código da loja

UserAuthentication.Header.IdTerminalIntegerSim

Código do PDV

UserAuthentication.SaleObject JsonSim

Grupo com os dados da venda

UserAuthentication.Sale.AccountingDateDateSim

Data do documento ou, quando não existir, da transação

UserAuthentication.Sale.DateTimeIssueDateSim

Data e hora da requisição

UserAuthentication.Sale.IdDocumentIntegerSim

Código do documento

UserAuthentication.Sale.ItemsArray object JsonNão

Lista de produto(s) da venda

UserAuthentication.Sale.Items[0].DescriptionStringSim

Descrição do produto

UserAuthentication.Sale.Items[0].InternalCodeIntegerSim

Código interno do produto

UserAuthentication.Sale.Items[0].ItemNumberIntegerSim

Código de sequência do produto

UserAuthentication.Sale.CooDocumentIntegerNão

Código do documento da venda

UserAuthentication.Sale.DocumentIntegerNão

Códigos interno da venda (seqdocto)

UserAuthentication.Sale.IdentificationTypeStringNão

Tipo de identificação

UserAuthentication.Sale.DocumentTypeStringNão

CPF ou CNPJ do cliente informado

UserAuthentication.Sale.AgreementNumberIntegerNão

Nº do convênio/forma  de pagamento

UserAuthentication.Sale.AgreedNumberIntegerNão

Código do cliente (Seqpessoa)

UserAuthentication.Sale.TotalSaleDoubleNão

Total da venda

UserAuthentication.Sale.TotalPayDoubleNão

Valor do pagamento

EventStringSim

Tipo de evento da API

ExecutionStringSim

Status da execução

IDStringSim

ID da transação (que será consultando depois no evento GET)

OperationStringSim

Operação que está sendo enviada ("cotUserAuthentication" para este evento POST)

ResponseStringNão

Valor retornado pelo PDV.

Este é o valor de retorno digitado lá no pdv pelo cliente

VersionIntegerSim

Número da versão

Formatos de Requisição (Request Formats)

application/json

Exemplo (Sample)

{
    "Event": "cetAfter",
    "Execution": "cetContinue",
    "ID": "00122220240125140628",
    "Operation": "cotUserAuthentication",
    "Response": "1515",
    "UserAuthentication": {
        "Header": {
            "IdStore": 1,
            "IdTerminal": 222,
            "IdUser": 2
        },
        "Sale": {
            "AccountingDate": "2024-01-24T00:00:00",
            "AgreedNumber": 138789,
            "AgreementNumber": 252,
            "CooDocument": 30,
            "DateTimeIssue": "2024-01-25T14:06:28",
            "Document": "97107967000109",
            "DocumentType": "cdtCNPJ",
            "IdDocument": 11071968,
            "IdentificationType": "citReward",
            "TotalPay": 1.0000000000000000E+001,
            "TotalSale": 1.0000000000000000E+001
        }
    },
    "Version": 1
}


Formatos de Response(Response Formats) para obter valor, no caso do exemplo um Token

application/json

Exemplo (Sample)

{

    "version": 1,
    "return": {
        "code": 0
    },
    "execution": "cetContinue",
    "interpret": {
        "commandType": "cctGetValue",
        "messageCommand": null,
        "options": null,
        "value": {
            "title": "Cliente fidelidade",
            "subtitle": "Informe o Token",
            "dataType": "cvtToken",
            "size": 0,
            "documentTypes": [
            ]
        },
        "pay": null
    },
    "vouchersPrint": [
    ]
}

Exemplo da venda no convênio : 

1º - Passo :  

2º - Passo :  Informa o convêniado : 

Identifica o convêniado : 

Neste momento, iria ser apresentada a tela de senha para o cliente informar, mas se o parãmetro (Obter o valor no pinpad) tiver habilitado irá apresentar o retorno do parceiro para validar um token.


Se o parâmetro para obter no pinpad estiver ativo, mensagem irá para o PINPAD para solicitar a digitação.

Após digitar o valor e teclar ENTER, o sistema enviará para o parceiro o JSON com a resposta do que foi digitado pelo cliente.

Requisição do Exemplo (Request) com a resposta do que foi digitado :

{
   {
    "Event": "cetAfter",
    "Execution": "cetContinue",
    "ID": "00122220240125140628",
    "Operation": "cotUserAuthentication",
    "Response": "151516",
    "UserAuthentication": {
        "Header": {
            "IdStore": 1,
            "IdTerminal": 222,
            "IdUser": 2
        },
        "Sale": {
            "AccountingDate": "2024-01-24T00:00:00",
            "AgreedNumber": 138789,
            "AgreementNumber": 252,
            "CooDocument": 30,
            "DateTimeIssue": "2024-01-25T14:06:28",
            "Document": "97107967000109",
            "DocumentType": "cdtCNPJ",
            "IdDocument": 11071968,
            "IdentificationType": "citReward",
            "TotalPay": 1.0000000000000000E+001,
            "TotalSale": 1.0000000000000000E+001
        }
    },
    "Version": 1
}
}


Parceiro trata o retorno e finaliza com um response se estiver de acordo com a venda.

Response do Exemplo (Response) com a resposta cetCompleted:

{

    "version": 1,
    "sale": null,
    "pay": null,
    "return": {
        "code": 0,
        "messageText": "0"
    },
    "execution": "cetCompleted",
    "interpret": null,
    "vouchersPrint": [
    ]
}