diff --git a/openapi/openapi.json b/openapi/openapi.json index de4587d7..5fd29c16 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -1,2075 +1,2023 @@ { - "openapi": "3.0.1", - "info": { - "title": "Biz-Events Service", - "description": "Microservice for exposing REST APIs about payment receipts.", - "termsOfService": "https://www.pagopa.gov.it/", - "version": "0.1.27" + "openapi" : "3.0.1", + "info" : { + "title" : "Biz-Events Service", + "description" : "Microservice for exposing REST APIs about payment receipts.", + "termsOfService" : "https://www.pagopa.gov.it/", + "version" : "0.1.27" }, - "servers": [ - { - "url": "http://localhost", - "description": "Generated server url" - } - ], - "paths": { - "/events/organizations/{organization-fiscal-code}/iuvs/{iuv}": { - "get": { - "tags": [ - "Biz-Events Helpdesk" - ], - "summary": "Retrieve the biz-event given the organization fiscal code and IUV.", - "operationId": "getBizEventByOrganizationFiscalCodeAndIuv", - "parameters": [ - { - "name": "organization-fiscal-code", - "in": "path", - "description": "The fiscal code of the Organization.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "iuv", - "in": "path", - "description": "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount", - "required": true, - "schema": { - "type": "string" - } + "servers" : [ { + "url" : "http://localhost", + "description" : "Generated server url" + } ], + "paths" : { + "/events/organizations/{organization-fiscal-code}/iuvs/{iuv}" : { + "get" : { + "tags" : [ "Biz-Events Helpdesk" ], + "summary" : "Retrieve the biz-event given the organization fiscal code and IUV.", + "operationId" : "getBizEventByOrganizationFiscalCodeAndIuv", + "parameters" : [ { + "name" : "organization-fiscal-code", + "in" : "path", + "description" : "The fiscal code of the Organization.", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "200": { - "description": "Obtained biz-event.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, { + "name" : "iuv", + "in" : "path", + "description" : "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "Obtained biz-event.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BizEvent" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BizEvent" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the biz-event.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the biz-event.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "422": { - "description": "Unable to process the request.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "422" : { + "description" : "Unable to process the request.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/events/{biz-event-id}": { - "get": { - "tags": [ - "Biz-Events Helpdesk" - ], - "summary": "Retrieve the biz-event given its id.", - "operationId": "getBizEvent", - "parameters": [ - { - "name": "biz-event-id", - "in": "path", - "description": "The id of the biz-event.", - "required": true, - "schema": { - "type": "string" - } + "/events/{biz-event-id}" : { + "get" : { + "tags" : [ "Biz-Events Helpdesk" ], + "summary" : "Retrieve the biz-event given its id.", + "operationId" : "getBizEvent", + "parameters" : [ { + "name" : "biz-event-id", + "in" : "path", + "description" : "The id of the biz-event.", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "200": { - "description": "Obtained biz-event.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "200" : { + "description" : "Obtained biz-event.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BizEvent" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BizEvent" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the biz-event.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the biz-event.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "422": { - "description": "Unable to process the request.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "422" : { + "description" : "Unable to process the request.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/info": { - "get": { - "tags": [ - "Home" - ], - "summary": "health check", - "description": "Return OK if application is started", - "operationId": "healthCheck", - "responses": { - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "/info" : { + "get" : { + "tags" : [ "Home" ], + "summary" : "health check", + "description" : "Return OK if application is started", + "operationId" : "healthCheck", + "responses" : { + "200" : { + "description" : "OK", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppInfo" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AppInfo" } } } }, - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "400" : { + "description" : "Bad Request", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Unauthorized", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "403": { - "description": "Forbidden", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "403" : { + "description" : "Forbidden", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/organizations/{organizationfiscalcode}/receipts/{iur}": { - "get": { - "tags": [ - "Payment Receipts REST APIs" - ], - "summary": "The organization get the receipt for the creditor institution using IUR.", - "operationId": "getOrganizationReceiptIur", - "parameters": [ - { - "name": "organizationfiscalcode", - "in": "path", - "description": "The fiscal code of the Organization.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "iur", - "in": "path", - "description": "The unique reference of the operation assigned to the payment (Payment Token).", - "required": true, - "schema": { - "type": "string" - } + "/organizations/{organizationfiscalcode}/receipts/{iur}" : { + "get" : { + "tags" : [ "Payment Receipts REST APIs" ], + "summary" : "The organization get the receipt for the creditor institution using IUR.", + "operationId" : "getOrganizationReceiptIur", + "parameters" : [ { + "name" : "organizationfiscalcode", + "in" : "path", + "description" : "The fiscal code of the Organization.", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "iur", + "in" : "path", + "description" : "The unique reference of the operation assigned to the payment (Payment Token).", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "200": { - "description": "Obtained receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "200" : { + "description" : "Obtained receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CtReceiptModelResponse" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CtReceiptModelResponse" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "422": { - "description": "Unable to process the request.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "422" : { + "description" : "Unable to process the request.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/organizations/{organizationfiscalcode}/receipts/{iur}/paymentoptions/{iuv}": { - "get": { - "tags": [ - "Payment Receipts REST APIs" - ], - "summary": "The organization get the receipt for the creditor institution using IUV and IUR.", - "operationId": "getOrganizationReceiptIuvIur", - "parameters": [ - { - "name": "organizationfiscalcode", - "in": "path", - "description": "The fiscal code of the Organization.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "iur", - "in": "path", - "description": "The unique reference of the operation assigned to the payment (Payment Token).", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "iuv", - "in": "path", - "description": "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount", - "required": true, - "schema": { - "type": "string" - } + "/organizations/{organizationfiscalcode}/receipts/{iur}/paymentoptions/{iuv}" : { + "get" : { + "tags" : [ "Payment Receipts REST APIs" ], + "summary" : "The organization get the receipt for the creditor institution using IUV and IUR.", + "operationId" : "getOrganizationReceiptIuvIur", + "parameters" : [ { + "name" : "organizationfiscalcode", + "in" : "path", + "description" : "The fiscal code of the Organization.", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "iur", + "in" : "path", + "description" : "The unique reference of the operation assigned to the payment (Payment Token).", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "200": { - "description": "Obtained receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, { + "name" : "iuv", + "in" : "path", + "description" : "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "Obtained receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CtReceiptModelResponse" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CtReceiptModelResponse" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "422": { - "description": "Unable to process the request.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "422" : { + "description" : "Unable to process the request.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/transactions": { - "get": { - "tags": [ - "IO Transactions REST APIs" - ], - "summary": "Retrieve the paged transaction list from biz events.", - "operationId": "getTransactionList", - "parameters": [ - { - "name": "x-fiscal-code", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "x-continuation-token", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 10 - } + "/transactions" : { + "get" : { + "tags" : [ "IO Transactions REST APIs" ], + "summary" : "Retrieve the paged transaction list from biz events.", + "operationId" : "getTransactionList", + "parameters" : [ { + "name" : "x-fiscal-code", + "in" : "header", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "x-continuation-token", + "in" : "header", + "required" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "size", + "in" : "query", + "required" : false, + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 10 } - ], - "responses": { - "200": { - "description": "Obtained transaction list.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "200" : { + "description" : "Obtained transaction list.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } }, - "x-continuation-token": { - "description": "continuation token for paginated query", - "style": "simple", - "schema": { - "type": "string" + "x-continuation-token" : { + "description" : "continuation token for paginated query", + "style" : "simple", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TransactionListItem" - } + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransactionListWrapResponse" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the transaction.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the transaction.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "*/*" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/transactions/{event-id}/pdf": { - "get": { - "tags": [ - "IO Transactions REST APIs" - ], - "summary": "Retrieve the PDF receipt given event id.", - "operationId": "getPDFReceipt", - "parameters": [ - { - "name": "x-fiscal-code", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "event-id", - "in": "path", - "description": "The id of the event.", - "required": true, - "schema": { - "type": "string" - } + "/transactions/{event-id}/pdf" : { + "get" : { + "tags" : [ "IO Transactions REST APIs" ], + "summary" : "Retrieve the PDF receipt given event id.", + "operationId" : "getPDFReceipt", + "parameters" : [ { + "name" : "x-fiscal-code", + "in" : "header", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "event-id", + "in" : "path", + "description" : "The id of the event.", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "200": { - "description": "Obtained the PDF receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "200" : { + "description" : "Obtained the PDF receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/pdf": {} + "content" : { + "application/pdf" : { } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "422": { - "description": "Unprocessable receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "422" : { + "description" : "Unprocessable receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/transactions/{transaction-id}": { - "get": { - "tags": [ - "IO Transactions REST APIs" - ], - "summary": "Retrieve the transaction details given its id.", - "operationId": "getTransactionDetails", - "parameters": [ - { - "name": "x-fiscal-code", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "transaction-id", - "in": "path", - "description": "The id of the transaction.", - "required": true, - "schema": { - "type": "string" - } + "/transactions/{transaction-id}" : { + "get" : { + "tags" : [ "IO Transactions REST APIs" ], + "summary" : "Retrieve the transaction details given its id.", + "operationId" : "getTransactionDetails", + "parameters" : [ { + "name" : "x-fiscal-code", + "in" : "header", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "transaction-id", + "in" : "path", + "description" : "The id of the transaction.", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "200": { - "description": "Obtained transaction details.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "200" : { + "description" : "Obtained transaction details.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TransactionDetailResponse" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransactionDetailResponse" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the transaction.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the transaction.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/transactions/{transaction-id}/disable": { - "post": { - "tags": [ - "IO Transactions REST APIs" - ], - "summary": "Disable the transaction details given its id.", - "operationId": "disableTransaction", - "parameters": [ - { - "name": "x-fiscal-code", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "transaction-id", - "in": "path", - "description": "The id of the transaction.", - "required": true, - "schema": { - "type": "string" - } + "/transactions/{transaction-id}/disable" : { + "post" : { + "tags" : [ "IO Transactions REST APIs" ], + "summary" : "Disable the transaction details given its id.", + "operationId" : "disableTransaction", + "parameters" : [ { + "name" : "x-fiscal-code", + "in" : "header", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "transaction-id", + "in" : "path", + "description" : "The id of the transaction.", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "200": { - "description": "Disabled Transactions.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "200" : { + "description" : "Disabled Transactions.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": {} + "content" : { + "application/json" : { } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the transaction.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the transaction.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] } }, - "components": { - "schemas": { - "ProblemJson": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" - }, - "status": { - "maximum": 600, - "minimum": 100, - "type": "integer", - "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", - "format": "int32", - "example": 200 - }, - "detail": { - "type": "string", - "description": "A human readable explanation specific to this occurrence of the problem.", - "example": "There was an error processing the request" + "components" : { + "schemas" : { + "ProblemJson" : { + "type" : "object", + "properties" : { + "title" : { + "type" : "string", + "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" + }, + "status" : { + "maximum" : 600, + "minimum" : 100, + "type" : "integer", + "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.", + "format" : "int32", + "example" : 200 + }, + "detail" : { + "type" : "string", + "description" : "A human readable explanation specific to this occurrence of the problem.", + "example" : "There was an error processing the request" } } }, - "TransactionListItem": { - "type": "object", - "properties": { - "transactionId": { - "type": "string" + "TransactionListItem" : { + "type" : "object", + "properties" : { + "transactionId" : { + "type" : "string" + }, + "payeeName" : { + "type" : "string" }, - "payeeName": { - "type": "string" + "payeeTaxCode" : { + "type" : "string" }, - "payeeTaxCode": { - "type": "string" + "amount" : { + "type" : "string" }, - "amount": { - "type": "string" + "transactionDate" : { + "type" : "string" }, - "transactionDate": { - "type": "string" + "isCart" : { + "type" : "boolean" }, - "isCart": { - "type": "boolean" + "isPayer" : { + "type" : "boolean" }, - "isPayer": { - "type": "boolean" + "isDebtor" : { + "type" : "boolean" } } }, - "CartItem": { - "type": "object", - "properties": { - "subject": { - "type": "string" + "TransactionListWrapResponse" : { + "type" : "object", + "properties" : { + "transactions" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/TransactionListItem" + } + } + } + }, + "CartItem" : { + "type" : "object", + "properties" : { + "subject" : { + "type" : "string" }, - "amount": { - "type": "string" + "amount" : { + "type" : "string" }, - "payee": { - "$ref": "#/components/schemas/UserDetail" + "payee" : { + "$ref" : "#/components/schemas/UserDetail" }, - "debtor": { - "$ref": "#/components/schemas/UserDetail" + "debtor" : { + "$ref" : "#/components/schemas/UserDetail" }, - "refNumberValue": { - "type": "string" + "refNumberValue" : { + "type" : "string" }, - "refNumberType": { - "type": "string" + "refNumberType" : { + "type" : "string" } } }, - "InfoTransaction": { - "type": "object", - "properties": { - "brand": { - "type": "string" + "InfoTransactionView" : { + "type" : "object", + "properties" : { + "transactionId" : { + "type" : "string" + }, + "authCode" : { + "type" : "string" }, - "brandLogo": { - "type": "string" + "rrn" : { + "type" : "string" }, - "clientId": { - "type": "string" + "transactionDate" : { + "type" : "string" }, - "paymentMethodName": { - "type": "string" + "pspName" : { + "type" : "string" }, - "type": { - "type": "string" + "walletInfo" : { + "$ref" : "#/components/schemas/WalletInfo" + }, + "paymentMethod" : { + "type" : "string", + "enum" : [ "BBT", "BP", "AD", "CP", "PO", "OBEP", "JIF", "MYBK", "PPAL", "UNKNOWN" ] + }, + "payer" : { + "$ref" : "#/components/schemas/UserDetail" + }, + "amount" : { + "type" : "string" + }, + "fee" : { + "type" : "string" + }, + "origin" : { + "type" : "string", + "enum" : [ "INTERNAL", "PM", "NDP001PROD", "NDP002PROD", "NDP003PROD", "UNKNOWN" ] } } }, - "TransactionDetailResponse": { - "type": "object", - "properties": { - "infoTransaction": { - "$ref": "#/components/schemas/InfoTransaction" - }, - "carts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartItem" + "TransactionDetailResponse" : { + "type" : "object", + "properties" : { + "infoTransaction" : { + "$ref" : "#/components/schemas/InfoTransactionView" + }, + "carts" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/CartItem" } } } }, - "UserDetail": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "taxCode": { - "type": "string" + "UserDetail" : { + "type" : "object", + "properties" : { + "name" : { + "type" : "string" + }, + "taxCode" : { + "type" : "string" } } }, - "CtReceiptModelResponse": { - "required": [ - "channelDescription", - "companyName", - "creditorReferenceId", - "debtor", - "description", - "fiscalCode", - "idChannel", - "idPSP", - "noticeNumber", - "outcome", - "paymentAmount", - "pspCompanyName", - "receiptId", - "transferList" - ], - "type": "object", - "properties": { - "receiptId": { - "type": "string" - }, - "noticeNumber": { - "type": "string" - }, - "fiscalCode": { - "type": "string" - }, - "outcome": { - "type": "string" - }, - "creditorReferenceId": { - "type": "string" - }, - "paymentAmount": { - "type": "number" - }, - "description": { - "type": "string" - }, - "companyName": { - "type": "string" - }, - "officeName": { - "type": "string" - }, - "debtor": { - "$ref": "#/components/schemas/Debtor" - }, - "transferList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TransferPA" + "WalletInfo" : { + "type" : "object", + "properties" : { + "accountHolder" : { + "type" : "string" + }, + "brand" : { + "type" : "string" + }, + "blurredNumber" : { + "type" : "string" + }, + "maskedEmail" : { + "type" : "string" + } + } + }, + "CtReceiptModelResponse" : { + "required" : [ "channelDescription", "companyName", "creditorReferenceId", "debtor", "description", "fiscalCode", "idChannel", "idPSP", "noticeNumber", "outcome", "paymentAmount", "pspCompanyName", "receiptId", "transferList" ], + "type" : "object", + "properties" : { + "receiptId" : { + "type" : "string" + }, + "noticeNumber" : { + "type" : "string" + }, + "fiscalCode" : { + "type" : "string" + }, + "outcome" : { + "type" : "string" + }, + "creditorReferenceId" : { + "type" : "string" + }, + "paymentAmount" : { + "type" : "number" + }, + "description" : { + "type" : "string" + }, + "companyName" : { + "type" : "string" + }, + "officeName" : { + "type" : "string" + }, + "debtor" : { + "$ref" : "#/components/schemas/Debtor" + }, + "transferList" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/TransferPA" } }, - "idPSP": { - "type": "string" + "idPSP" : { + "type" : "string" }, - "pspFiscalCode": { - "type": "string" + "pspFiscalCode" : { + "type" : "string" }, - "pspPartitaIVA": { - "type": "string" + "pspPartitaIVA" : { + "type" : "string" }, - "pspCompanyName": { - "type": "string" + "pspCompanyName" : { + "type" : "string" }, - "idChannel": { - "type": "string" + "idChannel" : { + "type" : "string" }, - "channelDescription": { - "type": "string" + "channelDescription" : { + "type" : "string" }, - "payer": { - "$ref": "#/components/schemas/Payer" + "payer" : { + "$ref" : "#/components/schemas/Payer" }, - "paymentMethod": { - "type": "string" + "paymentMethod" : { + "type" : "string" }, - "fee": { - "type": "number" + "fee" : { + "type" : "number" }, - "primaryCiIncurredFee": { - "type": "number" + "primaryCiIncurredFee" : { + "type" : "number" }, - "idBundle": { - "type": "string" + "idBundle" : { + "type" : "string" }, - "idCiBundle": { - "type": "string" + "idCiBundle" : { + "type" : "string" }, - "paymentDateTime": { - "type": "string", - "format": "date" + "paymentDateTime" : { + "type" : "string", + "format" : "date" }, - "applicationDate": { - "type": "string", - "format": "date" + "applicationDate" : { + "type" : "string", + "format" : "date" }, - "transferDate": { - "type": "string", - "format": "date" + "transferDate" : { + "type" : "string", + "format" : "date" }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MapEntry" + "metadata" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MapEntry" } } } }, - "Debtor": { - "type": "object", - "properties": { - "fullName": { - "type": "string" + "Debtor" : { + "type" : "object", + "properties" : { + "fullName" : { + "type" : "string" }, - "entityUniqueIdentifierType": { - "type": "string" + "entityUniqueIdentifierType" : { + "type" : "string" }, - "entityUniqueIdentifierValue": { - "type": "string" + "entityUniqueIdentifierValue" : { + "type" : "string" }, - "streetName": { - "type": "string" + "streetName" : { + "type" : "string" }, - "civicNumber": { - "type": "string" + "civicNumber" : { + "type" : "string" }, - "postalCode": { - "type": "string" + "postalCode" : { + "type" : "string" }, - "city": { - "type": "string" + "city" : { + "type" : "string" }, - "stateProvinceRegion": { - "type": "string" + "stateProvinceRegion" : { + "type" : "string" }, - "country": { - "type": "string" + "country" : { + "type" : "string" }, - "eMail": { - "type": "string" + "eMail" : { + "type" : "string" } } }, - "MapEntry": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" + "MapEntry" : { + "type" : "object", + "properties" : { + "key" : { + "type" : "string" + }, + "value" : { + "type" : "string" } } }, - "Payer": { - "type": "object", - "properties": { - "fullName": { - "type": "string" + "Payer" : { + "type" : "object", + "properties" : { + "fullName" : { + "type" : "string" }, - "entityUniqueIdentifierType": { - "type": "string" + "entityUniqueIdentifierType" : { + "type" : "string" }, - "entityUniqueIdentifierValue": { - "type": "string" + "entityUniqueIdentifierValue" : { + "type" : "string" }, - "streetName": { - "type": "string" + "streetName" : { + "type" : "string" }, - "civicNumber": { - "type": "string" + "civicNumber" : { + "type" : "string" }, - "postalCode": { - "type": "string" + "postalCode" : { + "type" : "string" }, - "city": { - "type": "string" + "city" : { + "type" : "string" }, - "stateProvinceRegion": { - "type": "string" + "stateProvinceRegion" : { + "type" : "string" }, - "country": { - "type": "string" + "country" : { + "type" : "string" }, - "eMail": { - "type": "string" + "eMail" : { + "type" : "string" } } }, - "TransferPA": { - "required": [ - "fiscalCodePA", - "iban", - "mbdAttachment", - "remittanceInformation", - "transferAmount", - "transferCategory" - ], - "type": "object", - "properties": { - "idTransfer": { - "maximum": 5, - "minimum": 1, - "type": "integer", - "format": "int32" - }, - "transferAmount": { - "type": "number" - }, - "fiscalCodePA": { - "type": "string" - }, - "iban": { - "type": "string" - }, - "mbdAttachment": { - "type": "string" - }, - "remittanceInformation": { - "type": "string" - }, - "transferCategory": { - "type": "string" - }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MapEntry" + "TransferPA" : { + "required" : [ "fiscalCodePA", "iban", "mbdAttachment", "remittanceInformation", "transferAmount", "transferCategory" ], + "type" : "object", + "properties" : { + "idTransfer" : { + "maximum" : 5, + "minimum" : 1, + "type" : "integer", + "format" : "int32" + }, + "transferAmount" : { + "type" : "number" + }, + "fiscalCodePA" : { + "type" : "string" + }, + "iban" : { + "type" : "string" + }, + "mbdAttachment" : { + "type" : "string" + }, + "remittanceInformation" : { + "type" : "string" + }, + "transferCategory" : { + "type" : "string" + }, + "metadata" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MapEntry" } } } }, - "AppInfo": { - "type": "object", - "properties": { - "name": { - "type": "string" + "AppInfo" : { + "type" : "object", + "properties" : { + "name" : { + "type" : "string" }, - "version": { - "type": "string" + "version" : { + "type" : "string" }, - "environment": { - "type": "string" + "environment" : { + "type" : "string" } } }, - "AuthRequest": { - "type": "object", - "properties": { - "authOutcome": { - "type": "string" + "AuthRequest" : { + "type" : "object", + "properties" : { + "authOutcome" : { + "type" : "string" }, - "guid": { - "type": "string" + "guid" : { + "type" : "string" }, - "correlationId": { - "type": "string" + "correlationId" : { + "type" : "string" }, - "error": { - "type": "string" + "error" : { + "type" : "string" }, - "auth_code": { - "type": "string" + "auth_code" : { + "type" : "string" } } }, - "BizEvent": { - "type": "object", - "properties": { - "id": { - "type": "string" + "BizEvent" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string" }, - "version": { - "type": "string" + "version" : { + "type" : "string" }, - "idPaymentManager": { - "type": "string" + "idPaymentManager" : { + "type" : "string" }, - "complete": { - "type": "string" + "complete" : { + "type" : "string" }, - "receiptId": { - "type": "string" + "receiptId" : { + "type" : "string" }, - "missingInfo": { - "type": "array", - "items": { - "type": "string" + "missingInfo" : { + "type" : "array", + "items" : { + "type" : "string" } }, - "debtorPosition": { - "$ref": "#/components/schemas/DebtorPosition" + "debtorPosition" : { + "$ref" : "#/components/schemas/DebtorPosition" }, - "creditor": { - "$ref": "#/components/schemas/Creditor" + "creditor" : { + "$ref" : "#/components/schemas/Creditor" }, - "psp": { - "$ref": "#/components/schemas/Psp" + "psp" : { + "$ref" : "#/components/schemas/Psp" }, - "debtor": { - "$ref": "#/components/schemas/Debtor" + "debtor" : { + "$ref" : "#/components/schemas/Debtor" }, - "payer": { - "$ref": "#/components/schemas/Payer" + "payer" : { + "$ref" : "#/components/schemas/Payer" }, - "paymentInfo": { - "$ref": "#/components/schemas/PaymentInfo" + "paymentInfo" : { + "$ref" : "#/components/schemas/PaymentInfo" }, - "transferList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Transfer" + "transferList" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/Transfer" } }, - "transactionDetails": { - "$ref": "#/components/schemas/TransactionDetails" - }, - "timestamp": { - "type": "integer", - "format": "int64" - }, - "eventStatus": { - "type": "string", - "enum": [ - "NA", - "RETRY", - "FAILED", - "DONE" - ] - }, - "eventRetryEnrichmentCount": { - "type": "integer", - "format": "int32" + "transactionDetails" : { + "$ref" : "#/components/schemas/TransactionDetails" + }, + "eventStatus" : { + "type" : "string", + "enum" : [ "NA", "RETRY", "FAILED", "DONE" ] + }, + "eventRetryEnrichmentCount" : { + "type" : "integer", + "format" : "int32" } } }, - "Creditor": { - "type": "object", - "properties": { - "idPA": { - "type": "string" + "Creditor" : { + "type" : "object", + "properties" : { + "idPA" : { + "type" : "string" }, - "idBrokerPA": { - "type": "string" + "idBrokerPA" : { + "type" : "string" }, - "idStation": { - "type": "string" + "idStation" : { + "type" : "string" }, - "companyName": { - "type": "string" + "companyName" : { + "type" : "string" }, - "officeName": { - "type": "string" + "officeName" : { + "type" : "string" } } }, - "DebtorPosition": { - "type": "object", - "properties": { - "modelType": { - "type": "string" + "DebtorPosition" : { + "type" : "object", + "properties" : { + "modelType" : { + "type" : "string" }, - "noticeNumber": { - "type": "string" + "noticeNumber" : { + "type" : "string" }, - "iuv": { - "type": "string" + "iuv" : { + "type" : "string" }, - "iur": { - "type": "string" + "iur" : { + "type" : "string" } } }, - "Details": { - "type": "object", - "properties": { - "blurredNumber": { - "type": "string" + "Details" : { + "type" : "object", + "properties" : { + "blurredNumber" : { + "type" : "string" }, - "holder": { - "type": "string" + "holder" : { + "type" : "string" }, - "circuit": { - "type": "string" + "circuit" : { + "type" : "string" } } }, - "Info": { - "type": "object", - "properties": { - "type": { - "type": "string" + "Info" : { + "type" : "object", + "properties" : { + "type" : { + "type" : "string" + }, + "blurredNumber" : { + "type" : "string" + }, + "holder" : { + "type" : "string" }, - "blurredNumber": { - "type": "string" + "expireMonth" : { + "type" : "string" }, - "holder": { - "type": "string" + "expireYear" : { + "type" : "string" }, - "expireMonth": { - "type": "string" + "brand" : { + "type" : "string" }, - "expireYear": { - "type": "string" + "issuerAbi" : { + "type" : "string" }, - "brand": { - "type": "string" + "issuerName" : { + "type" : "string" }, - "issuerAbi": { - "type": "string" + "label" : { + "type" : "string" + } + } + }, + "InfoTransaction" : { + "type" : "object", + "properties" : { + "brand" : { + "type" : "string" + }, + "brandLogo" : { + "type" : "string" }, - "issuerName": { - "type": "string" + "clientId" : { + "type" : "string" }, - "label": { - "type": "string" + "paymentMethodName" : { + "type" : "string" + }, + "type" : { + "type" : "string" } } }, - "MBD": { - "type": "object", - "properties": { - "IUBD": { - "type": "string" + "MBD" : { + "type" : "object", + "properties" : { + "IUBD" : { + "type" : "string" }, - "oraAcquisto": { - "type": "string" + "oraAcquisto" : { + "type" : "string" }, - "importo": { - "type": "string" + "importo" : { + "type" : "string" }, - "tipoBollo": { - "type": "string" + "tipoBollo" : { + "type" : "string" }, - "MBDAttachment": { - "type": "string" + "MBDAttachment" : { + "type" : "string" } } }, - "PaymentAuthorizationRequest": { - "type": "object", - "properties": { - "authOutcome": { - "type": "string" + "PaymentAuthorizationRequest" : { + "type" : "object", + "properties" : { + "authOutcome" : { + "type" : "string" }, - "requestId": { - "type": "string" + "requestId" : { + "type" : "string" }, - "correlationId": { - "type": "string" + "correlationId" : { + "type" : "string" }, - "authCode": { - "type": "string" + "authCode" : { + "type" : "string" }, - "paymentMethodType": { - "type": "string" + "paymentMethodType" : { + "type" : "string" }, - "details": { - "$ref": "#/components/schemas/Details" + "details" : { + "$ref" : "#/components/schemas/Details" } } }, - "PaymentInfo": { - "type": "object", - "properties": { - "paymentDateTime": { - "type": "string" + "PaymentInfo" : { + "type" : "object", + "properties" : { + "paymentDateTime" : { + "type" : "string" }, - "applicationDate": { - "type": "string" + "applicationDate" : { + "type" : "string" }, - "transferDate": { - "type": "string" + "transferDate" : { + "type" : "string" }, - "dueDate": { - "type": "string" + "dueDate" : { + "type" : "string" }, - "paymentToken": { - "type": "string" + "paymentToken" : { + "type" : "string" }, - "amount": { - "type": "string" + "amount" : { + "type" : "string" }, - "fee": { - "type": "string" + "fee" : { + "type" : "string" }, - "primaryCiIncurredFee": { - "type": "string" + "primaryCiIncurredFee" : { + "type" : "string" }, - "idBundle": { - "type": "string" + "idBundle" : { + "type" : "string" }, - "idCiBundle": { - "type": "string" + "idCiBundle" : { + "type" : "string" }, - "totalNotice": { - "type": "string" + "totalNotice" : { + "type" : "string" }, - "paymentMethod": { - "type": "string" + "paymentMethod" : { + "type" : "string" }, - "touchpoint": { - "type": "string" + "touchpoint" : { + "type" : "string" }, - "remittanceInformation": { - "type": "string" + "remittanceInformation" : { + "type" : "string" }, - "description": { - "type": "string" + "description" : { + "type" : "string" }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MapEntry" + "metadata" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MapEntry" } }, - "IUR": { - "type": "string" + "IUR" : { + "type" : "string" } } }, - "Psp": { - "type": "object", - "properties": { - "idPsp": { - "type": "string" + "Psp" : { + "type" : "object", + "properties" : { + "idPsp" : { + "type" : "string" }, - "idBrokerPsp": { - "type": "string" + "idBrokerPsp" : { + "type" : "string" }, - "idChannel": { - "type": "string" + "idChannel" : { + "type" : "string" }, - "psp": { - "type": "string" + "psp" : { + "type" : "string" }, - "pspPartitaIVA": { - "type": "string" + "pspPartitaIVA" : { + "type" : "string" }, - "pspFiscalCode": { - "type": "string" + "pspFiscalCode" : { + "type" : "string" }, - "channelDescription": { - "type": "string" + "channelDescription" : { + "type" : "string" } } }, - "Transaction": { - "type": "object", - "properties": { - "idTransaction": { - "type": "string" + "Transaction" : { + "type" : "object", + "properties" : { + "idTransaction" : { + "type" : "string" }, - "transactionId": { - "type": "string" + "transactionId" : { + "type" : "string" }, - "grandTotal": { - "type": "integer", - "format": "int64" + "grandTotal" : { + "type" : "integer", + "format" : "int64" }, - "amount": { - "type": "integer", - "format": "int64" + "amount" : { + "type" : "integer", + "format" : "int64" }, - "fee": { - "type": "integer", - "format": "int64" + "fee" : { + "type" : "integer", + "format" : "int64" }, - "transactionStatus": { - "type": "string" + "transactionStatus" : { + "type" : "string" }, - "accountingStatus": { - "type": "string" + "accountingStatus" : { + "type" : "string" }, - "rrn": { - "type": "string" + "rrn" : { + "type" : "string" }, - "authorizationCode": { - "type": "string" + "authorizationCode" : { + "type" : "string" }, - "creationDate": { - "type": "string" + "creationDate" : { + "type" : "string" }, - "numAut": { - "type": "string" + "numAut" : { + "type" : "string" }, - "accountCode": { - "type": "string" + "accountCode" : { + "type" : "string" }, - "psp": { - "$ref": "#/components/schemas/TransactionPsp" + "psp" : { + "$ref" : "#/components/schemas/TransactionPsp" }, - "origin": { - "type": "string" + "origin" : { + "type" : "string" } } }, - "TransactionDetails": { - "type": "object", - "properties": { - "user": { - "$ref": "#/components/schemas/User" + "TransactionDetails" : { + "type" : "object", + "properties" : { + "user" : { + "$ref" : "#/components/schemas/User" }, - "paymentAuthorizationRequest": { - "$ref": "#/components/schemas/PaymentAuthorizationRequest" + "paymentAuthorizationRequest" : { + "$ref" : "#/components/schemas/PaymentAuthorizationRequest" }, - "wallet": { - "$ref": "#/components/schemas/WalletItem" + "wallet" : { + "$ref" : "#/components/schemas/WalletItem" }, - "origin": { - "type": "string" + "origin" : { + "type" : "string" }, - "transaction": { - "$ref": "#/components/schemas/Transaction" + "transaction" : { + "$ref" : "#/components/schemas/Transaction" }, - "info": { - "$ref": "#/components/schemas/InfoTransaction" + "info" : { + "$ref" : "#/components/schemas/InfoTransaction" } } }, - "TransactionPsp": { - "type": "object", - "properties": { - "idChannel": { - "type": "string" + "TransactionPsp" : { + "type" : "object", + "properties" : { + "idChannel" : { + "type" : "string" }, - "businessName": { - "type": "string" + "businessName" : { + "type" : "string" }, - "serviceName": { - "type": "string" + "serviceName" : { + "type" : "string" } } }, - "Transfer": { - "type": "object", - "properties": { - "idTransfer": { - "type": "string" + "Transfer" : { + "type" : "object", + "properties" : { + "idTransfer" : { + "type" : "string" }, - "fiscalCodePA": { - "type": "string" + "fiscalCodePA" : { + "type" : "string" }, - "companyName": { - "type": "string" + "companyName" : { + "type" : "string" }, - "amount": { - "type": "string" + "amount" : { + "type" : "string" }, - "transferCategory": { - "type": "string" + "transferCategory" : { + "type" : "string" }, - "remittanceInformation": { - "type": "string" + "remittanceInformation" : { + "type" : "string" }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MapEntry" + "metadata" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MapEntry" } }, - "IBAN": { - "type": "string" + "IBAN" : { + "type" : "string" }, - "MBD": { - "$ref": "#/components/schemas/MBD" + "MBD" : { + "$ref" : "#/components/schemas/MBD" } } }, - "User": { - "type": "object", - "properties": { - "fullName": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "F", - "G", - "GUEST" - ] - }, - "fiscalCode": { - "type": "string" - }, - "notificationEmail": { - "type": "string" - }, - "userId": { - "type": "string" - }, - "userStatus": { - "type": "string" - }, - "userStatusDescription": { - "type": "string" + "User" : { + "type" : "object", + "properties" : { + "fullName" : { + "type" : "string" + }, + "type" : { + "type" : "string", + "enum" : [ "F", "G", "GUEST" ] + }, + "fiscalCode" : { + "type" : "string" + }, + "notificationEmail" : { + "type" : "string" + }, + "userId" : { + "type" : "string" + }, + "userStatus" : { + "type" : "string" + }, + "userStatusDescription" : { + "type" : "string" } } }, - "WalletItem": { - "type": "object", - "properties": { - "idWallet": { - "type": "string" - }, - "walletType": { - "type": "string", - "enum": [ - "CARD", - "PAYPAL", - "BANCOMATPAY" - ] - }, - "enableableFunctions": { - "type": "array", - "items": { - "type": "string" + "WalletItem" : { + "type" : "object", + "properties" : { + "idWallet" : { + "type" : "string" + }, + "walletType" : { + "type" : "string", + "enum" : [ "CARD", "PAYPAL", "BANCOMATPAY" ] + }, + "enableableFunctions" : { + "type" : "array", + "items" : { + "type" : "string" } }, - "pagoPa": { - "type": "boolean" + "pagoPa" : { + "type" : "boolean" }, - "onboardingChannel": { - "type": "string" + "onboardingChannel" : { + "type" : "string" }, - "favourite": { - "type": "boolean" + "favourite" : { + "type" : "boolean" }, - "createDate": { - "type": "string" + "createDate" : { + "type" : "string" }, - "info": { - "$ref": "#/components/schemas/Info" + "info" : { + "$ref" : "#/components/schemas/Info" }, - "authRequest": { - "$ref": "#/components/schemas/AuthRequest" + "authRequest" : { + "$ref" : "#/components/schemas/AuthRequest" } } } }, - "securitySchemes": { - "ApiKey": { - "type": "apiKey", - "description": "The API key to access this function app.", - "name": "Ocp-Apim-Subscription-Key", - "in": "header" + "securitySchemes" : { + "ApiKey" : { + "type" : "apiKey", + "description" : "The API key to access this function app.", + "name" : "Ocp-Apim-Subscription-Key", + "in" : "header" } } } -} +} \ No newline at end of file diff --git a/openapi/openapi_ec.json b/openapi/openapi_ec.json index 9733e7ff..4afd80d8 100644 --- a/openapi/openapi_ec.json +++ b/openapi/openapi_ec.json @@ -1,721 +1,658 @@ { - "openapi": "3.0.1", - "info": { - "title": "Biz-Events Service", - "description": "Microservice for exposing REST APIs about payment receipts.", - "termsOfService": "https://www.pagopa.gov.it/", - "version": "0.1.27" + "openapi" : "3.0.1", + "info" : { + "title" : "Biz-Events Service", + "description" : "Microservice for exposing REST APIs about payment receipts.", + "termsOfService" : "https://www.pagopa.gov.it/", + "version" : "0.1.27" }, - "servers": [ - { - "url": "http://localhost", - "description": "Generated server url" - } - ], - "paths": { - "/organizations/{organizationfiscalcode}/receipts/{iur}": { - "get": { - "tags": [ - "Payment Receipts REST APIs" - ], - "summary": "The organization get the receipt for the creditor institution using IUR.", - "operationId": "getOrganizationReceiptIur", - "parameters": [ - { - "name": "organizationfiscalcode", - "in": "path", - "description": "The fiscal code of the Organization.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "iur", - "in": "path", - "description": "The unique reference of the operation assigned to the payment (Payment Token).", - "required": true, - "schema": { - "type": "string" - } + "servers" : [ { + "url" : "http://localhost", + "description" : "Generated server url" + } ], + "paths" : { + "/organizations/{organizationfiscalcode}/receipts/{iur}" : { + "get" : { + "tags" : [ "Payment Receipts REST APIs" ], + "summary" : "The organization get the receipt for the creditor institution using IUR.", + "operationId" : "getOrganizationReceiptIur", + "parameters" : [ { + "name" : "organizationfiscalcode", + "in" : "path", + "description" : "The fiscal code of the Organization.", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "iur", + "in" : "path", + "description" : "The unique reference of the operation assigned to the payment (Payment Token).", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "404": { - "description": "Not found the receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "422" : { + "description" : "Unable to process the request.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "422": { - "description": "Unable to process the request.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "200" : { + "description" : "Obtained receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CtReceiptModelResponse" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "200": { - "description": "Obtained receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CtReceiptModelResponse" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/organizations/{organizationfiscalcode}/receipts/{iur}/paymentoptions/{iuv}": { - "get": { - "tags": [ - "Payment Receipts REST APIs" - ], - "summary": "The organization get the receipt for the creditor institution using IUV and IUR.", - "operationId": "getOrganizationReceiptIuvIur", - "parameters": [ - { - "name": "organizationfiscalcode", - "in": "path", - "description": "The fiscal code of the Organization.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "iur", - "in": "path", - "description": "The unique reference of the operation assigned to the payment (Payment Token).", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "iuv", - "in": "path", - "description": "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount", - "required": true, - "schema": { - "type": "string" - } + "/organizations/{organizationfiscalcode}/receipts/{iur}/paymentoptions/{iuv}" : { + "get" : { + "tags" : [ "Payment Receipts REST APIs" ], + "summary" : "The organization get the receipt for the creditor institution using IUV and IUR.", + "operationId" : "getOrganizationReceiptIuvIur", + "parameters" : [ { + "name" : "organizationfiscalcode", + "in" : "path", + "description" : "The fiscal code of the Organization.", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "404": { - "description": "Not found the receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, { + "name" : "iur", + "in" : "path", + "description" : "The unique reference of the operation assigned to the payment (Payment Token).", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "iuv", + "in" : "path", + "description" : "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "422" : { + "description" : "Unable to process the request.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "422": { - "description": "Unable to process the request.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "200" : { + "description" : "Obtained receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CtReceiptModelResponse" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "200": { - "description": "Obtained receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CtReceiptModelResponse" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/info": { - "get": { - "tags": [ - "Home" - ], - "summary": "health check", - "description": "Return OK if application is started", - "operationId": "healthCheck", - "responses": { - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "/info" : { + "get" : { + "tags" : [ "Home" ], + "summary" : "health check", + "description" : "Return OK if application is started", + "operationId" : "healthCheck", + "responses" : { + "429" : { + "description" : "Too many requests", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Unauthorized", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "403": { - "description": "Forbidden", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "400" : { + "description" : "Bad Request", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppInfo" + "403" : { + "description" : "Forbidden", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "200" : { + "description" : "OK", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AppInfo" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] } }, - "components": { - "schemas": { - "ProblemJson": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" - }, - "status": { - "maximum": 600, - "minimum": 100, - "type": "integer", - "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", - "format": "int32", - "example": 200 - }, - "detail": { - "type": "string", - "description": "A human readable explanation specific to this occurrence of the problem.", - "example": "There was an error processing the request" + "components" : { + "schemas" : { + "ProblemJson" : { + "type" : "object", + "properties" : { + "title" : { + "type" : "string", + "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" + }, + "status" : { + "maximum" : 600, + "minimum" : 100, + "type" : "integer", + "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.", + "format" : "int32", + "example" : 200 + }, + "detail" : { + "type" : "string", + "description" : "A human readable explanation specific to this occurrence of the problem.", + "example" : "There was an error processing the request" } } }, - "CtReceiptModelResponse": { - "required": [ - "channelDescription", - "companyName", - "creditorReferenceId", - "debtor", - "description", - "fiscalCode", - "idChannel", - "idPSP", - "noticeNumber", - "outcome", - "paymentAmount", - "pspCompanyName", - "receiptId", - "transferList" - ], - "type": "object", - "properties": { - "receiptId": { - "type": "string" - }, - "noticeNumber": { - "type": "string" - }, - "fiscalCode": { - "type": "string" - }, - "outcome": { - "type": "string" - }, - "creditorReferenceId": { - "type": "string" - }, - "paymentAmount": { - "type": "number" - }, - "description": { - "type": "string" - }, - "companyName": { - "type": "string" - }, - "officeName": { - "type": "string" - }, - "debtor": { - "$ref": "#/components/schemas/Debtor" - }, - "transferList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TransferPA" + "CtReceiptModelResponse" : { + "required" : [ "channelDescription", "companyName", "creditorReferenceId", "debtor", "description", "fiscalCode", "idChannel", "idPSP", "noticeNumber", "outcome", "paymentAmount", "pspCompanyName", "receiptId", "transferList" ], + "type" : "object", + "properties" : { + "receiptId" : { + "type" : "string" + }, + "noticeNumber" : { + "type" : "string" + }, + "fiscalCode" : { + "type" : "string" + }, + "outcome" : { + "type" : "string" + }, + "creditorReferenceId" : { + "type" : "string" + }, + "paymentAmount" : { + "type" : "number" + }, + "description" : { + "type" : "string" + }, + "companyName" : { + "type" : "string" + }, + "officeName" : { + "type" : "string" + }, + "debtor" : { + "$ref" : "#/components/schemas/Debtor" + }, + "transferList" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/TransferPA" } }, - "idPSP": { - "type": "string" + "idPSP" : { + "type" : "string" }, - "pspFiscalCode": { - "type": "string" + "pspFiscalCode" : { + "type" : "string" }, - "pspPartitaIVA": { - "type": "string" + "pspPartitaIVA" : { + "type" : "string" }, - "pspCompanyName": { - "type": "string" + "pspCompanyName" : { + "type" : "string" }, - "idChannel": { - "type": "string" + "idChannel" : { + "type" : "string" }, - "channelDescription": { - "type": "string" + "channelDescription" : { + "type" : "string" }, - "payer": { - "$ref": "#/components/schemas/Payer" + "payer" : { + "$ref" : "#/components/schemas/Payer" }, - "paymentMethod": { - "type": "string" + "paymentMethod" : { + "type" : "string" }, - "fee": { - "type": "number" + "fee" : { + "type" : "number" }, - "primaryCiIncurredFee": { - "type": "number" + "primaryCiIncurredFee" : { + "type" : "number" }, - "idBundle": { - "type": "string" + "idBundle" : { + "type" : "string" }, - "idCiBundle": { - "type": "string" + "idCiBundle" : { + "type" : "string" }, - "paymentDateTime": { - "type": "string", - "format": "date" + "paymentDateTime" : { + "type" : "string", + "format" : "date" }, - "applicationDate": { - "type": "string", - "format": "date" + "applicationDate" : { + "type" : "string", + "format" : "date" }, - "transferDate": { - "type": "string", - "format": "date" + "transferDate" : { + "type" : "string", + "format" : "date" }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MapEntry" + "metadata" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MapEntry" } } } }, - "Debtor": { - "required": [ - "entityUniqueIdentifierType", - "entityUniqueIdentifierValue", - "fullName" - ], - "type": "object", - "properties": { - "entityUniqueIdentifierType": { - "type": "string", - "enum": [ - "F", - "G" - ] - }, - "entityUniqueIdentifierValue": { - "type": "string" - }, - "fullName": { - "type": "string" - }, - "streetName": { - "type": "string" - }, - "civicNumber": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "city": { - "type": "string" - }, - "stateProvinceRegion": { - "type": "string" - }, - "country": { - "type": "string" - }, - "email": { - "type": "string" + "Debtor" : { + "required" : [ "entityUniqueIdentifierType", "entityUniqueIdentifierValue", "fullName" ], + "type" : "object", + "properties" : { + "entityUniqueIdentifierType" : { + "type" : "string", + "enum" : [ "F", "G" ] + }, + "entityUniqueIdentifierValue" : { + "type" : "string" + }, + "fullName" : { + "type" : "string" + }, + "streetName" : { + "type" : "string" + }, + "civicNumber" : { + "type" : "string" + }, + "postalCode" : { + "type" : "string" + }, + "city" : { + "type" : "string" + }, + "stateProvinceRegion" : { + "type" : "string" + }, + "country" : { + "type" : "string" + }, + "email" : { + "type" : "string" } } }, - "MapEntry": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" + "MapEntry" : { + "type" : "object", + "properties" : { + "key" : { + "type" : "string" + }, + "value" : { + "type" : "string" } } }, - "Payer": { - "required": [ - "entityUniqueIdentifierType", - "entityUniqueIdentifierValue", - "fullName" - ], - "type": "object", - "properties": { - "entityUniqueIdentifierType": { - "type": "string", - "enum": [ - "F", - "G" - ] - }, - "entityUniqueIdentifierValue": { - "type": "string" - }, - "fullName": { - "type": "string" - }, - "streetName": { - "type": "string" - }, - "civicNumber": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "city": { - "type": "string" - }, - "stateProvinceRegion": { - "type": "string" - }, - "country": { - "type": "string" - }, - "email": { - "type": "string" + "Payer" : { + "required" : [ "entityUniqueIdentifierType", "entityUniqueIdentifierValue", "fullName" ], + "type" : "object", + "properties" : { + "entityUniqueIdentifierType" : { + "type" : "string", + "enum" : [ "F", "G" ] + }, + "entityUniqueIdentifierValue" : { + "type" : "string" + }, + "fullName" : { + "type" : "string" + }, + "streetName" : { + "type" : "string" + }, + "civicNumber" : { + "type" : "string" + }, + "postalCode" : { + "type" : "string" + }, + "city" : { + "type" : "string" + }, + "stateProvinceRegion" : { + "type" : "string" + }, + "country" : { + "type" : "string" + }, + "email" : { + "type" : "string" } } }, - "TransferPA": { - "required": [ - "fiscalCodePA", - "iban", - "mbdAttachment", - "remittanceInformation", - "transferAmount", - "transferCategory" - ], - "type": "object", - "properties": { - "idTransfer": { - "maximum": 5, - "minimum": 1, - "type": "integer", - "format": "int32" - }, - "transferAmount": { - "type": "number" - }, - "fiscalCodePA": { - "type": "string" - }, - "iban": { - "type": "string" - }, - "mbdAttachment": { - "type": "string" - }, - "remittanceInformation": { - "type": "string" - }, - "transferCategory": { - "type": "string" - }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MapEntry" + "TransferPA" : { + "required" : [ "fiscalCodePA", "iban", "mbdAttachment", "remittanceInformation", "transferAmount", "transferCategory" ], + "type" : "object", + "properties" : { + "idTransfer" : { + "maximum" : 5, + "minimum" : 1, + "type" : "integer", + "format" : "int32" + }, + "transferAmount" : { + "type" : "number" + }, + "fiscalCodePA" : { + "type" : "string" + }, + "iban" : { + "type" : "string" + }, + "mbdAttachment" : { + "type" : "string" + }, + "remittanceInformation" : { + "type" : "string" + }, + "transferCategory" : { + "type" : "string" + }, + "metadata" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MapEntry" } } } }, - "AppInfo": { - "type": "object", - "properties": { - "name": { - "type": "string" + "AppInfo" : { + "type" : "object", + "properties" : { + "name" : { + "type" : "string" }, - "version": { - "type": "string" + "version" : { + "type" : "string" }, - "environment": { - "type": "string" + "environment" : { + "type" : "string" } } } }, - "securitySchemes": { - "ApiKey": { - "type": "apiKey", - "description": "The API key to access this function app.", - "name": "Ocp-Apim-Subscription-Key", - "in": "header" + "securitySchemes" : { + "ApiKey" : { + "type" : "apiKey", + "description" : "The API key to access this function app.", + "name" : "Ocp-Apim-Subscription-Key", + "in" : "header" } } } -} +} \ No newline at end of file diff --git a/openapi/openapi_helpdesk.json b/openapi/openapi_helpdesk.json index 3e6c7faf..5d7101ca 100644 --- a/openapi/openapi_helpdesk.json +++ b/openapi/openapi_helpdesk.json @@ -1,1045 +1,1003 @@ { - "openapi": "3.0.1", - "info": { - "title": "Biz-Events Service", - "description": "Microservice for exposing REST APIs about payment receipts.", - "termsOfService": "https://www.pagopa.gov.it/", - "version": "0.1.27" + "openapi" : "3.0.1", + "info" : { + "title" : "Biz-Events Service", + "description" : "Microservice for exposing REST APIs about payment receipts.", + "termsOfService" : "https://www.pagopa.gov.it/", + "version" : "0.1.27" }, - "servers": [ - { - "url": "http://localhost", - "description": "Generated server url" - } - ], - "paths": { - "/info": { - "get": { - "tags": [ - "Home" - ], - "summary": "health check", - "description": "Return OK if application is started", - "operationId": "healthCheck", - "responses": { - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "servers" : [ { + "url" : "http://localhost", + "description" : "Generated server url" + } ], + "paths" : { + "/info" : { + "get" : { + "tags" : [ "Home" ], + "summary" : "health check", + "description" : "Return OK if application is started", + "operationId" : "healthCheck", + "responses" : { + "429" : { + "description" : "Too many requests", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Unauthorized", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "403": { - "description": "Forbidden", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "400" : { + "description" : "Bad Request", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppInfo" + "403" : { + "description" : "Forbidden", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "200" : { + "description" : "OK", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AppInfo" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/events/{biz-event-id}": { - "get": { - "tags": [ - "Biz-Events Helpdesk" - ], - "summary": "Retrieve the biz-event given its id.", - "operationId": "getBizEvent", - "parameters": [ - { - "name": "biz-event-id", - "in": "path", - "description": "The id of the biz-event.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Obtained biz-event.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "/events/{biz-event-id}" : { + "get" : { + "tags" : [ "Biz-Events Helpdesk" ], + "summary" : "Retrieve the biz-event given its id.", + "operationId" : "getBizEvent", + "parameters" : [ { + "name" : "biz-event-id", + "in" : "path", + "description" : "The id of the biz-event.", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BizEvent" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the biz-event.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "422" : { + "description" : "Unable to process the request.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "422": { - "description": "Unable to process the request.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "200" : { + "description" : "Obtained biz-event.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BizEvent" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the biz-event.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/events/organizations/{organization-fiscal-code}/iuvs/{iuv}": { - "get": { - "tags": [ - "Biz-Events Helpdesk" - ], - "summary": "Retrieve the biz-event given the organization fiscal code and IUV.", - "operationId": "getBizEventByOrganizationFiscalCodeAndIuv", - "parameters": [ - { - "name": "organization-fiscal-code", - "in": "path", - "description": "The fiscal code of the Organization.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "iuv", - "in": "path", - "description": "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Obtained biz-event.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "/events/organizations/{organization-fiscal-code}/iuvs/{iuv}" : { + "get" : { + "tags" : [ "Biz-Events Helpdesk" ], + "summary" : "Retrieve the biz-event given the organization fiscal code and IUV.", + "operationId" : "getBizEventByOrganizationFiscalCodeAndIuv", + "parameters" : [ { + "name" : "organization-fiscal-code", + "in" : "path", + "description" : "The fiscal code of the Organization.", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "iuv", + "in" : "path", + "description" : "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BizEvent" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the biz-event.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "422" : { + "description" : "Unable to process the request.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "422": { - "description": "Unable to process the request.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "200" : { + "description" : "Obtained biz-event.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BizEvent" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "404": { - "description": "Not found the biz-event.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] } }, - "components": { - "schemas": { - "ProblemJson": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" - }, - "status": { - "maximum": 600, - "minimum": 100, - "type": "integer", - "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", - "format": "int32", - "example": 200 - }, - "detail": { - "type": "string", - "description": "A human readable explanation specific to this occurrence of the problem.", - "example": "There was an error processing the request" + "components" : { + "schemas" : { + "ProblemJson" : { + "type" : "object", + "properties" : { + "title" : { + "type" : "string", + "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" + }, + "status" : { + "maximum" : 600, + "minimum" : 100, + "type" : "integer", + "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.", + "format" : "int32", + "example" : 200 + }, + "detail" : { + "type" : "string", + "description" : "A human readable explanation specific to this occurrence of the problem.", + "example" : "There was an error processing the request" } } }, - "AppInfo": { - "type": "object", - "properties": { - "name": { - "type": "string" + "AppInfo" : { + "type" : "object", + "properties" : { + "name" : { + "type" : "string" }, - "version": { - "type": "string" + "version" : { + "type" : "string" }, - "environment": { - "type": "string" + "environment" : { + "type" : "string" } } }, - "AuthRequest": { - "type": "object", - "properties": { - "authOutcome": { - "type": "string" + "AuthRequest" : { + "type" : "object", + "properties" : { + "authOutcome" : { + "type" : "string" }, - "guid": { - "type": "string" + "guid" : { + "type" : "string" }, - "correlationId": { - "type": "string" + "correlationId" : { + "type" : "string" }, - "error": { - "type": "string" + "error" : { + "type" : "string" }, - "auth_code": { - "type": "string" + "auth_code" : { + "type" : "string" } } }, - "BizEvent": { - "type": "object", - "properties": { - "id": { - "type": "string" + "BizEvent" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string" }, - "version": { - "type": "string" + "version" : { + "type" : "string" }, - "idPaymentManager": { - "type": "string" + "idPaymentManager" : { + "type" : "string" }, - "complete": { - "type": "string" + "complete" : { + "type" : "string" }, - "receiptId": { - "type": "string" + "receiptId" : { + "type" : "string" }, - "missingInfo": { - "type": "array", - "items": { - "type": "string" + "missingInfo" : { + "type" : "array", + "items" : { + "type" : "string" } }, - "debtorPosition": { - "$ref": "#/components/schemas/DebtorPosition" + "debtorPosition" : { + "$ref" : "#/components/schemas/DebtorPosition" }, - "creditor": { - "$ref": "#/components/schemas/Creditor" + "creditor" : { + "$ref" : "#/components/schemas/Creditor" }, - "psp": { - "$ref": "#/components/schemas/Psp" + "psp" : { + "$ref" : "#/components/schemas/Psp" }, - "debtor": { - "$ref": "#/components/schemas/Debtor" + "debtor" : { + "$ref" : "#/components/schemas/Debtor" }, - "payer": { - "$ref": "#/components/schemas/Payer" + "payer" : { + "$ref" : "#/components/schemas/Payer" }, - "paymentInfo": { - "$ref": "#/components/schemas/PaymentInfo" + "paymentInfo" : { + "$ref" : "#/components/schemas/PaymentInfo" }, - "transferList": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Transfer" + "transferList" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/Transfer" } }, - "transactionDetails": { - "$ref": "#/components/schemas/TransactionDetails" - }, - "timestamp": { - "type": "integer", - "format": "int64" - }, - "eventStatus": { - "type": "string", - "enum": [ - "NA", - "RETRY", - "FAILED", - "DONE" - ] - }, - "eventRetryEnrichmentCount": { - "type": "integer", - "format": "int32" + "transactionDetails" : { + "$ref" : "#/components/schemas/TransactionDetails" + }, + "eventStatus" : { + "type" : "string", + "enum" : [ "NA", "RETRY", "FAILED", "DONE" ] + }, + "eventRetryEnrichmentCount" : { + "type" : "integer", + "format" : "int32" } } }, - "Creditor": { - "type": "object", - "properties": { - "idPA": { - "type": "string" + "Creditor" : { + "type" : "object", + "properties" : { + "idPA" : { + "type" : "string" }, - "idBrokerPA": { - "type": "string" + "idBrokerPA" : { + "type" : "string" }, - "idStation": { - "type": "string" + "idStation" : { + "type" : "string" }, - "companyName": { - "type": "string" + "companyName" : { + "type" : "string" }, - "officeName": { - "type": "string" + "officeName" : { + "type" : "string" } } }, - "Debtor": { - "type": "object", - "properties": { - "fullName": { - "type": "string" + "Debtor" : { + "type" : "object", + "properties" : { + "fullName" : { + "type" : "string" }, - "entityUniqueIdentifierType": { - "type": "string" + "entityUniqueIdentifierType" : { + "type" : "string" }, - "entityUniqueIdentifierValue": { - "type": "string" + "entityUniqueIdentifierValue" : { + "type" : "string" }, - "streetName": { - "type": "string" + "streetName" : { + "type" : "string" }, - "civicNumber": { - "type": "string" + "civicNumber" : { + "type" : "string" }, - "postalCode": { - "type": "string" + "postalCode" : { + "type" : "string" }, - "city": { - "type": "string" + "city" : { + "type" : "string" }, - "stateProvinceRegion": { - "type": "string" + "stateProvinceRegion" : { + "type" : "string" }, - "country": { - "type": "string" + "country" : { + "type" : "string" }, - "eMail": { - "type": "string" + "eMail" : { + "type" : "string" } } }, - "DebtorPosition": { - "type": "object", - "properties": { - "modelType": { - "type": "string" + "DebtorPosition" : { + "type" : "object", + "properties" : { + "modelType" : { + "type" : "string" }, - "noticeNumber": { - "type": "string" + "noticeNumber" : { + "type" : "string" }, - "iuv": { - "type": "string" + "iuv" : { + "type" : "string" }, - "iur": { - "type": "string" + "iur" : { + "type" : "string" } } }, - "Details": { - "type": "object", - "properties": { - "blurredNumber": { - "type": "string" + "Details" : { + "type" : "object", + "properties" : { + "blurredNumber" : { + "type" : "string" }, - "holder": { - "type": "string" + "holder" : { + "type" : "string" }, - "circuit": { - "type": "string" + "circuit" : { + "type" : "string" } } }, - "Info": { - "type": "object", - "properties": { - "type": { - "type": "string" + "Info" : { + "type" : "object", + "properties" : { + "type" : { + "type" : "string" }, - "blurredNumber": { - "type": "string" + "blurredNumber" : { + "type" : "string" }, - "holder": { - "type": "string" + "holder" : { + "type" : "string" }, - "expireMonth": { - "type": "string" + "expireMonth" : { + "type" : "string" }, - "expireYear": { - "type": "string" + "expireYear" : { + "type" : "string" }, - "brand": { - "type": "string" + "brand" : { + "type" : "string" }, - "issuerAbi": { - "type": "string" + "issuerAbi" : { + "type" : "string" }, - "issuerName": { - "type": "string" + "issuerName" : { + "type" : "string" }, - "label": { - "type": "string" + "label" : { + "type" : "string" } } }, - "InfoTransaction": { - "type": "object", - "properties": { - "brand": { - "type": "string" + "InfoTransaction" : { + "type" : "object", + "properties" : { + "brand" : { + "type" : "string" }, - "brandLogo": { - "type": "string" + "brandLogo" : { + "type" : "string" }, - "clientId": { - "type": "string" + "clientId" : { + "type" : "string" }, - "paymentMethodName": { - "type": "string" + "paymentMethodName" : { + "type" : "string" }, - "type": { - "type": "string" + "type" : { + "type" : "string" } } }, - "MBD": { - "type": "object", - "properties": { - "IUBD": { - "type": "string" + "MBD" : { + "type" : "object", + "properties" : { + "IUBD" : { + "type" : "string" }, - "oraAcquisto": { - "type": "string" + "oraAcquisto" : { + "type" : "string" }, - "importo": { - "type": "string" + "importo" : { + "type" : "string" }, - "tipoBollo": { - "type": "string" + "tipoBollo" : { + "type" : "string" }, - "MBDAttachment": { - "type": "string" + "MBDAttachment" : { + "type" : "string" } } }, - "MapEntry": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" + "MapEntry" : { + "type" : "object", + "properties" : { + "key" : { + "type" : "string" + }, + "value" : { + "type" : "string" } } }, - "Payer": { - "type": "object", - "properties": { - "fullName": { - "type": "string" + "Payer" : { + "type" : "object", + "properties" : { + "fullName" : { + "type" : "string" }, - "entityUniqueIdentifierType": { - "type": "string" + "entityUniqueIdentifierType" : { + "type" : "string" }, - "entityUniqueIdentifierValue": { - "type": "string" + "entityUniqueIdentifierValue" : { + "type" : "string" }, - "streetName": { - "type": "string" + "streetName" : { + "type" : "string" }, - "civicNumber": { - "type": "string" + "civicNumber" : { + "type" : "string" }, - "postalCode": { - "type": "string" + "postalCode" : { + "type" : "string" }, - "city": { - "type": "string" + "city" : { + "type" : "string" }, - "stateProvinceRegion": { - "type": "string" + "stateProvinceRegion" : { + "type" : "string" }, - "country": { - "type": "string" + "country" : { + "type" : "string" }, - "eMail": { - "type": "string" + "eMail" : { + "type" : "string" } } }, - "PaymentAuthorizationRequest": { - "type": "object", - "properties": { - "authOutcome": { - "type": "string" + "PaymentAuthorizationRequest" : { + "type" : "object", + "properties" : { + "authOutcome" : { + "type" : "string" }, - "requestId": { - "type": "string" + "requestId" : { + "type" : "string" }, - "correlationId": { - "type": "string" + "correlationId" : { + "type" : "string" }, - "authCode": { - "type": "string" + "authCode" : { + "type" : "string" }, - "paymentMethodType": { - "type": "string" + "paymentMethodType" : { + "type" : "string" }, - "details": { - "$ref": "#/components/schemas/Details" + "details" : { + "$ref" : "#/components/schemas/Details" } } }, - "PaymentInfo": { - "type": "object", - "properties": { - "paymentDateTime": { - "type": "string" + "PaymentInfo" : { + "type" : "object", + "properties" : { + "paymentDateTime" : { + "type" : "string" }, - "applicationDate": { - "type": "string" + "applicationDate" : { + "type" : "string" }, - "transferDate": { - "type": "string" + "transferDate" : { + "type" : "string" }, - "dueDate": { - "type": "string" + "dueDate" : { + "type" : "string" }, - "paymentToken": { - "type": "string" + "paymentToken" : { + "type" : "string" }, - "amount": { - "type": "string" + "amount" : { + "type" : "string" }, - "fee": { - "type": "string" + "fee" : { + "type" : "string" }, - "primaryCiIncurredFee": { - "type": "string" + "primaryCiIncurredFee" : { + "type" : "string" }, - "idBundle": { - "type": "string" + "idBundle" : { + "type" : "string" }, - "idCiBundle": { - "type": "string" + "idCiBundle" : { + "type" : "string" }, - "totalNotice": { - "type": "string" + "totalNotice" : { + "type" : "string" }, - "paymentMethod": { - "type": "string" + "paymentMethod" : { + "type" : "string" }, - "touchpoint": { - "type": "string" + "touchpoint" : { + "type" : "string" }, - "remittanceInformation": { - "type": "string" + "remittanceInformation" : { + "type" : "string" }, - "description": { - "type": "string" + "description" : { + "type" : "string" }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MapEntry" + "metadata" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MapEntry" } }, - "IUR": { - "type": "string" + "IUR" : { + "type" : "string" } } }, - "Psp": { - "type": "object", - "properties": { - "idPsp": { - "type": "string" + "Psp" : { + "type" : "object", + "properties" : { + "idPsp" : { + "type" : "string" }, - "idBrokerPsp": { - "type": "string" + "idBrokerPsp" : { + "type" : "string" }, - "idChannel": { - "type": "string" + "idChannel" : { + "type" : "string" }, - "psp": { - "type": "string" + "psp" : { + "type" : "string" }, - "pspPartitaIVA": { - "type": "string" + "pspPartitaIVA" : { + "type" : "string" }, - "pspFiscalCode": { - "type": "string" + "pspFiscalCode" : { + "type" : "string" }, - "channelDescription": { - "type": "string" + "channelDescription" : { + "type" : "string" } } }, - "Transaction": { - "type": "object", - "properties": { - "idTransaction": { - "type": "string" + "Transaction" : { + "type" : "object", + "properties" : { + "idTransaction" : { + "type" : "string" }, - "transactionId": { - "type": "string" + "transactionId" : { + "type" : "string" }, - "grandTotal": { - "type": "integer", - "format": "int64" + "grandTotal" : { + "type" : "integer", + "format" : "int64" }, - "amount": { - "type": "integer", - "format": "int64" + "amount" : { + "type" : "integer", + "format" : "int64" }, - "fee": { - "type": "integer", - "format": "int64" + "fee" : { + "type" : "integer", + "format" : "int64" }, - "transactionStatus": { - "type": "string" + "transactionStatus" : { + "type" : "string" }, - "accountingStatus": { - "type": "string" + "accountingStatus" : { + "type" : "string" }, - "rrn": { - "type": "string" + "rrn" : { + "type" : "string" }, - "authorizationCode": { - "type": "string" + "authorizationCode" : { + "type" : "string" }, - "creationDate": { - "type": "string" + "creationDate" : { + "type" : "string" }, - "numAut": { - "type": "string" + "numAut" : { + "type" : "string" }, - "accountCode": { - "type": "string" + "accountCode" : { + "type" : "string" }, - "psp": { - "$ref": "#/components/schemas/TransactionPsp" + "psp" : { + "$ref" : "#/components/schemas/TransactionPsp" }, - "origin": { - "type": "string" + "origin" : { + "type" : "string" } } }, - "TransactionDetails": { - "type": "object", - "properties": { - "user": { - "$ref": "#/components/schemas/User" + "TransactionDetails" : { + "type" : "object", + "properties" : { + "user" : { + "$ref" : "#/components/schemas/User" }, - "paymentAuthorizationRequest": { - "$ref": "#/components/schemas/PaymentAuthorizationRequest" + "paymentAuthorizationRequest" : { + "$ref" : "#/components/schemas/PaymentAuthorizationRequest" }, - "wallet": { - "$ref": "#/components/schemas/WalletItem" + "wallet" : { + "$ref" : "#/components/schemas/WalletItem" }, - "origin": { - "type": "string" + "origin" : { + "type" : "string" }, - "transaction": { - "$ref": "#/components/schemas/Transaction" + "transaction" : { + "$ref" : "#/components/schemas/Transaction" }, - "info": { - "$ref": "#/components/schemas/InfoTransaction" + "info" : { + "$ref" : "#/components/schemas/InfoTransaction" } } }, - "TransactionPsp": { - "type": "object", - "properties": { - "idChannel": { - "type": "string" + "TransactionPsp" : { + "type" : "object", + "properties" : { + "idChannel" : { + "type" : "string" }, - "businessName": { - "type": "string" + "businessName" : { + "type" : "string" }, - "serviceName": { - "type": "string" + "serviceName" : { + "type" : "string" } } }, - "Transfer": { - "type": "object", - "properties": { - "idTransfer": { - "type": "string" + "Transfer" : { + "type" : "object", + "properties" : { + "idTransfer" : { + "type" : "string" }, - "fiscalCodePA": { - "type": "string" + "fiscalCodePA" : { + "type" : "string" }, - "companyName": { - "type": "string" + "companyName" : { + "type" : "string" }, - "amount": { - "type": "string" + "amount" : { + "type" : "string" }, - "transferCategory": { - "type": "string" + "transferCategory" : { + "type" : "string" }, - "remittanceInformation": { - "type": "string" + "remittanceInformation" : { + "type" : "string" }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MapEntry" + "metadata" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/MapEntry" } }, - "IBAN": { - "type": "string" + "IBAN" : { + "type" : "string" }, - "MBD": { - "$ref": "#/components/schemas/MBD" + "MBD" : { + "$ref" : "#/components/schemas/MBD" } } }, - "User": { - "type": "object", - "properties": { - "fullName": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "F", - "G", - "GUEST" - ] - }, - "fiscalCode": { - "type": "string" - }, - "notificationEmail": { - "type": "string" - }, - "userId": { - "type": "string" - }, - "userStatus": { - "type": "string" - }, - "userStatusDescription": { - "type": "string" + "User" : { + "type" : "object", + "properties" : { + "fullName" : { + "type" : "string" + }, + "type" : { + "type" : "string", + "enum" : [ "F", "G", "GUEST" ] + }, + "fiscalCode" : { + "type" : "string" + }, + "notificationEmail" : { + "type" : "string" + }, + "userId" : { + "type" : "string" + }, + "userStatus" : { + "type" : "string" + }, + "userStatusDescription" : { + "type" : "string" } } }, - "WalletItem": { - "type": "object", - "properties": { - "idWallet": { - "type": "string" - }, - "walletType": { - "type": "string", - "enum": [ - "CARD", - "PAYPAL", - "BANCOMATPAY" - ] - }, - "enableableFunctions": { - "type": "array", - "items": { - "type": "string" + "WalletItem" : { + "type" : "object", + "properties" : { + "idWallet" : { + "type" : "string" + }, + "walletType" : { + "type" : "string", + "enum" : [ "CARD", "PAYPAL", "BANCOMATPAY" ] + }, + "enableableFunctions" : { + "type" : "array", + "items" : { + "type" : "string" } }, - "pagoPa": { - "type": "boolean" + "pagoPa" : { + "type" : "boolean" }, - "onboardingChannel": { - "type": "string" + "onboardingChannel" : { + "type" : "string" }, - "favourite": { - "type": "boolean" + "favourite" : { + "type" : "boolean" }, - "createDate": { - "type": "string" + "createDate" : { + "type" : "string" }, - "info": { - "$ref": "#/components/schemas/Info" + "info" : { + "$ref" : "#/components/schemas/Info" }, - "authRequest": { - "$ref": "#/components/schemas/AuthRequest" + "authRequest" : { + "$ref" : "#/components/schemas/AuthRequest" } } } }, - "securitySchemes": { - "ApiKey": { - "type": "apiKey", - "description": "The API key to access this function app.", - "name": "Ocp-Apim-Subscription-Key", - "in": "header" + "securitySchemes" : { + "ApiKey" : { + "type" : "apiKey", + "description" : "The API key to access this function app.", + "name" : "Ocp-Apim-Subscription-Key", + "in" : "header" } } } -} +} \ No newline at end of file diff --git a/openapi/openapi_io.json b/openapi/openapi_io.json index 7137050a..b596cd10 100644 --- a/openapi/openapi_io.json +++ b/openapi/openapi_io.json @@ -1,838 +1,789 @@ { - "openapi": "3.0.1", - "info": { - "title": "Biz-Events Service", - "description": "Microservice for exposing REST APIs about payment receipts.", - "termsOfService": "https://www.pagopa.gov.it/", - "version": "0.1.27" + "openapi" : "3.0.1", + "info" : { + "title" : "Biz-Events Service", + "description" : "Microservice for exposing REST APIs about payment receipts.", + "termsOfService" : "https://www.pagopa.gov.it/", + "version" : "0.1.27" }, - "servers": [ - { - "url": "http://localhost", - "description": "Generated server url" - } - ], - "paths": { - "/transactions/{transaction-id}/disable": { - "post": { - "tags": [ - "IO Transactions REST APIs" - ], - "summary": "Disable the transaction details given its id.", - "operationId": "disableTransaction", - "parameters": [ - { - "name": "x-fiscal-code", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "transaction-id", - "in": "path", - "description": "The id of the transaction.", - "required": true, - "schema": { - "type": "string" - } + "servers" : [ { + "url" : "http://localhost", + "description" : "Generated server url" + } ], + "paths" : { + "/transactions/{transaction-id}/disable" : { + "post" : { + "tags" : [ "IO Transactions REST APIs" ], + "summary" : "Disable the transaction details given its id.", + "operationId" : "disableTransaction", + "parameters" : [ { + "name" : "x-fiscal-code", + "in" : "header", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "transaction-id", + "in" : "path", + "description" : "The id of the transaction.", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "404": { - "description": "Not found the transaction.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "200" : { + "description" : "Disabled Transactions.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" - } - } + "content" : { + "application/json" : { } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the transaction.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "200": { - "description": "Disabled Transactions.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } - }, - "content": { - "application/json": {} } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/transactions": { - "get": { - "tags": [ - "IO Transactions REST APIs" - ], - "summary": "Retrieve the paged transaction list from biz events.", - "operationId": "getTransactionList", - "parameters": [ - { - "name": "x-fiscal-code", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "x-continuation-token", - "in": "header", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "default": 10 - } + "/transactions" : { + "get" : { + "tags" : [ "IO Transactions REST APIs" ], + "summary" : "Retrieve the paged transaction list from biz events.", + "operationId" : "getTransactionList", + "parameters" : [ { + "name" : "x-fiscal-code", + "in" : "header", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "x-continuation-token", + "in" : "header", + "required" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "size", + "in" : "query", + "required" : false, + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 10 } - ], - "responses": { - "404": { - "description": "Not found the transaction.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "200" : { + "description" : "Obtained transaction list.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + }, + "x-continuation-token" : { + "description" : "continuation token for paginated query", + "style" : "simple", + "schema" : { + "type" : "string" } } }, - "content": { - "*/*": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransactionListWrapResponse" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the transaction.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "*/*" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "200": { - "description": "Obtained transaction list.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - }, - "x-continuation-token": { - "description": "continuation token for paginated query", - "style": "simple", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TransactionListItem" - } + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/transactions/{transaction-id}": { - "get": { - "tags": [ - "IO Transactions REST APIs" - ], - "summary": "Retrieve the transaction details given its id.", - "operationId": "getTransactionDetails", - "parameters": [ - { - "name": "x-fiscal-code", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "transaction-id", - "in": "path", - "description": "The id of the transaction.", - "required": true, - "schema": { - "type": "string" - } + "/transactions/{transaction-id}" : { + "get" : { + "tags" : [ "IO Transactions REST APIs" ], + "summary" : "Retrieve the transaction details given its id.", + "operationId" : "getTransactionDetails", + "parameters" : [ { + "name" : "x-fiscal-code", + "in" : "header", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "transaction-id", + "in" : "path", + "description" : "The id of the transaction.", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "404": { - "description": "Not found the transaction.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + } ], + "responses" : { + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "200": { - "description": "Obtained transaction details.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the transaction.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TransactionDetailResponse" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "200" : { + "description" : "Obtained transaction details.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } - } - }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/TransactionDetailResponse" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + } + }, + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/transactions/{event-id}/pdf": { - "get": { - "tags": [ - "IO Transactions REST APIs" - ], - "summary": "Retrieve the PDF receipt given event id.", - "operationId": "getPDFReceipt", - "parameters": [ - { - "name": "x-fiscal-code", - "in": "header", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "event-id", - "in": "path", - "description": "The id of the event.", - "required": true, - "schema": { - "type": "string" - } + "/transactions/{event-id}/pdf" : { + "get" : { + "tags" : [ "IO Transactions REST APIs" ], + "summary" : "Retrieve the PDF receipt given event id.", + "operationId" : "getPDFReceipt", + "parameters" : [ { + "name" : "x-fiscal-code", + "in" : "header", + "required" : true, + "schema" : { + "type" : "string" } - ], - "responses": { - "404": { - "description": "Not found the receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, { + "name" : "event-id", + "in" : "path", + "description" : "The id of the event.", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "422" : { + "description" : "Unprocessable receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "429": { - "description": "Too many requests.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } - } - }, - "200": { - "description": "Obtained the PDF receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } - }, - "content": { - "application/pdf": {} } }, - "422": { - "description": "Unprocessable receipt.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "404" : { + "description" : "Not found the receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "200" : { + "description" : "Obtained the PDF receipt.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/pdf" : { } + } + }, + "429" : { + "description" : "Too many requests.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "401": { - "description": "Wrong or missing function key.", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Wrong or missing function key.", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] }, - "/info": { - "get": { - "tags": [ - "Home" - ], - "summary": "health check", - "description": "Return OK if application is started", - "operationId": "healthCheck", - "responses": { - "400": { - "description": "Bad Request", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "/info" : { + "get" : { + "tags" : [ "Home" ], + "summary" : "health check", + "description" : "Return OK if application is started", + "operationId" : "healthCheck", + "responses" : { + "429" : { + "description" : "Too many requests", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "401": { - "description": "Unauthorized", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "401" : { + "description" : "Unauthorized", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "403": { - "description": "Forbidden", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "400" : { + "description" : "Bad Request", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "500": { - "description": "Service unavailable", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "500" : { + "description" : "Service unavailable", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemJson" + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemJson" } } } }, - "200": { - "description": "OK", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppInfo" + "403" : { + "description" : "Forbidden", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" } } } }, - "429": { - "description": "Too many requests", - "headers": { - "X-Request-Id": { - "description": "This header identifies the call", - "schema": { - "type": "string" + "200" : { + "description" : "OK", + "headers" : { + "X-Request-Id" : { + "description" : "This header identifies the call", + "schema" : { + "type" : "string" + } + } + }, + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/AppInfo" } } } } }, - "security": [ - { - "ApiKey": [] - } - ] + "security" : [ { + "ApiKey" : [ ] + } ] }, - "parameters": [ - { - "name": "X-Request-Id", - "in": "header", - "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", - "schema": { - "type": "string" - } + "parameters" : [ { + "name" : "X-Request-Id", + "in" : "header", + "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.", + "schema" : { + "type" : "string" } - ] + } ] } }, - "components": { - "schemas": { - "ProblemJson": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" - }, - "status": { - "maximum": 600, - "minimum": 100, - "type": "integer", - "description": "The HTTP status code generated by the origin server for this occurrence of the problem.", - "format": "int32", - "example": 200 - }, - "detail": { - "type": "string", - "description": "A human readable explanation specific to this occurrence of the problem.", - "example": "There was an error processing the request" + "components" : { + "schemas" : { + "ProblemJson" : { + "type" : "object", + "properties" : { + "title" : { + "type" : "string", + "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable" + }, + "status" : { + "maximum" : 600, + "minimum" : 100, + "type" : "integer", + "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.", + "format" : "int32", + "example" : 200 + }, + "detail" : { + "type" : "string", + "description" : "A human readable explanation specific to this occurrence of the problem.", + "example" : "There was an error processing the request" } } }, - "TransactionListItem": { - "type": "object", - "properties": { - "transactionId": { - "type": "string" + "TransactionListItem" : { + "type" : "object", + "properties" : { + "transactionId" : { + "type" : "string" + }, + "payeeName" : { + "type" : "string" }, - "payeeName": { - "type": "string" + "payeeTaxCode" : { + "type" : "string" }, - "payeeTaxCode": { - "type": "string" + "amount" : { + "type" : "string" }, - "amount": { - "type": "string" + "transactionDate" : { + "type" : "string" }, - "transactionDate": { - "type": "string" + "isCart" : { + "type" : "boolean" }, - "isCart": { - "type": "boolean" + "isPayer" : { + "type" : "boolean" }, - "isPayer": { - "type": "boolean" + "isDebtor" : { + "type" : "boolean" } } }, - "CartItem": { - "type": "object", - "properties": { - "subject": { - "type": "string" + "TransactionListWrapResponse" : { + "type" : "object", + "properties" : { + "transactions" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/TransactionListItem" + } + } + } + }, + "CartItem" : { + "type" : "object", + "properties" : { + "subject" : { + "type" : "string" }, - "amount": { - "type": "string" + "amount" : { + "type" : "string" }, - "payee": { - "$ref": "#/components/schemas/UserDetail" + "payee" : { + "$ref" : "#/components/schemas/UserDetail" }, - "debtor": { - "$ref": "#/components/schemas/UserDetail" + "debtor" : { + "$ref" : "#/components/schemas/UserDetail" }, - "refNumberValue": { - "type": "string" + "refNumberValue" : { + "type" : "string" }, - "refNumberType": { - "type": "string" + "refNumberType" : { + "type" : "string" } } }, - "InfoTransaction": { - "type": "object", - "properties": { - "transactionId": { - "type": "string" - }, - "authCode": { - "type": "string" - }, - "rrn": { - "type": "string" - }, - "transactionDate": { - "type": "string" - }, - "pspName": { - "type": "string" - }, - "walletInfo": { - "$ref": "#/components/schemas/WalletInfo" - }, - "paymentMethod": { - "type": "string", - "enum": [ - "BBT", - "BP", - "AD", - "CP", - "PO", - "OBEP", - "JIF", - "MYBK", - "PPAL", - "UNKNOWN" - ] - }, - "payer": { - "$ref": "#/components/schemas/UserDetail" - }, - "amount": { - "type": "string" - }, - "fee": { - "type": "string" - }, - "origin": { - "type": "string", - "enum": [ - "INTERNAL", - "PM", - "NDP001PROD", - "NDP002PROD", - "NDP003PROD", - "UNKNOWN" - ] + "InfoTransactionView" : { + "type" : "object", + "properties" : { + "transactionId" : { + "type" : "string" + }, + "authCode" : { + "type" : "string" + }, + "rrn" : { + "type" : "string" + }, + "transactionDate" : { + "type" : "string" + }, + "pspName" : { + "type" : "string" + }, + "walletInfo" : { + "$ref" : "#/components/schemas/WalletInfo" + }, + "paymentMethod" : { + "type" : "string", + "enum" : [ "BBT", "BP", "AD", "CP", "PO", "OBEP", "JIF", "MYBK", "PPAL", "UNKNOWN" ] + }, + "payer" : { + "$ref" : "#/components/schemas/UserDetail" + }, + "amount" : { + "type" : "string" + }, + "fee" : { + "type" : "string" + }, + "origin" : { + "type" : "string", + "enum" : [ "INTERNAL", "PM", "NDP001PROD", "NDP002PROD", "NDP003PROD", "UNKNOWN" ] } } }, - "TransactionDetailResponse": { - "type": "object", - "properties": { - "infoTransaction": { - "$ref": "#/components/schemas/InfoTransaction" - }, - "carts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartItem" + "TransactionDetailResponse" : { + "type" : "object", + "properties" : { + "infoTransaction" : { + "$ref" : "#/components/schemas/InfoTransactionView" + }, + "carts" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/CartItem" } } } }, - "UserDetail": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "taxCode": { - "type": "string" + "UserDetail" : { + "type" : "object", + "properties" : { + "name" : { + "type" : "string" + }, + "taxCode" : { + "type" : "string" } } }, - "WalletInfo": { - "type": "object", - "properties": { - "accountHolder": { - "type": "string" + "WalletInfo" : { + "type" : "object", + "properties" : { + "accountHolder" : { + "type" : "string" + }, + "brand" : { + "type" : "string" }, - "brand": { - "type": "string" + "blurredNumber" : { + "type" : "string" }, - "blurredNumber": { - "type": "string" + "maskedEmail" : { + "type" : "string" } } }, - "AppInfo": { - "type": "object", - "properties": { - "name": { - "type": "string" + "AppInfo" : { + "type" : "object", + "properties" : { + "name" : { + "type" : "string" }, - "version": { - "type": "string" + "version" : { + "type" : "string" }, - "environment": { - "type": "string" + "environment" : { + "type" : "string" } } } }, - "securitySchemes": { - "ApiKey": { - "type": "apiKey", - "description": "The API key to access this function app.", - "name": "Ocp-Apim-Subscription-Key", - "in": "header" + "securitySchemes" : { + "ApiKey" : { + "type" : "apiKey", + "description" : "The API key to access this function app.", + "name" : "Ocp-Apim-Subscription-Key", + "in" : "header" } } } -} +} \ No newline at end of file diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/controller/ITransactionController.java b/src/main/java/it/gov/pagopa/bizeventsservice/controller/ITransactionController.java index eab328b0..d03c3347 100644 --- a/src/main/java/it/gov/pagopa/bizeventsservice/controller/ITransactionController.java +++ b/src/main/java/it/gov/pagopa/bizeventsservice/controller/ITransactionController.java @@ -3,7 +3,6 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.headers.Header; -import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -12,7 +11,8 @@ import io.swagger.v3.oas.annotations.tags.Tag; import it.gov.pagopa.bizeventsservice.model.ProblemJson; import it.gov.pagopa.bizeventsservice.model.response.transaction.TransactionDetailResponse; -import it.gov.pagopa.bizeventsservice.model.response.transaction.TransactionListItem; +import it.gov.pagopa.bizeventsservice.model.response.transaction.TransactionListWrapResponse; + import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -25,7 +25,6 @@ import javax.validation.constraints.NotBlank; -import java.util.List; @Tag(name = "IO Transactions REST APIs") @RequestMapping("/transactions") @@ -48,14 +47,14 @@ public interface ITransactionController { @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Obtained transaction list.", headers = @Header(name = X_CONTINUATION_TOKEN, description = "continuation token for paginated query", schema = @Schema(type="string")), - content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, array = @ArraySchema(schema = @Schema(name = "TransactionListItem", implementation = TransactionListItem.class)))), + content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(name = "TransactionListWrapResponse", implementation = TransactionListWrapResponse.class))), @ApiResponse(responseCode = "401", description = "Wrong or missing function key.", content = @Content(schema = @Schema())), @ApiResponse(responseCode = "404", description = "Not found the transaction.", content = @Content(schema = @Schema(implementation = ProblemJson.class))), @ApiResponse(responseCode = "429", description = "Too many requests.", content = @Content(schema = @Schema())), @ApiResponse(responseCode = "500", description = "Service unavailable.", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = ProblemJson.class)))}) @Operation(summary = "Retrieve the paged transaction list from biz events.", security = { @SecurityRequirement(name = "ApiKey")}, operationId = "getTransactionList") - ResponseEntity> getTransactionList( + ResponseEntity getTransactionList( @RequestHeader(name = X_FISCAL_CODE) String fiscalCode, @RequestHeader(name = X_CONTINUATION_TOKEN, required = false) String continuationToken, @RequestParam(name = PAGE_SIZE, required = false, defaultValue = "10") Integer size diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/controller/impl/TransactionController.java b/src/main/java/it/gov/pagopa/bizeventsservice/controller/impl/TransactionController.java index 2de3a2b8..e8c41820 100644 --- a/src/main/java/it/gov/pagopa/bizeventsservice/controller/impl/TransactionController.java +++ b/src/main/java/it/gov/pagopa/bizeventsservice/controller/impl/TransactionController.java @@ -3,10 +3,10 @@ import it.gov.pagopa.bizeventsservice.client.IReceiptPDFClient; import it.gov.pagopa.bizeventsservice.controller.ITransactionController; import it.gov.pagopa.bizeventsservice.exception.AppException; -import it.gov.pagopa.bizeventsservice.model.response.transaction.TransactionListItem; import it.gov.pagopa.bizeventsservice.model.response.AttachmentsDetailsResponse; import it.gov.pagopa.bizeventsservice.model.response.transaction.TransactionDetailResponse; import it.gov.pagopa.bizeventsservice.model.response.transaction.TransactionListResponse; +import it.gov.pagopa.bizeventsservice.model.response.transaction.TransactionListWrapResponse; import it.gov.pagopa.bizeventsservice.service.IBizEventsService; import it.gov.pagopa.bizeventsservice.service.ITransactionService; import org.springframework.beans.factory.annotation.Autowired; @@ -17,8 +17,6 @@ import feign.FeignException; -import java.util.List; - import javax.validation.constraints.NotBlank; /** @@ -40,13 +38,13 @@ public TransactionController(ITransactionService transactionService, IBizEventsS } @Override - public ResponseEntity> getTransactionList( + public ResponseEntity getTransactionList( String fiscalCode, String continuationToken, Integer size) { TransactionListResponse transactionListResponse = transactionService.getTransactionList(fiscalCode, continuationToken, size); return ResponseEntity.ok() .header(X_CONTINUATION_TOKEN, transactionListResponse.getContinuationToken()) - .body(transactionListResponse.getTransactionList()); + .body(TransactionListWrapResponse.builder().transactions(transactionListResponse.getTransactionList()).build()); } @Override diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/entity/view/BizEventsViewUser.java b/src/main/java/it/gov/pagopa/bizeventsservice/entity/view/BizEventsViewUser.java index a24afeec..2ae83543 100644 --- a/src/main/java/it/gov/pagopa/bizeventsservice/entity/view/BizEventsViewUser.java +++ b/src/main/java/it/gov/pagopa/bizeventsservice/entity/view/BizEventsViewUser.java @@ -23,4 +23,5 @@ public class BizEventsViewUser { private String transactionDate; private Boolean hidden; private Boolean isPayer; + private Boolean isDebtor; } diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/entity/view/WalletInfo.java b/src/main/java/it/gov/pagopa/bizeventsservice/entity/view/WalletInfo.java index e475a75b..144bc36d 100644 --- a/src/main/java/it/gov/pagopa/bizeventsservice/entity/view/WalletInfo.java +++ b/src/main/java/it/gov/pagopa/bizeventsservice/entity/view/WalletInfo.java @@ -7,13 +7,22 @@ import java.io.Serializable; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + @Builder @Data @NoArgsConstructor @AllArgsConstructor +@JsonInclude(Include.NON_NULL) public class WalletInfo implements Serializable { - private String accountHolder; + /** + * + */ + private static final long serialVersionUID = -6409303257722729484L; + private String accountHolder; private String brand; private String blurredNumber; + private String maskedEmail; } diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/mapper/ConvertViewsToTransactionDetailResponse.java b/src/main/java/it/gov/pagopa/bizeventsservice/mapper/ConvertViewsToTransactionDetailResponse.java index 31b88171..c87b8d40 100644 --- a/src/main/java/it/gov/pagopa/bizeventsservice/mapper/ConvertViewsToTransactionDetailResponse.java +++ b/src/main/java/it/gov/pagopa/bizeventsservice/mapper/ConvertViewsToTransactionDetailResponse.java @@ -4,10 +4,11 @@ import it.gov.pagopa.bizeventsservice.entity.view.BizEventsViewGeneral; import it.gov.pagopa.bizeventsservice.entity.view.BizEventsViewUser; import it.gov.pagopa.bizeventsservice.model.response.transaction.CartItem; -import it.gov.pagopa.bizeventsservice.model.response.transaction.InfoTransaction; +import it.gov.pagopa.bizeventsservice.model.response.transaction.InfoTransactionView; import it.gov.pagopa.bizeventsservice.util.DateValidator; import it.gov.pagopa.bizeventsservice.model.response.transaction.*; +import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -36,10 +37,10 @@ public void setPayeeCartName(String payeeCartNameValue){ payeeCartName = payeeCartNameValue; } - public static TransactionDetailResponse convertTransactionDetails(BizEventsViewGeneral bizEventsViewGeneral, List listOfCartViews) { + public static TransactionDetailResponse convertTransactionDetails(String taxCode, BizEventsViewGeneral bizEventsViewGeneral, List listOfCartViews) { List listOfCartItems = new ArrayList<>(); AtomicReference totalAmount = new AtomicReference<>(BigDecimal.ZERO); - + for (BizEventsViewCart bizEventsViewCart : listOfCartViews) { listOfCartItems.add( @@ -55,20 +56,22 @@ public static TransactionDetailResponse convertTransactionDetails(BizEventsViewG BigDecimal amountExtracted = new BigDecimal(bizEventsViewCart.getAmount()); totalAmount.updateAndGet(v -> v.add(amountExtracted)); } - + + // PAGOPA-1763: if the tax code refers to a debtor, do not show the sections relating to the payer + boolean isDebtor = !bizEventsViewGeneral.getPayer().getTaxCode().equals(taxCode); return TransactionDetailResponse.builder() .infoTransaction( - InfoTransaction.builder() + InfoTransactionView.builder() .transactionId(bizEventsViewGeneral.getTransactionId()) .authCode(bizEventsViewGeneral.getAuthCode()) .rrn(bizEventsViewGeneral.getRrn()) .transactionDate(dateFormatZoned(bizEventsViewGeneral.getTransactionDate())) .pspName(bizEventsViewGeneral.getPspName()) - .walletInfo(bizEventsViewGeneral.getWalletInfo()) - .payer(bizEventsViewGeneral.getPayer()) + .walletInfo(isDebtor ? null:bizEventsViewGeneral.getWalletInfo()) + .payer(isDebtor ? null:bizEventsViewGeneral.getPayer()) .amount(currencyFormat(totalAmount.get().toString())) .fee(bizEventsViewGeneral.getFee()) - .paymentMethod(bizEventsViewGeneral.getPaymentMethod()) + .paymentMethod(isDebtor ? null:bizEventsViewGeneral.getPaymentMethod()) .origin(bizEventsViewGeneral.getOrigin()) .build() ) @@ -82,14 +85,17 @@ public static TransactionListItem convertTransactionListItem(BizEventsViewUser v BigDecimal amountExtracted = new BigDecimal(bizEventsViewCart.getAmount()); totalAmount.updateAndGet(v -> v.add(amountExtracted)); } + return TransactionListItem.builder() .transactionId(viewUser.getTransactionId()) .payeeName(listOfCartViews.size() > 1 ? payeeCartName : listOfCartViews.get(0).getPayee().getName()) .payeeTaxCode(listOfCartViews.size() > 1 ? "" : listOfCartViews.get(0).getPayee().getTaxCode()) - .amount(currencyFormat(totalAmount.get().toString())) + // PAGOPA-1763: the amount value must be returned only if it is not a cart type transaction + .amount(listOfCartViews.size() > 1 ? null : currencyFormat(totalAmount.get().toString())) .transactionDate(dateFormatZoned(viewUser.getTransactionDate())) .isCart(listOfCartViews.size() > 1) - .isPayer(viewUser.getIsPayer()) + .isPayer(BooleanUtils.isTrue(viewUser.getIsPayer())) + .isDebtor(BooleanUtils.isTrue(viewUser.getIsDebtor())) .build(); } diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/InfoTransaction.java b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/InfoTransactionView.java similarity index 73% rename from src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/InfoTransaction.java rename to src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/InfoTransactionView.java index bb04493c..b48fdb3e 100644 --- a/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/InfoTransaction.java +++ b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/InfoTransactionView.java @@ -11,6 +11,9 @@ import java.io.Serializable; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + /** * Response model for transaction detail API */ @@ -18,8 +21,13 @@ @Data @NoArgsConstructor @AllArgsConstructor -public class InfoTransaction implements Serializable { - private String transactionId; +@JsonInclude(Include.NON_NULL) +public class InfoTransactionView implements Serializable { + /** + * + */ + private static final long serialVersionUID = -3548526079754223084L; + private String transactionId; private String authCode; private String rrn; private String transactionDate; diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionDetailResponse.java b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionDetailResponse.java index 9f40e720..c7631168 100644 --- a/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionDetailResponse.java +++ b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionDetailResponse.java @@ -17,6 +17,10 @@ @AllArgsConstructor public class TransactionDetailResponse implements Serializable { - private InfoTransaction infoTransaction; + /** + * + */ + private static final long serialVersionUID = 4998486115671575833L; + private InfoTransactionView infoTransaction; private List carts; } diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionListItem.java b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionListItem.java index a46c6bd1..6f4779ac 100644 --- a/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionListItem.java +++ b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionListItem.java @@ -7,6 +7,9 @@ import java.io.Serializable; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + /** * Response model for transaction list API */ @@ -14,6 +17,7 @@ @AllArgsConstructor @NoArgsConstructor @Builder +@JsonInclude(Include.NON_NULL) public class TransactionListItem implements Serializable { /** * @@ -26,4 +30,6 @@ public class TransactionListItem implements Serializable { private String transactionDate; private Boolean isCart; private Boolean isPayer; + @Builder.Default + private Boolean isDebtor = false; } diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionListWrapResponse.java b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionListWrapResponse.java new file mode 100644 index 00000000..6e5f53c2 --- /dev/null +++ b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/transaction/TransactionListWrapResponse.java @@ -0,0 +1,12 @@ +package it.gov.pagopa.bizeventsservice.model.response.transaction; + +import lombok.Builder; +import lombok.Getter; + +import java.util.List; + +@Builder +@Getter +public class TransactionListWrapResponse { + private List transactions; +} diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/service/impl/TransactionService.java b/src/main/java/it/gov/pagopa/bizeventsservice/service/impl/TransactionService.java index 3623a6f8..5cf59467 100644 --- a/src/main/java/it/gov/pagopa/bizeventsservice/service/impl/TransactionService.java +++ b/src/main/java/it/gov/pagopa/bizeventsservice/service/impl/TransactionService.java @@ -64,7 +64,6 @@ public TransactionListResponse getTransactionList( TransactionListItem transactionListItem = ConvertViewsToTransactionDetailResponse.convertTransactionListItem(viewUser, listOfViewCart); listOfTransactionListItem.add(transactionListItem); } - //TODO handle error in case a transaction is invalid (empty) } CosmosPageRequest pageResponse = (CosmosPageRequest) page.getPageable().next(); @@ -93,7 +92,7 @@ public TransactionDetailResponse getTransactionDetails(String taxCode, String ev throw new AppException(AppError.VIEW_CART_NOT_FOUND_WITH_TRANSACTION_ID_AND_TAX_CODE, eventReference); } - return ConvertViewsToTransactionDetailResponse.convertTransactionDetails(bizEventsViewGeneral.get(0), listOfCartViews); + return ConvertViewsToTransactionDetailResponse.convertTransactionDetails(taxCode, bizEventsViewGeneral.get(0), listOfCartViews); } @Override diff --git a/src/test/java/it/gov/pagopa/bizeventsservice/service/TransactionServiceTest.java b/src/test/java/it/gov/pagopa/bizeventsservice/service/TransactionServiceTest.java index 28ddee87..aa3c5cb5 100644 --- a/src/test/java/it/gov/pagopa/bizeventsservice/service/TransactionServiceTest.java +++ b/src/test/java/it/gov/pagopa/bizeventsservice/service/TransactionServiceTest.java @@ -111,7 +111,8 @@ void taxCodeWithEventsAndMultipleCartItemsShouldReturnTransactionList() { Assertions.assertEquals(listOfViewUser.size(), transactionListItems.size()); for(TransactionListItem listItem : transactionListItems){ - Assertions.assertEquals(ViewGenerator.FORMATTED_GRAND_TOTAL, listItem.getAmount()); + // PAGOPA-1763: the amount value must be returned only if it is not a cart type transaction + Assertions.assertTrue(listItem.getIsCart() ? listItem.getAmount()==null:listItem.getAmount().equals(ViewGenerator.FORMATTED_GRAND_TOTAL)); Assertions.assertEquals(payeeCartName, listItem.getPayeeName()); Assertions.assertEquals("", listItem.getPayeeTaxCode()); } @@ -140,7 +141,7 @@ void idAndTaxCodeWithOneEventShouldReturnTransactionDetails() { BizEventsViewGeneral viewGeneral = generalViewList.get(0); Assertions.assertNotNull(transactionDetailResponse); - InfoTransaction infoTransaction = transactionDetailResponse.getInfoTransaction(); + InfoTransactionView infoTransaction = transactionDetailResponse.getInfoTransaction(); Assertions.assertEquals(viewGeneral.getTransactionId(), infoTransaction.getTransactionId()); Assertions.assertEquals(viewGeneral.getAuthCode(), infoTransaction.getAuthCode()); Assertions.assertEquals(viewGeneral.getRrn(), infoTransaction.getRrn()); @@ -149,6 +150,7 @@ void idAndTaxCodeWithOneEventShouldReturnTransactionDetails() { Assertions.assertEquals(viewGeneral.getWalletInfo().getAccountHolder(), infoTransaction.getWalletInfo().getAccountHolder()); Assertions.assertEquals(viewGeneral.getWalletInfo().getBrand(), infoTransaction.getWalletInfo().getBrand()); Assertions.assertEquals(viewGeneral.getWalletInfo().getBlurredNumber(), infoTransaction.getWalletInfo().getBlurredNumber()); + Assertions.assertEquals(viewGeneral.getWalletInfo().getMaskedEmail(), infoTransaction.getWalletInfo().getMaskedEmail()); Assertions.assertEquals(viewGeneral.getPayer().getName(), infoTransaction.getPayer().getName()); Assertions.assertEquals(viewGeneral.getPayer().getTaxCode(), infoTransaction.getPayer().getTaxCode()); Assertions.assertEquals(ViewGenerator.FORMATTED_AMOUNT, infoTransaction.getAmount()); diff --git a/src/test/java/it/gov/pagopa/bizeventsservice/util/ViewGenerator.java b/src/test/java/it/gov/pagopa/bizeventsservice/util/ViewGenerator.java index 4224c84b..e2de37c5 100644 --- a/src/test/java/it/gov/pagopa/bizeventsservice/util/ViewGenerator.java +++ b/src/test/java/it/gov/pagopa/bizeventsservice/util/ViewGenerator.java @@ -18,6 +18,7 @@ public class ViewGenerator { public static final String BRAND = "brand"; public static final String ACCOUNT_HOLDER = "accountHolder"; public static final String BLURRED_NUMBER = "blurredNumber"; + public static final String MASKED_EMAIL = "maskedEmail@email.com"; public static final String PAYER_NAME = "payerName"; public static final String EVENT_ID = "eventId"; public static final String SUBJECT = "subject"; @@ -36,6 +37,7 @@ public static BizEventsViewUser generateBizEventsViewUser(){ .transactionId(TRANSACTION_ID) .transactionDate(TRANSACTION_DATE) .hidden(false) + .isPayer(Boolean.FALSE) .build(); } @@ -61,6 +63,7 @@ public static BizEventsViewGeneral generateBizEventsViewGeneral(){ .brand(BRAND) .accountHolder(ACCOUNT_HOLDER) .blurredNumber(BLURRED_NUMBER) + .maskedEmail(MASKED_EMAIL) .build()) .payer(UserDetail.builder() .name(PAYER_NAME)