batman: documentação inicial
This commit is contained in:
+331
@@ -0,0 +1,331 @@
|
||||
{
|
||||
"openapi": "3.0.0",
|
||||
"info": {
|
||||
"title": "Integração - RecicleBem x Socin",
|
||||
"description": "Coleção de endpoints para integração RecicleBem x Socin.",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"components": {
|
||||
"securitySchemes": {
|
||||
"ApiKeyAuth": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "X-WS-TOKEN-AUTH",
|
||||
"description": "Chave de API para integração"
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"PaymentStatus": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"total",
|
||||
"transaction_id",
|
||||
"status"
|
||||
],
|
||||
"properties": {
|
||||
"total": {
|
||||
"type": "number",
|
||||
"description": "O valor monetário total.",
|
||||
"example": 25.4
|
||||
},
|
||||
"transaction_id": {
|
||||
"type": "string",
|
||||
"description": "UUID único da autorização"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "O status da autorização",
|
||||
"enum": [
|
||||
"authorized",
|
||||
"insufficient-funds",
|
||||
"rejected",
|
||||
"pending",
|
||||
"cancelled"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"CreateAuthorizationPayload": {
|
||||
"type": "object",
|
||||
"description": "Representa uma solicitação de pagamento via RecicleBem.",
|
||||
"required": [
|
||||
"id",
|
||||
"payment_total",
|
||||
"items_quantity",
|
||||
"cupom_fiscal",
|
||||
"empresa",
|
||||
"pdv"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"description": "Identificador da venda gerado pelo PDV. Caso haja múltiplos pagamentos via RecicleBem na venda, utilize o mesmo ID."
|
||||
},
|
||||
"payment_total": {
|
||||
"type": "number",
|
||||
"format": "float",
|
||||
"description": "Valor total do pagamento com o saldo do RecicleBem",
|
||||
"example": 50.25
|
||||
},
|
||||
"items_quantity": {
|
||||
"type": "integer",
|
||||
"description": "Quantidade de itens na compra",
|
||||
"example": 3
|
||||
},
|
||||
"cupom_fiscal": {
|
||||
"type": "string",
|
||||
"description": "Número do cupom fiscal",
|
||||
"example": "000123"
|
||||
},
|
||||
"empresa": {
|
||||
"type": "integer",
|
||||
"description": "Local de compra - ID da tabela de empresa da C5",
|
||||
"example": 224
|
||||
},
|
||||
"pdv": {
|
||||
"type": "integer",
|
||||
"description": "ID do PDV",
|
||||
"example": 5
|
||||
}
|
||||
}
|
||||
},
|
||||
"CreateAuthorizationResponse": {
|
||||
"type": "object",
|
||||
"description": "Um objeto com o ID da solicitação registrada.",
|
||||
"required": [
|
||||
"transaction_id",
|
||||
"qr_code"
|
||||
],
|
||||
"properties": {
|
||||
"transaction_id": {
|
||||
"type": "string",
|
||||
"description": "UUID da transação registrada."
|
||||
},
|
||||
"qr_code": {
|
||||
"type": "string",
|
||||
"description": "Representação em QRCode do UUID da transação."
|
||||
}
|
||||
}
|
||||
},
|
||||
"FinishPaymentRequest": {
|
||||
"type": "object",
|
||||
"description": "Representa uma solicitação de finalização de pagamento via RecicleBem.",
|
||||
"required": [
|
||||
"id"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"description": "Identificador da venda gerado pelo PDV. Caso haja múltiplos pagamentos via RecicleBem na venda, utilize o mesmo ID."
|
||||
}
|
||||
}
|
||||
},
|
||||
"PaymentReversalRequest": {
|
||||
"type": "object",
|
||||
"description": "Representa uma solicitação de estorno de pagamento via RecicleBem.",
|
||||
"required": [
|
||||
"id"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"description": "Identificador da venda gerado pelo PDV. Caso haja múltiplos pagamentos via RecicleBem na venda, todos serão estornados."
|
||||
}
|
||||
}
|
||||
},
|
||||
"PaymentReversal": {
|
||||
"type": "object",
|
||||
"description": "Representa um pagamento estornado",
|
||||
"required": [
|
||||
"req_uuid",
|
||||
"uuid_estorno",
|
||||
"valor"
|
||||
],
|
||||
"properties": {
|
||||
"req_uuid": {
|
||||
"type": "string",
|
||||
"description": "ID da transação"
|
||||
},
|
||||
"uuid_estorno": {
|
||||
"type": "string",
|
||||
"description": "ID do movimento de estorno"
|
||||
},
|
||||
"valor": {
|
||||
"type": "number",
|
||||
"description": "Valor do estorno"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
"url": "http://vitruvioteste.barceloscia.com.br:9090",
|
||||
"description": "Ambiente de testes"
|
||||
},
|
||||
{
|
||||
"url": "http://davinti.barceloscia.com.br:9090/",
|
||||
"description": "Ambiente de produção"
|
||||
}
|
||||
],
|
||||
"security": [
|
||||
{
|
||||
"ApiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"/rest/api/integration/tokenauth/rb_socin_autorizacao": {
|
||||
"get": {
|
||||
"summary": "Consulta o status das autorizações para determinado pagamento.\n",
|
||||
"description": "Aceita o ID do pagamento e retorna as autorizações.",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "query",
|
||||
"type": "string",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Pagamento encontrado",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/PaymentStatus"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "ID não encontrado nos query parameters"
|
||||
},
|
||||
"404": {
|
||||
"description": "Pagamento não encontrado"
|
||||
},
|
||||
"500": {
|
||||
"description": "Erro interno"
|
||||
}
|
||||
}
|
||||
},
|
||||
"post": {
|
||||
"summary": "Registra uma nova autorização no pagamento especificado.",
|
||||
"description": "Aceita os dados do pagamento e retorna o ID da transação.\n",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/CreateAuthorizationPayload"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "Solicitação criada e registrada",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/CreateAuthorizationResponse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Corpo da requisição inválido"
|
||||
},
|
||||
"500": {
|
||||
"description": "Erro interno"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/rest/api/integration/tokenauth/rb_socin_estorno": {
|
||||
"post": {
|
||||
"summary": "Estorna o pagamento especificado.",
|
||||
"description": "Cancela todos os movimentos atrelados à este pagamento.\n",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/PaymentReversalRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Pagamento estornado com sucesso",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/PaymentReversal"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Corpo da requisição inválido"
|
||||
},
|
||||
"500": {
|
||||
"description": "Erro interno"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/rest/api/integration/tokenauth/rb_socin_finalizar": {
|
||||
"post": {
|
||||
"summary": "Finaliza o pagamento especificado.",
|
||||
"description": "Efetiva as baixas de saldo autorizadas e cancela as pendentes, retornando todas as autorizações registradas neste pagamento.\n",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/FinishPaymentRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Pagamento finalizado com sucesso",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/PaymentStatus"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Corpo da requisição inválido"
|
||||
},
|
||||
"409": {
|
||||
"description": "Tentativa de finalização não sucedida.",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/PaymentStatus"
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Erro interno"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
}
|
||||
Reference in New Issue
Block a user