Moub - API de Integração
Início ¶
Importante
-
Este material tem por objetivo apresentar o contrato de integração do seu sistema com a plataforma Moub da 4C;
-
A url dessa documentação aponta para o nosso Sandbox e tem o propósito de servir ao processo de homologação. Quando aprovada, sua empresa precisará apontar para o endereço oficial;
-
Esta documentação pode ser alterada no futuro sem aviso prévio.
Atenção!
- Todas as nossas comunicações são assinadas com JSON Web Token. As chaves usadas podem ser de convênios ou estabelecimentos, dependendo do tipo de operação. Maiores detalhes podem ser obtidos nas instruções de criação dos tokens
Pagamentos ¶
API de transações para pagamentos
Geração do Token ¶
Gera o Token que garante a segurança e autenticidade das transações no Moub Pagamentos.
Criação do TokenGET/token/estabelecimento/get
- Informe a chave de integração presente no cadastro de cada estabelecimento
Example URI
Gerar o TokenHeaders
Accept: application/json
Content-Type: application/json
key: chave-unica-de-integracao200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"token": "Token de Autorização"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"token": {
"type": "string",
"description": "Token de autorização"
}
}
}401Headers
Content-Type: application/jsonBody
{
"code": 401,
"message": "Motivo da transação não ter sido autorizada"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da transação não ter sido autorizada"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}Autorizar Pagamento ¶
Autorizar PagamentoGET/payment/generate
Example URI
Payload de AutorizaçãoHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
key: Chave de integração do estabelecimento
pdvId: Identificador do pdv que solicitará a autorização
userName: Nome do usuário logado no pdv
valorEmCentavos: Valor da venda em centavos200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"authorization": "uuid de autorização",
"qrCode": "Imagem binária do qrcode pronto para exibição em tela"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"authorization": {
"type": "string"
},
"qrCode": {
"type": "string"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Verificar Pagamento ¶
Verificar PagamentoGET/payment/check
Example URI
Payload de PagamentoHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
Auth: uuid de autorização retornado no endpoint de geração de autorização200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"pagamento": {
"autorizacao": {
"uuid": "uuid de autorização",
"estabelecimento": {
"razaoSocial": "Razão Social do Estabelecimento",
"nomeFantasia": "Nome Fantasia do Estabelecimento",
"cnpj": "CNPJ do Estabelecimento"
},
"pdvId": "Identificador do pdv",
"userName": "Identificador do usuário do pdv",
"valor": "Valor total das compras informada no pdv em centavos"
},
"valor": "valor do débito em centavos",
"data": "00/00/0000 00:00:00 AM/PM",
"saldo": 110,
"autorizacaoParaCancelamento": "ABC123"
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"pagamento": {
"type": "object",
"properties": {
"autorizacao": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "uuid de autorização"
},
"estabelecimento": {
"type": "object",
"properties": {
"razaoSocial": {
"type": "string",
"description": "Razão Social do Estabelecimento"
},
"nomeFantasia": {
"type": "string",
"description": "Nome Fantasia do Estabelecimento"
},
"cnpj": {
"type": "string",
"description": "CNPJ do Estabelecimento"
}
},
"description": "Dados do Estabelecimento"
},
"pdvId": {
"type": "string",
"description": "Identificador do pdv"
},
"userName": {
"type": "string",
"description": "Identificador do usuário do pdv"
},
"valor": {
"type": "string"
}
},
"description": "Dados da autorização"
},
"valor": {
"type": "string"
},
"data": {
"type": "string"
},
"saldo": {
"type": "number",
"description": "saldo do boneficiário"
},
"autorizacaoParaCancelamento": {
"type": "string",
"description": "Código de autorização para cancelamento"
}
},
"description": "Dados do pagamento"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}401Headers
Content-Type: application/jsonBody
{
"code": 401,
"message": "Motivo da transação não ter sido autorizada"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da transação não ter sido autorizada"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Debitar via Cartão ¶
Debitar via CartãoPOST/debit/cartao
Example URI
Payload de DébitoHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
Cartao: Número do cartão do beneficiário
Senha: Senha do cartãoBody
{
"valorEmCentavos": 0,
"autorizacaoPagamento": "uuid de autorização retornado no endpoint de geração de autorização"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"valorEmCentavos": {
"type": "number",
"description": "valor do débito em centavos"
},
"autorizacaoPagamento": {
"type": "string",
"description": "uuid de autorização retornado no endpoint de geração de autorização"
}
}
}200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"saldo": 0,
"aviso": "Se houver, imprimir no pdv",
"autorizacaoParaCancelamento": "ABC123",
"msgBeneficiario": "Comprovante Beneficiário",
"msgEstabelecimento": "Comprovante Estabelecimento"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"saldo": {
"type": "number",
"description": "Saldo em centavos"
},
"aviso": {
"type": "string",
"description": "Se houver, imprimir no pdv"
},
"autorizacaoParaCancelamento": {
"type": "string",
"description": "Código de autorização para cancelamento"
},
"msgBeneficiario": {
"type": "string",
"description": "Comprovante Beneficiário"
},
"msgEstabelecimento": {
"type": "string",
"description": "Comprovante Estabelecimento"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}401Headers
Content-Type: application/jsonBody
{
"code": 401,
"message": "Motivo da transação não ter sido autorizada"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da transação não ter sido autorizada"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado OU outro motivo",
"saldo": 0
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado OU outro motivo"
},
"saldo": {
"type": "number",
"description": "Saldo em centavos quando for o caso de saldo insuficiente"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Estornar débito ¶
Estornar débitoPOST/debit/estorno
Example URI
Payload de DébitoHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
key: Chave de integração do estabelecimento
pdvId: Identificador do pdv que solicitará a autorização
userName: Nome do usuário logado no pdv
valorEmCentavos: Valor da venda em centavos
AutorizacaoParaCancelamento: Autorização para cancelamento que foi informada no retorno dos débitos (via cartão e qr-code) ou na confirmação do pagamento200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}401Headers
Content-Type: application/jsonBody
{
"code": 401,
"message": "Motivo da transação não ter sido autorizada"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da transação não ter sido autorizada"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado OU outro motivo",
"saldo": 0
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado OU outro motivo"
},
"saldo": {
"type": "number",
"description": "Saldo em centavos quando for o caso de saldo insuficiente"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Fidelidade ¶
API de transações para fidelidades
Geração do Token ¶
Gera o Token que garante a segurança e autenticidade das transações no Moub Fidelidade.
Criação do TokenGET/token/convenio/get/{key}
Example URI
- key
string(required) Example: xpto-123Informe a chave de integração presente no cadastro de cada convênio
Gerar o TokenHeaders
Accept: application/json
Content-Type: application/json
key: chave-unica-de-integracao200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"token": "Token de Autorização"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"token": {
"type": "string",
"description": "Token de autorização"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}Consultar Prêmio ¶
Consultar PrêmioGET/loyalty/premiacao/get
Nota: Retorna o prêmio oferecido pelo convênio
Example URI
PremiaçãoHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token200Headers
Content-Type: application/jsonBody
{
"code": 200,
"awards": [
{
"award": "Um Chopp estupidamente gelado! 🍺",
"score": 6,
"productCode": "XPTO123"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"awards": {
"type": "array",
"description": "Prêmios"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Motivo da rejeição"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Consultar Pontos ¶
Consultar PontosGET/loyalty/get/{doc}
Example URI
- doc
string(required) Example: cpf, cnpj ou telefonePesquisa pelo CPF/CNPJ ou Telefone
Consultar PontosHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
celular: false (caso a pesquisa esteja sendo feita pelo telefone, coloque como true)200Headers
Content-Type: application/jsonBody
{
"code": 200,
"participant": {
"firstName": "Nome do beneficiaŕio",
"lastName": "Sobrenome do beneficiaŕio",
"doc": "CPF/CNPJ do beneficiário",
"fullAddress": {
"address": "Rua",
"district": "bairro",
"city": "cidade",
"state": "uf",
"phoneNumber": "telefone"
}
},
"balance": {
"score": 0,
"percentage": 0,
"canRescue": false,
"loyalty": {
"valueInCents": 0
},
"lastScore": "Data da última pontuação"
},
"awards": {
"availableValueToRescueInCents": 0,
"availableItems": [
{
"award": "Um Chopp estupidamente gelado! 🍺",
"score": 6,
"productCode": "XPTO123"
}
]
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"participant": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "Nome do beneficiaŕio"
},
"lastName": {
"type": "string",
"description": "Sobrenome do beneficiaŕio"
},
"doc": {
"type": "string",
"description": "CPF/CNPJ do beneficiário"
},
"fullAddress": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Rua"
},
"district": {
"type": "string",
"description": "bairro"
},
"city": {
"type": "string",
"description": "cidade"
},
"state": {
"type": "string",
"description": "uf"
},
"phoneNumber": {
"type": "string",
"description": "telefone"
}
}
}
}
},
"balance": {
"type": "object",
"properties": {
"score": {
"type": "number",
"description": "Total de pontos"
},
"percentage": {
"type": "number",
"description": "Percentual atingido"
},
"canRescue": {
"type": "boolean",
"description": "Total de pontos"
},
"loyalty": {
"type": "object",
"properties": {
"valueInCents": {
"type": "number",
"description": "valor da compra informado em centavos"
}
}
},
"lastScore": {
"type": "string",
"description": "Ultima pontuação"
}
}
},
"awards": {
"type": "object",
"properties": {
"availableValueToRescueInCents": {
"type": "number",
"description": "Valor em centavos do que pode ser resgatado (valor máximo)"
},
"availableItems": {
"type": "array"
}
}
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Motivo da rejeição"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Pontuar ¶
PontuarPOST/loyalty/save/{doc}
Importante
Quando o usuário indicado no CPF/CNPJ não existir, você precisará salvá-lo antes de enviar a pontuação.
Example URI
- doc
string(required) Example: cpf, cnpj ou telefonePesquisa pelo CPF/CNPJ ou Telefone
PontuarHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
celular: false (caso a pesquisa esteja sendo feita pelo telefone, coloque como true)Body
{
"valueInCents": 0,
"beneficiario": "Nome do Cliente",
"operador": "Nome do Operador que fez a Pontuação",
"nrDocumento": "Número do Documento da Venda [Opcional]",
"saleId": "Id da Venda [Opcional]"
}201Headers
Content-Type: application/jsonBody
{
"code": 201,
"message": "Mensagem de Retorno",
"id": "Id da transação",
"score": 0,
"totalScore": 0
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"id": {
"type": "string",
"description": "Id da transação"
},
"score": {
"type": "number",
"description": "Total realizados"
},
"totalScore": {
"type": "number",
"description": "Total de pontos"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Motivo da rejeição"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Excluir Pontuação ¶
Excluir PontuaçãoDELETE/loyalty/delete/{key}
Example URI
- key
string(required) Example: unique-score-keyPesquisa pela chave do ponto que é sempre retornada quando uma pontuação é bem sucedida
ExcluirHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Motivo da rejeição"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Excluir Pontuação por id da Venda ¶
Excluir Pontuação por id da VendaDELETE/loyalty/delete/venda-id/{key}
Example URI
- key
string(required) Example: unique-pdv-keyPesquisa pelo id da venda no pdv
ExcluirHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Motivo da rejeição"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Resgatar ¶
ResgatarPOST/loyalty/rescue/{doc}
Example URI
- doc
string(required) Example: cpf, cnpj ou telefonePesquisa pelo CPF/CNPJ ou Telefone
ResgatarHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
celular: false (caso a pesquisa esteja sendo feita pelo telefone, coloque como true)Body
{
"score": 0
}200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"voucher": "00-AbCdEf"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"voucher": {
"type": "string",
"description": "Id do comprovante de retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Motivo da rejeição"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Estornar Resgate ¶
Estornar ResgatePOST/loyalty/rescue/reversal/{key}
Example URI
- key
string(required) Example: 00-AbC123Código de Autorização informado no retorno do resgate
EstornarHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token201Headers
Content-Type: application/jsonBody
{
"code": 201,
"message": "Mensagem de Retorno",
"authorization": "abc123",
"reversedScore": 0,
"totalScore": 0
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"authorization": {
"type": "string",
"description": "Id do autorização do estorno"
},
"reversedScore": {
"type": "number",
"description": "Total de pontos que foram estornados"
},
"totalScore": {
"type": "number",
"description": "Total de pontos"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Motivo da rejeição"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Salvar Beneficiário ¶
Importante
Sempre que a consulta de pontos não retornar um beneficiário, o mesmo preciará ser cadastrado antes de pontuar, sob pena da ação ser rejeitada.
Salvar BeneficiárioPOST/beneficiario/post/{doc}
Example URI
- doc
string(required) Example: cpf ou cnpjPesquisa pelo CPF/CNPJ
Salvar BeneficiárioHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-tokenBody
{
"firstName": "Nome do beneficiaŕio",
"lastname": "Sobrenome do beneficiaŕio",
"address": "Rua",
"email": "email@email.com",
"phone": "00000000000",
"district": "bairro",
"city": "cidade",
"state": "uf",
"phoneNumber": "telefone"
}201Headers
Content-Type: application/jsonBody
{
"code": 201,
"message": "Mensagem de Retorno"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Motivo da rejeição"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}