Transacional
APIs relacionadas ao fluxo transacional (venda, cancelamento)
Antes de usar as APIs...
Certifique-se de ter verificado as secções de APIs e Chave de Integração, além de ter lido as nossas Informações preliminares.
POST Venda/Vender
{{Url}}/Venda/Vender/?key={{Key}}
Variáveis:
Url: endereço do ambiente atual.
Key: chave de acesso.
Esta API será a utlizada para realizar vendas. Deveremos indicar para cada venda:
-
a forma de pagamento;
-
o ID do terminal;
-
uma referência própria (Ex: ID da venda do próprio sistema, NSU, etc);
-
A opção Iniciar automaticamente (true ou false) / indica se o TEF deverá ser inicializado automaticamente (expirando a intenção de venda caso o TEF não responda em tempo hábil) ou se uma intenção de venda deverá apenas ser criada no sistema ControlPay para consumo posterior;
-
Indicar se o parcelamento será feito pelo lojista ou pela administradora*,
-
Quantidade de parcelas*;
-
Qual a adquirente escolhida para a transação*,
-
Lista de produto(s) vendido(s) ou apenas o valor total (opcional, um ou outro). Caso enviado o produto, enviar lista:
"produtosVendidos"
{
"Id": "",
"Valor": "1.00",
"Quantidade": "1"
},
{
"Id": "",
"Valor": "1.00",
"Quantidade": "1"
}
*se não declarado, será assumido o parcelamento lojista.
Valor total vendido
Caso esteja habilitado para o terminal, o usuário pode escolher não utilizar as propriedades de produtos e sim a venda por valor.
Para isto, basta usar a propriedade "valorTotalVendido" com um valor decimal (como "26,00", por exemplo).
Observação: caso sejam usados os dois ("produtosVendidos" e "valorTotalVendido"), a soma dos valores dos produtos deve ser o valor presente na propriedade "valorTotalVendido".
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
key | {{Key}} |
Exemplo: Venda/Vender
curl --location --request POST 'sandbox.controlpay.com.br/webapi/Venda/Vender/?key={{Key}}' \
--header 'Content-Type: application/json' \
--header 'User-Agent: NomeDaAutomacao/1.0' \
--data-raw '{
"formaPagamentoId": 21,
"terminalId": "81",
"referencia": null,
"aguardarTefIniciarTransacao": true,
"parcelamentoAdmin": null,
"quantidadeParcelas": 1,
"adquirente":"",
"produtosVendidos": [
{
"Id": "",
"Valor": "1.00",
"Quantidade": "1"
}
]
}'
curl --location --request POST 'pay2alldemo.azurewebsites.net/webapi/Venda/Vender/?key={{Key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"formaPagamentoId": 21,
"terminalId": null,
"referencia": null,
"aguardarTefIniciarTransacao": false,
"parcelamentoAdmin": null,
"quantidadeParcelas": 1,
"adquirente":"",
"produtosVendidos": [
{
"Id": "",
"Valor": "1.00",
"Quantidade": "1"
}
]
}'
curl --location --request POST 'pay2alldemo.azurewebsites.net/webapi/Venda/Vender/?key={{Key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"formaPagamentoId": 21,
"terminalId": null,
"referencia": null,
"aguardarTefIniciarTransacao": true,
"parcelamentoAdmin": null,
"quantidadeParcelas": 1,
"adquirente":"",
"produtosVendidos": [
{
"Id": "",
"Valor": "1.00",
"Quantidade": "1"
}
]
}'
curl --location --request POST 'pay2alldemo.azurewebsites.net/webapi/Venda/Vender/?key={{Key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"formaPagamentoId": 1111,
"terminalId": "",
"referencia": null,
"aguardarTefIniciarTransacao": true,
"parcelamentoAdmin": null,
"quantidadeParcelas": 1,
"adquirente":"",
"produtosVendidos": [
{
"Id": "",
"Valor": "1.00",
"Quantidade": "1"
}
]
}'
{
"data": "17/11/2016 17:44:59.1570",
"intencaoVenda": {
"id": 23454,
"token": "585156",
"data": "17/11/2016 17:44:57.0000",
"hora": "17:44:57",
"quantidade": 1,
"valorOriginal": 1,
"valorOriginalFormat": "1,00",
"valorAcrescimo": 0,
"valorAcrescimoFormat": "0,00",
"valorDesconto": 0,
"valorDescontoFormat": "0,00",
"valorFinal": 1,
"valorFinalFormat": "1,00",
"gate2allToken": null,
"quantidadeParcelas": 1,
"urlPagamento": null,
"formaPagamento": {
"id": 21,
"nome": "TEF",
"modalidade": "Crédito",
"fluxoPagamento": {
"id": 21,
"nome": "TEF"
}
},
"terminal": {
"id": 81,
"nome": "CAIXA 01"
},
"pagamentosExterno": [
{
"id": 1574,
"tipo": 5,
"origem": 5,
"tipoParcelamento": 2,
"pagamentoExternoStatus": {
"id": 10,
"nome": "Em Operacao"
}
}
],
"intencaoVendaStatus": {
"id": 6,
"nome": "Em Pagamento"
},
"cliente": null,
"produtos": [
{
"itemProdutoId": 13629,
"id": 2,
"nome": "Refeição",
"quantidade": 1,
"valor": "1,00"
}
],
"pedido": null
}
}
{
"data": "17/11/2016 17:40:59.2731",
"intencaoVenda": {
"id": 23452,
"token": "476063",
"data": "17/11/2016 17:40:59.2418",
"hora": "17:40:59",
"quantidade": 1,
"valorOriginal": 1,
"valorOriginalFormat": "1,00",
"valorAcrescimo": 0,
"valorAcrescimoFormat": "0,00",
"valorDesconto": 0,
"valorDescontoFormat": "0,00",
"valorFinal": 1,
"valorFinalFormat": "1,00",
"gate2allToken": null,
"quantidadeParcelas": 1,
"urlPagamento": null,
"formaPagamento": {
"id": 21,
"nome": "TEF",
"modalidade": "Crédito",
"fluxoPagamento": {
"id": 21,
"nome": "TEF"
}
},
"terminal": {
"id": 81,
"nome": "CAIXA 01"
},
"pagamentosExterno": [
{
"id": 1572,
"tipo": 5,
"origem": 5,
"tipoParcelamento": 2,
"pagamentoExternoStatus": {
"id": 5,
"nome": "Pendente"
}
}
],
"intencaoVendaStatus": {
"id": 5,
"nome": "Pendente"
},
"cliente": null,
"produtos": [
{
"itemProdutoId": 13627,
"id": 2,
"nome": "Refeição",
"quantidade": 1,
"valor": "1,00"
}
],
"pedido": null
}
}
{
"data": "17/11/2016 17:40:37.9417",
"intencaoVenda": {
"id": 23451,
"token": "243564",
"data": "17/11/2016 17:40:21.0000",
"hora": "17:40:21",
"quantidade": 1,
"valorOriginal": 1,
"valorOriginalFormat": "1,00",
"valorAcrescimo": 0,
"valorAcrescimoFormat": "0,00",
"valorDesconto": 0,
"valorDescontoFormat": "0,00",
"valorFinal": 1,
"valorFinalFormat": "1,00",
"gate2allToken": null,
"quantidadeParcelas": 1,
"urlPagamento": null,
"formaPagamento": {
"id": 21,
"nome": "TEF",
"modalidade": "Crédito",
"fluxoPagamento": {
"id": 21,
"nome": "TEF"
}
},
"terminal": {
"id": 81,
"nome": "CAIXA 01"
},
"pagamentosExterno": [
{
"id": 1571,
"tipo": 5,
"origem": 5,
"tipoParcelamento": 2,
"pagamentoExternoStatus": {
"id": 15,
"nome": "Finalizado"
}
}
],
"intencaoVendaStatus": {
"id": 15,
"nome": "Expirado"
},
"cliente": null,
"produtos": [
{
"itemProdutoId": 13626,
"id": 2,
"nome": "Refeição",
"quantidade": 1,
"valor": "1,00"
}
],
"pedido": null
}
}
{
"message": "Parâmetro [formaPagamentoId] não pode ser nulo."
}
Propriedades opcionais
A partir da versão 1.21.1.0 do ControlPay, há propriedades permitindo que sejam realizadas vendas à vista, pré-datadas e parceladas com a adição de apenas uma propriedade, ou vendas "genéricas", nas quais o financiamento/parcelamento é escolhido na hora do pagamento.
É importante ressaltar que, para o uso destas propriedades, é necessário o uso do PayGo Windows versão 5.1.21.21 ou posterior. Para versões anteriores, o funcionamento da API continuará inalterado.
As propriedades são opcionais no body da chamada e podem ser encontradas abaixo:
preDatado
: Booleano que indica um débito pré-datado;
aVista
: Booleano indicando um crédito/débito à vista;
parcelamentoAdmin
: Booleano indica um parcelamento (true = admin/emissor; false = loja). Funciona em conjunto com as parcelas (só vai ser levado em conta se for mais de uma parcela);
quantidadeParcelas
: número inteiro indicando a quantidade de parcelas para um parcelamento.
Enum dos status das Intenções de Venda
Valor | Status | Descrição |
---|---|---|
5 | Pendente | Transação pendente de pagamento. Somente foi criada e não iniciou nenhum fluxo de pagamento ainda |
6 | EmPagamento | Transação que já iniciou um processo de pagamento |
10 | Creditado | Pagamento aprovado |
15 | Expirado | Se é solicitado o "iniciar pagamento automático" e não for possível inicia-lo, a transação fica com status de expirado após 15 segundos |
18 | CancelamentoIniciado | Solicitado o processo de cancelamento |
19 | EmCancelamento | Sistema de pagamento recebeu a solicitação de cancelamento |
20 | Cancelado | Cancelamento concluído |
25 | PagamentoRecusado | Pagamento não aprovado pela adquirente ou banco emissor |
Enum dos status dos Pagamentos Externos
Status | Descrição |
---|---|
5 | Pendente |
10 | Em Operação |
15 | Finalizado |
POST Venda/CancelarVenda
{{Url}}/Venda/CancelarVenda?key={{Key}}
Variáveis:
Url: endereço do ambiente atual.
Key: chave de acesso.
Através desta API é possível iniciar o processo de cancelamento de uma transação já autorizada. É mandatório que o cancelamento ocorra no mesmo terminal onde houve a transação de venda, a não ser em casos de transações de e-commerce, que não necessitam de terminal. Outra regra importante: o cancelamento de transações de cartão presente só podem acontecer no mesmo dia da transação de venda.
Parâmetros:
intencaoVendaId | ID da intenção de venda originada na Intenção de venda |
TerminalId | ID do terminal. Mandatório que seja o mesmo terminal que realizou a venda |
iniciarTransacaoAutomaticamente | Mesmo conceito da API de Venda, que fará o client ControlPay ser acionado automaticamente, caso o parâmetros seja enviado como true |
senhaTecnica | Senha técnica cadastrada para o estabelecimento. Essa senha pode ser alterada por qualquer um que tenha acesso à conta do estabelecimento no painel do ControlPay |
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
key | {{Key}} |
Exemplo: Venda/CancelarVenda
curl --location --request POST 'sandbox.controlpay.com.br/webapi/Venda/CancelarVenda?key={{Key}}' \
--header 'Content-Type: application/json' \
--header 'User-Agent: NomeDaAutomacao/1.0' \
--data-raw '{
"intencaoVendaId":"23456",
"terminalId": "",
"aguardarTefIniciarTransacao": false,
"senhaTecnica": "123456"
}'
curl --location --request POST 'pay2alldemo.azurewebsites.net/webapi/Venda/CancelarVenda?key={{Key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"intencaoVendaId":"",
"terminalId":"",
"aguardarTefIniciarTransacao":false,
"senhaTecnica": "minhasenha"
}'
{
"data": "17/11/2016 18:27:18.6004",
"intencaoVenda": {
"id": 23456,
"token": "442928",
"data": "17/11/2016 18:26:30.0000",
"hora": "18:26:30",
"quantidade": 1,
"valorOriginal": 3,
"valorOriginalFormat": "3,00",
"valorAcrescimo": 0,
"valorAcrescimoFormat": "0,00",
"valorDesconto": 0,
"valorDescontoFormat": "0,00",
"valorFinal": 3,
"valorFinalFormat": "3,00",
"gate2allToken": null,
"formaPagamento": {
"id": 21,
"nome": "TEF",
"modalidade": "Crédito",
"fluxoPagamento": {
"id": 21,
"nome": "TEF"
}
},
"intencaoVendaStatus": {
"id": 20,
"nome": "Cancelado"
},
"cliente": null,
"produtos": [
{
"itemProdutoId": 13631,
"id": 17,
"nome": "Coca-Cola",
"quantidade": 1,
"valor": "3,00"
}
]
}
}
{
"message": "Parâmetro [intencaoVendaId] não pode ser nulo."
}
POST IntencaoVenda/GetByFiltros
{{Url}}/IntencaoVenda/GetByFiltros?key={{Key}}
Variáveis:
Url: endereço do ambiente atual.
Key: chave de acesso.
Com essa API é possível consultar as transações. Vários filtros podem ser utilizados, em conjunto ou individualmente. Recomendamos consultar as transações a partir do campo "referência", passado no método "Venda/Vender", durante a criação da intenção de venda.
Embora a consulta por status possa ser realizada tanto via Id, como Nome, recomendamos que esta consulta sempre seja realizada por Id. Isto evitará possíveis inconsistências caso um status seja renomeado no futuro.
Campo | Descrição | Mandatório | Tipo | Observação |
---|---|---|---|---|
intencaoVendaId | O identificador único da intenção de venda no ControlPay. | Não | Inteiro | Obrigatório caso nenhum outro elemento seja informado. |
formaPagamentoId | O identificador único da forma de pagamento no ControlPay. | Não | Inteiro | Busca todas as intenções de venda que tenham esta forma de pagamento. Pode ser combinado com outros elementos para filtragem dos dados. |
terminalId | O identificador único do terminal no ControlPay. | Não | Inteiro | Busca todas as intenções de venda que tenham sido criadas neste terminal. Pode ser combinado com outros elementos para filtragem dos dados. |
status | Status ou lista de status de intenções de venda no ControlPay. | Não | Inteiro | Busca todas as intenções de venda que tenham um destes status no momento da chamada desta API. Pode ser combinado com outros elementos para filtragem dos dados. |
referencia | Usado para filtragem rápida das intenções pelo Id externo. | Não | Inteiro | Busca todas as intenções de venda que tenham sido geradas passando-se este valor, na chamada da API de venda. Pode ser combinado com outros elementos para filtragem dos dados. |
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
key | {{Key}} |
{
"dataFim":"",
"dataInicio":"",
"formaPagamentoId":"",
"status":"",
"terminalId":"103"
}
Exemplo: IntencaoVenda/GetByFiltros
curl --location --request POST 'sandbox.controlpay.com.br/webapi/IntencaoVenda/GetByFiltros?key={{Key}}' \
--header 'Content-Type: application/json' \
--header 'User-Agent: NomeDaAutomacao/1.0' \
--data-raw '{
"intencaoVendaId": 23455,
"formaPagamentoId": null,
"terminalId": "",
"status": "15",
"vendasDia": true,
"referencia": null
}'
curl --location --request POST 'pay2alldemo.azurewebsites.net/webapi/IntencaoVenda/GetByFiltros?key={{Key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"intencaoVendaId": 23454,
"formaPagamentoId": null,
"terminalId": "",
//"status": "Pendente,15",
"vendasDia": true,
"referencia": null
}'
curl --location --request POST 'pay2alldemo.azurewebsites.net/webapi/IntencaoVenda/GetByFiltros?key={{Key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"intencaoVendaId": 23486,
"formaPagamentoId": null,
"terminalId": "",
//"status": "10",
"vendasDia": true,
"referencia": null
}'
{
"data": "22/11/2016 17:11:47.6365",
"intencoesVendas": [
{
"id": 23486,
"referencia": "",
"token": "458241",
"data": "18/11/2016 16:17:44",
"hora": "16:17:44",
"valorOriginal": 1,
"valorOriginalFormat": "1,00",
"valorAcrescimo": 0,
"valorAcrescimoFormat": "0,00",
"valorDesconto": 0,
"valorDescontoFormat": "0,00",
"valorFinal": 1,
"valorFinalFormat": "1,00",
"quantidade": 1,
"urlPagamento": null,
"latitude": null,
"longitude": null,
"quantidadeParcelas": null,
"formaPagamento": {
"id": 22,
"nome": "TEF",
"modalidade": "Débito",
"fluxoPagamento": {
"id": 21,
"nome": "TEF"
}
},
"terminal": {
"id": 81,
"nome": "CAIXA 01"
},
"intencaoVendaStatus": {
"id": 10,
"nome": "Creditado"
},
"cliente": null,
"pedido": null,
"vendedor": {
"id": 10,
"nomeRazaoSocial": "THIAGO",
"sobrenomeNomeFantasia": "SANTOS",
"fotoThumbnail": "https://sandbox.controlpay.com.br/ImagensPessoas/F8716A4BF785F35C8512B37E969F110C86A1995617EB12724F24BC9B178F8534_148x198.png"
},
"pagamentosExternos": [
{
"id": 1608,
"tipo": 5,
"origem": 5,
"nsuTid": "16175123815",
"autorizacao": "019501",
"adquirente": "VISANET",
"codigoRespostaAdquirente": "0",
"mensagemRespostaAdquirente": "AUTORIZADA 019501",
"dataAdquirente": "2016-11-18T16:17:51",
"respostaAdquirente": "000-000 = CRT\r\n001-000 = 23486\r\n002-000 = 23486\r\n003-000 = 100\r\n009-000 = 0\r\n010-000 = VISANET\r\n011-000 = 20\r\n012-000 = 16175123815\r\n013-000 = 019501\r\n015-000 = 1811161751\r\n016-000 = 1811161751\r\n022-000 = 18112016\r\n023-000 = 161751\r\n027-000 = 16111816175116175123815\r\n028-000 = 25\r\n029-001 = ****************************************\r\n029-002 = ********* DEMONSTRACAO PAYGO *********\r\n029-003 = ****************************************\r\n029-004 = \r\n029-005 = COMPROVANTE DE TEF\r\n029-006 = \r\n029-007 = ESTABELECIMENTO DE TESTE\r\n029-008 = 823982346832235/03876463\r\n029-009 = \r\n029-010 = 18/11/2016 16:17:51\r\n029-011 = REF.FISCAL:23486\r\n029-012 = DOC:006423 AUTORIZ:019501\r\n029-013 = REF.HOST:16175123815\r\n029-014 = \r\n029-015 = DEMOCARD ************4646\r\n029-016 = VENDA DEBITO A VISTA\r\n029-017 = VALOR FINAL: R$ 1,00\r\n029-018 = \r\n029-019 = \r\n029-020 = ________________________________\r\n029-021 = \r\n029-022 = \r\n029-023 = ****************************************\r\n029-024 = ********* DEMONSTRACAO PAYGO *********\r\n029-025 = ****************************************\r\n030-000 = AUTORIZADA 019501\r\n040-000 = DEMOCARD\r\n710-000 = 4\r\n711-001 = VENDA DEBITO A VISTA\r\n711-002 = DEMOCARD ************4646\r\n711-003 = POS:03876463 DOC:006423 AUTORIZ:019501\r\n711-004 = VALOR FINAL: R$ 1,00\r\n712-000 = 22\r\n713-001 = ****************************************\r\n713-002 = ********* DEMONSTRACAO PAYGO *********\r\n713-003 = ****************************************\r\n713-004 = \r\n713-005 = COMPROVANTE DE TEF\r\n713-006 = VIA: CLIENTE\r\n713-007 = \r\n713-008 = ESTABELECIMENTO DE TESTE\r\n713-009 = 823982346832235/03876463\r\n713-010 = \r\n713-011 = 18/11/2016 16:17:51\r\n713-012 = REF.FISCAL:23486\r\n713-013 = DOC:006423 AUTORIZ:019501\r\n713-014 = REF.HOST:16175123815\r\n713-015 = \r\n713-016 = DEMOCARD ************4646\r\n713-017 = VENDA DEBITO A VISTA\r\n713-018 = VALOR FINAL: R$ 1,00\r\n713-019 = \r\n713-020 = ****************************************\r\n713-021 = ********* DEMONSTRACAO PAYGO *********\r\n713-022 = ****************************************\r\n714-000 = 26\r\n715-001 = ****************************************\r\n715-002 = ********* DEMONSTRACAO PAYGO *********\r\n715-003 = ****************************************\r\n715-004 = \r\n715-005 = COMPROVANTE DE TEF\r\n715-006 = VIA: ESTABELECIMENTO\r\n715-007 = \r\n715-008 = ESTABELECIMENTO DE TESTE\r\n715-009 = 823982346832235/03876463\r\n715-010 = \r\n715-011 = 18/11/2016 16:17:51\r\n715-012 = REF.FISCAL:23486\r\n715-013 = DOC:006423 AUTORIZ:019501\r\n715-014 = REF.HOST:16175123815\r\n715-015 = \r\n715-016 = DEMOCARD ************4646\r\n715-017 = VENDA DEBITO A VISTA\r\n715-018 = VALOR FINAL: R$ 1,00\r\n715-019 = \r\n715-020 = \r\n715-021 = ________________________________\r\n715-022 = \r\n715-023 = \r\n715-024 = ****************************************\r\n715-025 = ********* DEMONSTRACAO PAYGO *********\r\n715-026 = ****************************************\r\n718-000 = DEMO\r\n719-000 = ESTAB 42\r\n729-000 = 2\r\n730-000 = 1\r\n731-000 = 2\r\n732-000 = 1\r\n737-000 = 3\r\n739-000 = 000\r\n740-000 = 456654*****54646\r\n999-999 = 0",
"comprovanteAdquirente": "****************************************\r\n ********* DEMONSTRACAO PAYGO *********\r\n ****************************************\r\n \r\n COMPROVANTE DE TEF\r\n \r\n ESTABELECIMENTO DE TESTE\r\n 823982346832235/03876463\r\n \r\n 18/11/2016 16:17:51\r\n REF.FISCAL:23486\r\n DOC:006423 AUTORIZ:019501\r\n REF.HOST:16175123815\r\n \r\n DEMOCARD ************4646\r\n VENDA DEBITO A VISTA\r\n VALOR FINAL: R$ 1,00\r\n \r\n \r\n ________________________________\r\n \r\n \r\n ****************************************\r\n ********* DEMONSTRACAO PAYGO *********\r\n ****************************************",
"tipoParcelamento": 2,
"pagamentoExternoStatus": {
"id": 15,
"nome": "Finalizado"
}
}
]
}
]
}
POST IntencaoVenda/GetById
{{Url}}/IntencaoVenda/GetById?key={{Key}}&intencaoVendaId={{IntencaoVendaId}}
Variáveis:
Url: endereço do ambiente atual.
Key: chave de acesso.
IntencaoVendaId: ID da intenção de venda.
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
key | {{Key}} |
intencaoVendaId | {{IntencaoVendaId}} |
Esta é a API mais simples para realizar pesquisas de intenções de venda. Ela é uma API sem body que retorna uma intenção de venda (que esteja atrelada à chave de integração usada).
{
"data": "12/11/2042 13:38:03.3209",
"intencaoVenda": {
"id": 2015371,
"token": "822446",
"data": "12/11/2024 12:21:16.3613",
"hora": "12:21:16",
"dataAtualizacao": "12/11/2024 12:23",
"quantidade": 0,
"valorOriginal": 1,
"valorOriginalFormat": "1,00",
"valorAcrescimo": 0,
"valorAcrescimoFormat": "0,00",
"valorDesconto": 0,
"valorDescontoFormat": "0,00",
"valorFinal": 1,
"valorFinalFormat": "1,00",
"gate2allToken": null,
"latitude": null,
"longitude": null,
"quantidadeParcelas": 1,
"urlPagamento": null,
"formaPagamento": {
"id": 21,
"nome": "TEF",
"modalidade": "Crédito",
"fluxoPagamento": {
"id": 21,
"nome": "TEF"
}
},
"intencaoVendaStatus": {
"id": 10,
"nome": "Creditado"
},
"pedido": null,
"vendedor": {
"id": 12579,
"nomeRazaoSocial": "Pessoa do exemplo",
"sobrenomeNomeFantasia": "Nome do Exemplo",
"fotoThumbnail": ""
},
"cliente": null,
"produtos": [],
"pagamentosExternos": [
{
"id": 2025992,
"tipo": 5,
"idPagamento": "",
"dataAdquirente": "12/11/2024 12:23",
"dataAtualizacao": null,
"origem": 15,
"autorizacao": "153624",
"pagamentoExternoStatus": {
"id": 15,
"nome": "Finalizado"
},
"nomeTitularCartao": null
}
],
"operador": null
}
}
POST Venda/ConsultarVendas
{{Url}}/Venda/ConsultarVendas?key={{Key}}
Variáveis:
Url: endereço do ambiente atual.
Key: chave de acesso.
Semelhante à API IntencaoVenda/GetByFiltros, esta API pesquisa vendas realizadas pelo cliente, retornando informações relevantes às intenções de venda que estejam de acordo com os critérios de pesquisa.
Atenção!
É recomendado o uso da API IntencaoVenda/GetByFiltros ao invés desta, pois ela traz mais informações relacionadas (como o terminal utilizado na venda ou os pagamentos externos relacionados à venda).
Campo | Descrição | Mandatório | Tipo | Observação |
---|---|---|---|---|
clienteId | O identificador único de um cliente usado na venda (usado na plataforma para identificar clientes, caso desejado) | Não | Inteiro | Obrigatório caso nenhum outro elemento seja informado. |
dataInicio | Data inicial da pesquisa. Serão retornadas intenções de venda realizadas a partir da data fornecida. | Não | String | Usar o formato "dd/MM/yyyy HH:mm" casp p campo seja utilizado. |
DataFim | Data final da pesquisa. Serão retornadas intenções de venda realizadas até a data fornecida. | Não | Inteiro | Usar o formato "dd/MM/yyyy HH:mm" casp p campo seja utilizado. |
status | Status de intenção de venda no ControlPay. | Não | Inteiro | Obrigatório caso nenhum outro elemento seja informado. |
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
key | {{Key}} |
{
"clienteId": null,
"status": 10,
"dataInicio": "08/07/2020 00:00",
"dataFim": "08/07/2020 23:59",
}
Exemplo: Venda/ConsultarVendas
curl --location --request POST 'sandbox.controlpay.com.br/webapi/Venda/ConsultarVendas?key={{Key}}' \
--header 'Content-Type: application/json' \
--header 'User-Agent: NomeDaAutomacao/1.0' \
--data-raw '{
"clienteId": null,
"status": 10,
"dataInicio": "08/07/2020 00:00",
"dataFim": "08/07/2020 23:59",
}'
curl --location --request POST 'pay2alldemo.azurewebsites.net/webapi/IntencaoVenda/GetByFiltros?key={{Key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"intencaoVendaId": 23454,
"formaPagamentoId": null,
"terminalId": "",
//"status": "Pendente,15",
"vendasDia": true,
"referencia": null
}'
curl --location --request POST 'pay2alldemo.azurewebsites.net/webapi/IntencaoVenda/GetByFiltros?key={{Key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"intencaoVendaId": 23486,
"formaPagamentoId": null,
"terminalId": "",
//"status": "10",
"vendasDia": true,
"referencia": null
}'
{
"data": "22/11/2016 17:11:47.6365",
"intencoesVendas": [
{
"id": 2007475,
"token": "062551",
"data": "28/05/2020 16:00:29.0000",
"hora": "16:00:29",
"quantidade": 1,
"valorOriginal": 0.6600,
"valorOriginalFormat": "0,66",
"valorAcrescimo": 0.0000,
"valorAcrescimoFormat": "0,00",
"valorDesconto": 0.0000,
"valorDescontoFormat": "0,00",
"valorFinal": 0.6600,
"valorFinalFormat": "0,66",
"latitude": null,
"longitude": null,
"formaPagamento": {
"id": 11,
"nome": "POS",
"modalidade": "Crédito",
"fluxoPagamento": {
"id": 11,
"nome": "Pagamento Sem Confirmação"
}
},
"intencaoVendaStatus": {
"id": 10,
"nome": "Creditado"
},
"cliente": null,
"produtos": [
{
"itemProdutoId": 400100,
"id": 7140,
"nome": "VENDA POR VALOR",
"quantidade": 1,
"valor": "0,66",
"fotoThumbnail": ""
}
],
"vendedor": {
"id": 11559,
"nomeRazaoSocial": "José",
"sobrenomeNomeFantasia": "Jose.Jose",
"fotoThumbnail": ""
},
{
"id": 2007479,
"token": "062558",
"data": "28/05/2020 16:10:29.0000",
"hora": "16:10:29",
"quantidade": 1,
"valorOriginal": 0.8800,
"valorOriginalFormat": "0,88",
"valorAcrescimo": 0.0000,
"valorAcrescimoFormat": "0,00",
"valorDesconto": 0.0000,
"valorDescontoFormat": "0,00",
"valorFinal": 0.8800,
"valorFinalFormat": "0,88",
"latitude": null,
"longitude": null,
"formaPagamento": {
"id": 11,
"nome": "POS",
"modalidade": "Crédito",
"fluxoPagamento": {
"id": 11,
"nome": "Pagamento Sem Confirmação"
}
},
"intencaoVendaStatus": {
"id": 10,
"nome": "Creditado"
},
"cliente": null,
"produtos": [
{
"itemProdutoId": 400100,
"id": 7140,
"nome": "VENDA POR VALOR",
"quantidade": 1,
"valor": "0,88",
"fotoThumbnail": ""
}
],
"vendedor": {
"id": 11559,
"nomeRazaoSocial": "José",
"sobrenomeNomeFantasia": "Jose.Jose",
"fotoThumbnail": ""
}
]
}
]
}
POST PagamentoExterno/InsertPagamentoExternoTipoAdmin
{{Url}}/PagamentoExterno/InsertPagamentoExternoTipoAdmin?key={{Key}}
Variáveis:
Url: endereço do ambiente atual.
Key: chave de acesso.
API utilizada para realização de funções administrativas de TEF.
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
key | {{Key}} |
{
"terminalId": "",
"senhaTecnica": "123456"
}
Exemplo: PagamentoExterno/InsertPagamentoExternoTipoAdmin
curl --location --request POST 'sandbox.controlpay.com.br/webapi/PagamentoExterno/InsertPagamentoExternoTipoAdmin?key={{Key}}' \
--header 'Content-Type: application/json' \
--header 'User-Agent: NomeDaAutomacao/1.0' \
--data-raw '{
"terminalId": "",
"senhaTecnica": "123456"
}'
{
"data": "17/11/2016 18:32:10.8603",
"pagamentoExterno": {
"id": 1578,
"tipo": 15,
"origem": 1,
"pagamentoExternoStatus": {
"id": 10,
"nome": "Em Operacao"
},
"pessoa": {
"id": 10,
"nomeRazaoSocial": "THIAGO",
"sobrenomeNomeFantasia": "SANTOS"
},
"terminal": {
"id": 81,
"nome": "CAIXA 01"
}
}
}
POST Pedido/Insert
{{Url}}/Pedido/Insert/?key={{Key}}
Variáveis:
Url: endereço do ambiente atual.
Key: chave de acesso.
Essa API insere um novo pedido. Abaixo, temos um exemplo simples de uma chamada de inserção de pedidos, contudo recomendamos visitar a secção de Pedidos da documentação para um melhor entendimento.
(Esta é apenas uma prévia sobre pedidos. Discutiremos mais acerca deles em outra secção).
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
key | {{Key}} |
{
"pessoaVendedorId": "2",
"terminalFisicoId":8,
"referencia": "REF 010",
"ValorTotalPedido": "13.00",
"urlRetorno": null,
"produtosPedido": [
{
"Id": "125",
"Nome": "Porção de ... ",
"Valor": "10.00",
"Quantidade": "1"
}
],
"pedidoFormasPagamento":[
{
"FormaPagamento":{
"Id":21
},
"QuantidadeMaximaParcelas":1,
"Adquirente":"REDE"
}
]
}
Example: Pedido/Insert
curl --location --request POST 'sandbox.controlpay.com.br/webapi/Pedido/Insert/?key={{Key}}' \
--header 'Content-Type: application/json' \
--header 'User-Agent: NomeDaAutomacao/1.0' \
--data-raw '{
"pessoaVendedorId": "11559",
"terminalFisicoId": 186,
"referencia": "REF 010",
"ValorTotalPedido": "13.00",
"urlRetorno": null,
"produtosPedido": [
{
"Id": "7169",
"Nome": "Produto genérico",
"Valor": 1.11,
"Quantidade": 1
}
],
"pedidoFormasPagamento": [
{
"FormaPagamento": {
"Id":21
},
"QuantidadeMaximaParcelas": 1,
"AdquirentePadrao": "REDE",
"TipoFinanciamento": 1,
"QuantidadeFixaParcelas": 3
}
]
}'
{
"data": "19/04/2021 16:04:36.1466",
"pedido": {
"id": 2054,
"referencia": "REF 010",
"obs": null,
"data": "19/04/2021 16:04:35.9747",
"hora": "16:04:35",
"valor": 1.11,
"valorFormat": "1,11",
"valorAberto": 1.11,
"valorAbertoFormat": "1,11",
"valorOriginalPago": 0.0,
"valorOriginalPagoFormat": "0,00",
"valorOriginalEmPagamento": 0.0,
"valorOriginalEmPagamentoFormat": "0,00",
"tipo": "Interno",
"quantidade": 1,
"quantidadeTransacoes": 0,
"pedidoStatus": {
"id": 5,
"nome": "Aberto"
},
"pessoa": {
"id": 11559,
"nomeRazaoSocial": "Pessoa Genérica",
"sobrenomeNomeFantasia": "Pessoa Genérica",
"cpfCnpjFormat": "596.206.800-90",
"email": "[email protected]"
},
"produtos": [
{
"itemProdutoId": 401456,
"id": 7169,
"nome": "Produto genérico",
"descricao": "Produto genérico",
"nomeExibe": "Produto ge",
"quantidade": 1,
"valor": 1.11,
"valorFormat": "1,11",
"fotoThumbnail": ""
}
]
}
}
Updated 9 days ago