diff --git a/helm/values-dev.yaml b/helm/values-dev.yaml
index 5041cb0c..1e0bb599 100644
--- a/helm/values-dev.yaml
+++ b/helm/values-dev.yaml
@@ -78,6 +78,10 @@ microservice-chart:
COSMOS_DB_VIEW_GENERAL_CONTAINER_NAME: 'biz-events-view-general'
COSMOS_DB_VIEW_CART_CONTAINER_NAME: 'biz-events-view-cart'
COSMOS_QUERY_METRICS: 'false'
+ PDF_RECEIPT_HOST: 'https://api.dev.platform.pagopa.it/receipts/service/v1'
+ RETRY_MAX_DELAY: "10000"
+ RETRY_MAX_ATTEMPTS: "1"
+ CONNECTION_TIMEOUT: "10000"
OTEL_SERVICE_NAME: "pagopabizeventsservice"
OTEL_RESOURCE_ATTRIBUTES: "service.name=pagopareceiptspdfserviceotl,deployment.environment=dev"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://otel-collector.elastic-system.svc:4317"
@@ -89,6 +93,7 @@ microservice-chart:
envSecret:
APPLICATIONINSIGHTS_CONNECTION_STRING: 'ai-d-connection-string'
COSMOS_DB_PRIMARY_KEY: 'cosmos-d-biz-key'
+ PDF_RECEIPT_SUBSCRIPTION_KEY: "bizevent-d-receiptpdfservice-subscription-key"
OTEL_EXPORTER_OTLP_HEADERS: 'elastic-otl-secret-token'
keyvault:
name: "pagopa-d-bizevents-kv"
diff --git a/helm/values-prod.yaml b/helm/values-prod.yaml
index a0c311ae..483679ae 100644
--- a/helm/values-prod.yaml
+++ b/helm/values-prod.yaml
@@ -78,6 +78,10 @@ microservice-chart:
COSMOS_DB_VIEW_GENERAL_CONTAINER_NAME: 'biz-events-view-general'
COSMOS_DB_VIEW_CART_CONTAINER_NAME: 'biz-events-view-cart'
COSMOS_QUERY_METRICS: 'false'
+ PDF_RECEIPT_HOST: 'https://api.platform.pagopa.it/receipts/service/v1'
+ RETRY_MAX_DELAY: "10000"
+ RETRY_MAX_ATTEMPTS: "1"
+ CONNECTION_TIMEOUT: "10000"
OTEL_SERVICE_NAME: "pagopabizeventsservice"
OTEL_RESOURCE_ATTRIBUTES: "service.name=pagopareceiptspdfserviceotl,deployment.environment=prod"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://otel-collector.elastic-system.svc:4317"
@@ -89,6 +93,7 @@ microservice-chart:
envSecret:
APPLICATIONINSIGHTS_CONNECTION_STRING: 'ai-p-connection-string'
COSMOS_DB_PRIMARY_KEY: 'cosmos-p-biz-key'
+ PDF_RECEIPT_SUBSCRIPTION_KEY: "bizevent-p-receiptpdfservice-subscription-key"
OTEL_EXPORTER_OTLP_HEADERS: 'elastic-otl-secret-token'
keyvault:
name: "pagopa-p-bizevents-kv"
diff --git a/helm/values-uat.yaml b/helm/values-uat.yaml
index f1b93312..f02574fb 100644
--- a/helm/values-uat.yaml
+++ b/helm/values-uat.yaml
@@ -78,6 +78,10 @@ microservice-chart:
COSMOS_DB_VIEW_GENERAL_CONTAINER_NAME: 'biz-events-view-general'
COSMOS_DB_VIEW_CART_CONTAINER_NAME: 'biz-events-view-cart'
COSMOS_QUERY_METRICS: 'false'
+ PDF_RECEIPT_HOST: 'https://api.uat.platform.pagopa.it/receipts/service/v1'
+ RETRY_MAX_DELAY: "10000"
+ RETRY_MAX_ATTEMPTS: "1"
+ CONNECTION_TIMEOUT: "10000"
OTEL_SERVICE_NAME: "pagopabizeventsservice"
OTEL_RESOURCE_ATTRIBUTES: "service.name=pagopareceiptspdfserviceotl,deployment.environment=uat"
OTEL_EXPORTER_OTLP_ENDPOINT: "http://otel-collector.elastic-system.svc:4317"
@@ -89,6 +93,7 @@ microservice-chart:
envSecret:
APPLICATIONINSIGHTS_CONNECTION_STRING: 'ai-u-connection-string'
COSMOS_DB_PRIMARY_KEY: 'cosmos-u-biz-key'
+ PDF_RECEIPT_SUBSCRIPTION_KEY: "bizevent-u-receiptpdfservice-subscription-key"
OTEL_EXPORTER_OTLP_HEADERS: 'elastic-otl-secret-token'
keyvault:
name: "pagopa-u-bizevents-kv"
diff --git a/openapi/openapi.json b/openapi/openapi.json
index 061213ad..456c89ee 100644
--- a/openapi/openapi.json
+++ b/openapi/openapi.json
@@ -1,1929 +1,1959 @@
{
- "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.26"
+ "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.26"
},
- "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" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/TransactionListItem"
}
}
}
}
},
- "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/{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/{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 transaction details.",
- "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/json": {
- "schema": {
- "$ref": "#/components/schemas/TransactionDetailResponse"
+ "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"
+ }
+ }
+ },
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ProblemJson"
}
}
}
},
- "404": {
- "description": "Not found the transaction.",
- "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}/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"
+ "/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"
+ }
+ }
+ },
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/TransactionDetailResponse"
+ }
+ }
}
},
- {
- "name": "transaction-id",
- "in": "path",
- "description": "The id of the transaction.",
- "required": true,
- "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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ProblemJson"
+ }
+ }
}
}
- ],
- "responses": {
- "200": {
- "description": "Disabled Transactions.",
- "headers": {
- "X-Request-Id": {
- "description": "This header identifies the call",
- "schema": {
- "type": "string"
+ },
+ "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"
+ }
+ } ]
+ },
+ "/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"
}
}
},
- "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"
}
}
},
- "CartItem": {
- "type": "object",
- "properties": {
- "subject": {
- "type": "string"
+ "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"
+ "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"
}
}
},
- "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/InfoTransaction"
+ },
+ "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"
+ "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"
- },
- "eventStatus": {
- "type": "string",
- "enum": [
- "NA",
- "RETRY",
- "FAILED",
- "DONE"
- ]
- },
- "eventRetryEnrichmentCount": {
- "type": "integer",
- "format": "int32"
+ "transactionDetails" : {
+ "$ref" : "#/components/schemas/TransactionDetails"
+ },
+ "timestamp" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "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"
}
}
},
- "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"
}
}
},
- "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"
+ "User" : {
+ "type" : "object",
+ "properties" : {
+ "fullName" : {
+ "type" : "string"
},
- "type": {
- "type": "string",
- "enum": [
- "F",
- "G"
- ]
+ "type" : {
+ "type" : "string",
+ "enum" : [ "F", "G", "GUEST" ]
},
- "fiscalCode": {
- "type": "string"
+ "fiscalCode" : {
+ "type" : "string"
},
- "notificationEmail": {
- "type": "string"
+ "notificationEmail" : {
+ "type" : "string"
},
- "userId": {
- "type": "string"
+ "userId" : {
+ "type" : "string"
},
- "userStatus": {
- "type": "string"
+ "userStatus" : {
+ "type" : "string"
},
- "userStatusDescription": {
- "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 f33a6783..eb4a6fe7 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.26"
+ "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.26"
},
- "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"
}
- ],
- "responses": {
- "200": {
- "description": "Obtained 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"
+ }
+ } ],
+ "responses" : {
+ "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/CtReceiptModelResponse"
+ "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"
}
}
}
},
- "404": {
- "description": "Not found the receipt.",
- "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"
}
}
}
},
- "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"
}
}
}
},
- "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"
+ "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"
}
}
}
}
},
- "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"
+ }
+ }, {
+ "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"
+ } ],
+ "responses" : {
+ "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/CtReceiptModelResponse"
+ "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"
}
}
}
},
- "404": {
- "description": "Not found the receipt.",
- "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"
}
}
}
},
- "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"
}
}
}
},
- "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"
+ "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"
}
}
}
}
},
- "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" : {
+ "400" : {
+ "description" : "Bad Request",
+ "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/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"
}
}
}
},
- "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"
}
}
}
},
- "400": {
- "description": "Bad Request",
- "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/ProblemJson"
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AppInfo"
}
}
}
},
- "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"
}
}
}
}
},
- "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": {
- "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"
+ "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"
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "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 55025e8d..53f75b43 100644
--- a/openapi/openapi_helpdesk.json
+++ b/openapi/openapi_helpdesk.json
@@ -1,1037 +1,1007 @@
{
- "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.26"
+ "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.26"
},
- "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": {
- "200": {
- "description": "OK",
- "headers": {
- "X-Request-Id": {
- "description": "This header identifies the call",
- "schema": {
- "type": "string"
+ "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/AppInfo"
+ "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"
}
}
}
},
- "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"
}
}
}
},
- "400": {
- "description": "Bad Request",
- "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/ProblemJson"
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AppInfo"
}
}
}
},
- "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"
}
}
}
}
},
- "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" : {
+ "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"
+ "429" : {
+ "description" : "Too many requests.",
+ "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"
+ "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"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
}
},
- "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" : {
+ "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"
+ "429" : {
+ "description" : "Too many requests.",
+ "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"
+ "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"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
}
},
- "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": {
- "AppInfo": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "version": {
- "type": "string"
- },
- "environment": {
- "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"
}
}
},
- "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"
+ },
+ "version" : {
+ "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"
- },
- "eventStatus": {
- "type": "string",
- "enum": [
- "NA",
- "RETRY",
- "FAILED",
- "DONE"
- ]
- },
- "eventRetryEnrichmentCount": {
- "type": "integer",
- "format": "int32"
+ "transactionDetails" : {
+ "$ref" : "#/components/schemas/TransactionDetails"
+ },
+ "timestamp" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "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"
}
}
},
- "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"
+ "User" : {
+ "type" : "object",
+ "properties" : {
+ "fullName" : {
+ "type" : "string"
},
- "type": {
- "type": "string",
- "enum": [
- "F",
- "G"
- ]
+ "type" : {
+ "type" : "string",
+ "enum" : [ "F", "G", "GUEST" ]
},
- "fiscalCode": {
- "type": "string"
+ "fiscalCode" : {
+ "type" : "string"
},
- "notificationEmail": {
- "type": "string"
+ "notificationEmail" : {
+ "type" : "string"
},
- "userId": {
- "type": "string"
+ "userId" : {
+ "type" : "string"
},
- "userStatus": {
- "type": "string"
+ "userStatus" : {
+ "type" : "string"
},
- "userStatusDescription": {
- "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 2b9d6cd3..369dced0 100644
--- a/openapi/openapi_io.json
+++ b/openapi/openapi_io.json
@@ -1,700 +1,775 @@
{
- "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.26"
+ "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.26"
},
- "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": {
- "401": {
- "description": "Wrong or missing function key.",
- "headers": {
- "X-Request-Id": {
- "description": "This header identifies the call",
- "schema": {
- "type": "string"
+ } ],
+ "responses" : {
+ "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"
}
}
}
},
- "200": {
- "description": "Disabled Transactions.",
- "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"
}
}
- },
- "content": {
- "application/json": {}
}
},
- "404": {
- "description": "Not found the transaction.",
- "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"
}
}
}
},
- "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"
+ "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"
}
}
+ },
+ "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"
+ "/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"
+ }
+ }
+ },
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ProblemJson"
+ }
+ }
}
},
- {
- "name": "x-continuation-token",
- "in": "header",
- "required": false,
- "schema": {
- "type": "string"
+ "429" : {
+ "description" : "Too many requests.",
+ "headers" : {
+ "X-Request-Id" : {
+ "description" : "This header identifies the call",
+ "schema" : {
+ "type" : "string"
+ }
+ }
}
},
- {
- "name": "size",
- "in": "query",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "int32",
- "default": 10
+ "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"
+ }
+ }
}
- }
- ],
- "responses": {
- "401": {
- "description": "Wrong or missing function key.",
- "headers": {
- "X-Request-Id": {
- "description": "This header identifies the call",
- "schema": {
- "type": "string"
+ },
+ "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"
+ }
}
}
}
},
- "404": {
- "description": "Not found the transaction.",
- "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" : [ ]
+ } ]
+ },
+ "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"
+ }
+ } ],
+ "responses" : {
+ "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" : {
+ "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 transaction details.",
+ "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/TransactionDetailResponse"
}
}
}
},
- "200": {
- "description": "Obtained transaction list.",
- "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"
}
- },
- "x-continuation-token": {
- "description": "continuation token for paginated query",
- "style": "simple",
- "schema": {
- "type": "string"
+ }
+ }
+ },
+ "500" : {
+ "description" : "Service unavailable.",
+ "headers" : {
+ "X-Request-Id" : {
+ "description" : "This header identifies the call",
+ "schema" : {
+ "type" : "string"
}
}
},
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TransactionListItem"
- }
+ "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"
}
}
}
}
},
- "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/{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": {
- "401": {
- "description": "Wrong or missing function key.",
- "headers": {
- "X-Request-Id": {
- "description": "This header identifies the call",
- "schema": {
- "type": "string"
+ } ],
+ "responses" : {
+ "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"
}
}
}
},
- "404": {
- "description": "Not found the transaction.",
- "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"
}
}
- },
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProblemJson"
+ }
+ },
+ "200" : {
+ "description" : "Obtained the PDF receipt.",
+ "headers" : {
+ "X-Request-Id" : {
+ "description" : "This header identifies the call",
+ "schema" : {
+ "type" : "string"
}
}
+ },
+ "content" : {
+ "application/pdf" : { }
}
},
- "500": {
- "description": "Service unavailable.",
- "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"
}
}
}
},
- "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"
}
}
}
}
},
- "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" : {
+ "400" : {
+ "description" : "Bad Request",
+ "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/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"
}
}
}
},
- "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"
}
}
}
},
- "400": {
- "description": "Bad Request",
- "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/ProblemJson"
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/AppInfo"
}
}
}
},
- "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"
}
}
}
}
},
- "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"
}
}
},
- "CartItem": {
- "type": "object",
- "properties": {
- "subject": {
- "type": "string"
+ "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"
- ]
+ "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" ]
}
}
},
- "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/InfoTransaction"
+ },
+ "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"
}
}
},
- "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/pom.xml b/pom.xml
index 20bcefee..b96ee2eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,6 +21,7 @@
3.1.0
3.29.1
1.5.0
+ 2021.0.9
@@ -39,6 +40,16 @@
azure-spring-data-cosmos
${cosmos-data-version}
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+ org.springframework.retry
+ spring-retry
+
@@ -99,6 +110,18 @@
test
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud.version}
+ pom
+ import
+
+
+
diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/Application.java b/src/main/java/it/gov/pagopa/bizeventsservice/Application.java
index 42c9cf77..baa09e38 100644
--- a/src/main/java/it/gov/pagopa/bizeventsservice/Application.java
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/Application.java
@@ -2,10 +2,14 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.DependsOn;
+import org.springframework.retry.annotation.EnableRetry;
@SpringBootApplication
@DependsOn("expressionResolver")
+@EnableFeignClients
+@EnableRetry
public class Application {
public static void main(String[] args) {
diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptPDFClient.java b/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptPDFClient.java
new file mode 100644
index 00000000..8f4b3c81
--- /dev/null
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptPDFClient.java
@@ -0,0 +1,30 @@
+package it.gov.pagopa.bizeventsservice.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.retry.annotation.Backoff;
+import org.springframework.retry.annotation.Retryable;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestHeader;
+
+import feign.FeignException;
+import it.gov.pagopa.bizeventsservice.config.feign.PDFReceiptFeignConfig;
+import it.gov.pagopa.bizeventsservice.model.response.AttachmentsDetailsResponse;
+
+@FeignClient(value = "receiptPDF", url = "${service.pdf.receipt.host}", configuration = PDFReceiptFeignConfig.class)
+public interface IReceiptPDFClient {
+
+ @Retryable(
+ exclude = FeignException.FeignClientException.class,
+ maxAttemptsExpression = "${retry.maxAttempts}",
+ backoff = @Backoff(delayExpression = "${retry.maxDelay}"))
+ @GetMapping(value = "/messages/{id}")
+ AttachmentsDetailsResponse getAttachments(@RequestHeader("fiscal_code") String fiscalCode, @PathVariable("id") String id);
+
+ @Retryable(
+ exclude = FeignException.FeignClientException.class,
+ maxAttemptsExpression = "${retry.maxAttempts}",
+ backoff = @Backoff(delayExpression = "${retry.maxDelay}"))
+ @GetMapping(value = "/messages/{id}/{attachment_url}")
+ byte[] getReceipt(@RequestHeader("fiscal_code") String fiscalCode, @PathVariable("id") String id, @PathVariable("attachment_url") String attachmentUrl);
+}
diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/AuthFeignConfig.java b/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/AuthFeignConfig.java
new file mode 100644
index 00000000..db524869
--- /dev/null
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/AuthFeignConfig.java
@@ -0,0 +1,22 @@
+package it.gov.pagopa.bizeventsservice.config.feign;
+
+import feign.RequestInterceptor;
+import org.slf4j.MDC;
+import org.springframework.context.annotation.Bean;
+
+public abstract class AuthFeignConfig {
+
+ protected String subscriptionKey;
+
+ static final String HEADER_REQUEST_ID = "X-Request-Id";
+
+ static final String HEADER_SUBSCRIBTION_KEY = "Ocp-Apim-Subscription-Key";
+
+ @Bean
+ public RequestInterceptor requestIdInterceptor() {
+ return requestTemplate ->
+ requestTemplate
+ .header(HEADER_REQUEST_ID, MDC.get("requestId"))
+ .header(HEADER_SUBSCRIBTION_KEY, subscriptionKey);
+ }
+}
diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/PDFReceiptFeignConfig.java b/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/PDFReceiptFeignConfig.java
new file mode 100644
index 00000000..316faaca
--- /dev/null
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/PDFReceiptFeignConfig.java
@@ -0,0 +1,16 @@
+package it.gov.pagopa.bizeventsservice.config.feign;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class PDFReceiptFeignConfig extends AuthFeignConfig {
+
+ private static final String RECEIPT_SUBKEY_PLACEHOLDER = "${pdf.receipt.subscription-key}";
+
+ @Autowired
+ public PDFReceiptFeignConfig(@Value(RECEIPT_SUBKEY_PLACEHOLDER) String subscriptionKey) {
+ this.subscriptionKey = subscriptionKey;
+ }
+}
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 afee04c7..eab328b0 100644
--- a/src/main/java/it/gov/pagopa/bizeventsservice/controller/ITransactionController.java
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/controller/ITransactionController.java
@@ -24,6 +24,7 @@
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
+
import java.util.List;
@Tag(name = "IO Transactions REST APIs")
@@ -88,5 +89,19 @@ ResponseEntity getTransactionDetails(
ResponseEntity disableTransaction(
@RequestHeader("x-fiscal-code") @NotBlank String fiscalCode,
@Parameter(description = "The id of the transaction.", required = true) @NotBlank @PathVariable("transaction-id") String transactionId);
+
+ @Operation(summary = "Retrieve the PDF receipt given event id.", security = {
+ @SecurityRequirement(name = "ApiKey")}, operationId = "getPDFReceipt")
+ @ApiResponses(value = {
+ @ApiResponse(responseCode = "200", description = "Obtained the PDF receipt.", content = @Content(mediaType = MediaType.APPLICATION_PDF_VALUE)),
+ @ApiResponse(responseCode = "401", description = "Wrong or missing function key.", content = @Content(schema = @Schema())),
+ @ApiResponse(responseCode = "404", description = "Not found the receipt.", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = ProblemJson.class))),
+ @ApiResponse(responseCode = "422", description = "Unprocessable receipt.", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, 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)))})
+ @GetMapping(value = "/{event-id}/pdf")
+ ResponseEntity getPDFReceipt(
+ @RequestHeader("x-fiscal-code") @NotBlank String fiscalCode,
+ @Parameter(description = "The id of the event.", required = true) @NotBlank @PathVariable("event-id") String eventId);
}
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 32c98b06..2de3a2b8 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
@@ -1,17 +1,26 @@
package it.gov.pagopa.bizeventsservice.controller.impl;
+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.service.IBizEventsService;
import it.gov.pagopa.bizeventsservice.service.ITransactionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RestController;
+import feign.FeignException;
+
import java.util.List;
+import javax.validation.constraints.NotBlank;
+
/**
* Implementation of {@link ITransactionController} that contains the Rest Controller
* for transaction services
@@ -20,10 +29,14 @@
public class TransactionController implements ITransactionController {
private final ITransactionService transactionService;
+ private final IBizEventsService bizEventsService;
+ private final IReceiptPDFClient receiptClient;
@Autowired
- public TransactionController(ITransactionService transactionService) {
+ public TransactionController(ITransactionService transactionService, IBizEventsService bizEventsService, IReceiptPDFClient receiptClient) {
this.transactionService = transactionService;
+ this.bizEventsService = bizEventsService;
+ this.receiptClient = receiptClient;
}
@Override
@@ -48,4 +61,33 @@ public ResponseEntity disableTransaction(String fiscalCode, String transac
transactionService.disableTransaction(fiscalCode, transactionId);
return new ResponseEntity<>(HttpStatus.OK);
}
+
+ @Override
+ public ResponseEntity getPDFReceipt(@NotBlank String fiscalCode, @NotBlank String eventId) {
+ return acquirePDFReceipt(fiscalCode, eventId);
+ }
+
+ private ResponseEntity acquirePDFReceipt(String fiscalCode, String eventId) {
+ try {
+ // to check if is an OLD event present only on the PM --> the receipt is not available for events present exclusively on the PM
+ bizEventsService.getBizEvent(eventId);
+
+ // call the receipt-pdf-service to retrieve the PDF receipt
+ AttachmentsDetailsResponse response = receiptClient.getAttachments(fiscalCode, eventId);
+ String url = response.getAttachments().get(0).getUrl();
+
+ byte[] receiptFile = receiptClient.getReceipt(fiscalCode, eventId, url);
+
+ return ResponseEntity
+ .ok()
+ .contentLength(receiptFile.length)
+ .contentType(MediaType.APPLICATION_PDF)
+ .header("content-disposition", "filename=receipt")
+ .body(receiptFile);
+
+ } catch (FeignException.NotFound e) {
+ // TODO receipt generation
+ throw new AppException(HttpStatus.NOT_FOUND, "Receipt Not Found", "Something was wrong - " + e.getMessage());
+ }
+ }
}
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 08f86707..31b88171 100644
--- a/src/main/java/it/gov/pagopa/bizeventsservice/mapper/ConvertViewsToTransactionDetailResponse.java
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/mapper/ConvertViewsToTransactionDetailResponse.java
@@ -89,6 +89,7 @@ public static TransactionListItem convertTransactionListItem(BizEventsViewUser v
.amount(currencyFormat(totalAmount.get().toString()))
.transactionDate(dateFormatZoned(viewUser.getTransactionDate()))
.isCart(listOfCartViews.size() > 1)
+ .isPayer(viewUser.getIsPayer())
.build();
}
diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/model/response/Attachment.java b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/Attachment.java
new file mode 100644
index 00000000..1673b692
--- /dev/null
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/Attachment.java
@@ -0,0 +1,18 @@
+package it.gov.pagopa.bizeventsservice.model.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.extern.jackson.Jacksonized;
+
+@Getter
+@Builder
+@Jacksonized
+public class Attachment {
+
+ private String id;
+ @JsonProperty("content_type")
+ private String contentType;
+ private String name;
+ private String url;
+}
diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/model/response/AttachmentsDetailsResponse.java b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/AttachmentsDetailsResponse.java
new file mode 100644
index 00000000..7bd0e399
--- /dev/null
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/model/response/AttachmentsDetailsResponse.java
@@ -0,0 +1,18 @@
+package it.gov.pagopa.bizeventsservice.model.response;
+
+import lombok.Builder;
+import lombok.Getter;
+import lombok.extern.jackson.Jacksonized;
+
+import java.util.List;
+
+/**
+ * Model class for the attachment details response
+ */
+@Getter
+@Builder
+@Jacksonized
+public class AttachmentsDetailsResponse {
+
+ private List attachments;
+}
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 7a1c4741..a46c6bd1 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
@@ -15,10 +15,15 @@
@NoArgsConstructor
@Builder
public class TransactionListItem implements Serializable {
- private String transactionId;
+ /**
+ *
+ */
+ private static final long serialVersionUID = 8763325343304031081L;
+ private String transactionId;
private String payeeName;
private String payeeTaxCode;
private String amount;
private String transactionDate;
private Boolean isCart;
+ private Boolean isPayer;
}
diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties
index bb0a96cb..570d0b1b 100644
--- a/src/main/resources/application-dev.properties
+++ b/src/main/resources/application-dev.properties
@@ -16,6 +16,10 @@ azure.cosmos.biz-events-view-cart-container-name=biz-events-view-cart
logging.level.root=INFO
logging.level.it.gov.pagopa=INFO
+# PDF Receipt Service
+pdf.receipt.subscription-key=${SUBSCRIPTION_KEY}
+service.pdf.receipt.host=https://api.dev.platform.pagopa.it/receipts/service/v1
+
springdoc.group-configs[0].group=all
springdoc.group-configs[0].displayName=Biz-Events All
springdoc.group-configs[0].paths-to-match=/**
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index c36b7098..a045fe19 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -37,6 +37,20 @@ logging.level.it.gov.pagopa=${APP_LOGGING_LEVEL:INFO}
# Transaction Placeholder
transaction.payee.cartName=${PAYEE_CART_NAME:Pagamento Multiplo}
+
+# PDF Receipt Service
+pdf.receipt.subscription-key=${PDF_RECEIPT_SUBSCRIPTION_KEY}
+service.pdf.receipt.host=${PDF_RECEIPT_HOST}
+
+# timeout
+feign.client.config.default.connect-timeout=${CONNECTION_TIMEOUT:10000}
+feign.client.config.default.read-timeout=${CONNECTION_TIMEOUT:10000}
+
+# retry configuration
+retry.maxAttempts=${RETRY_MAX_ATTEMPTS:3}
+retry.maxDelay=${RETRY_MAX_DELAY:10000}
+
+
# Openapi
springdoc.use-fqn=false
springdoc.writer-with-order-by-keys=false
diff --git a/src/test/java/it/gov/pagopa/bizeventsservice/controller/TransactionControllerTest.java b/src/test/java/it/gov/pagopa/bizeventsservice/controller/TransactionControllerTest.java
index 422142f6..6704f266 100644
--- a/src/test/java/it/gov/pagopa/bizeventsservice/controller/TransactionControllerTest.java
+++ b/src/test/java/it/gov/pagopa/bizeventsservice/controller/TransactionControllerTest.java
@@ -1,27 +1,36 @@
package it.gov.pagopa.bizeventsservice.controller;
+import it.gov.pagopa.bizeventsservice.client.IReceiptPDFClient;
+import it.gov.pagopa.bizeventsservice.entity.BizEvent;
import it.gov.pagopa.bizeventsservice.exception.AppError;
import it.gov.pagopa.bizeventsservice.exception.AppException;
+import it.gov.pagopa.bizeventsservice.model.response.Attachment;
+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.TransactionListItem;
import it.gov.pagopa.bizeventsservice.model.response.transaction.TransactionListResponse;
+import it.gov.pagopa.bizeventsservice.service.IBizEventsService;
import it.gov.pagopa.bizeventsservice.service.ITransactionService;
import it.gov.pagopa.bizeventsservice.util.TestUtil;
-import it.gov.pagopa.bizeventsservice.util.ViewGenerator;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
+import feign.FeignException;
+
import java.io.IOException;
+import java.util.Arrays;
import java.util.List;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.*;
@@ -45,12 +54,21 @@ public class TransactionControllerTest {
public static final String SIZE_HEADER_KEY = "size";
public static final String SIZE = "10";
public static final String TRANSACTION_DISABLE_PATH = "/transactions/transaction-id/disable";
+ public static final String TRANSACTION_RECEIPT_PATH = "/transactions/event-id/pdf";
@Autowired
private MockMvc mvc;
@MockBean
private ITransactionService transactionService;
+
+ @MockBean
+ private IBizEventsService bizEventsService;
+
+ @MockBean
+ private IReceiptPDFClient receiptClient;
+
+ private byte[] receipt = {69, 121, 101, 45, 62, 118, 101, 114, (byte) 196, (byte) 195, 61, 101, 98};
@BeforeEach
void setUp() throws IOException {
@@ -60,6 +78,10 @@ void setUp() throws IOException {
TransactionDetailResponse transactionDetailResponse = TestUtil.readModelFromFile("biz-events/transactionDetails.json", TransactionDetailResponse.class);
when(transactionService.getTransactionList(eq(VALID_FISCAL_CODE), anyString(), anyInt())).thenReturn(transactionListResponse);
when(transactionService.getTransactionDetails(anyString(), anyString())).thenReturn(transactionDetailResponse);
+ Attachment attachmentDetail = mock (Attachment.class);
+ AttachmentsDetailsResponse attachments = AttachmentsDetailsResponse.builder().attachments(Arrays.asList(attachmentDetail)).build();
+ when(receiptClient.getAttachments(anyString(), anyString())).thenReturn(attachments);
+ when(receiptClient.getReceipt(anyString(), anyString(), any())).thenReturn(receipt);
}
@Test
@@ -158,5 +180,65 @@ void getTransactionDisableithInvalidFiscalCodeShouldReturnError() throws Excepti
.andExpect(status().isBadRequest())
.andReturn();
}
+
+ @Test
+ void getPDFReceipt_ShouldReturnOK() throws Exception {
+
+ BizEvent bizEvent = mock (BizEvent.class);
+ when (bizEventsService.getBizEvent(anyString())).thenReturn(bizEvent);
+
+ MvcResult result = mvc.perform(get(TRANSACTION_RECEIPT_PATH)
+ .header(FISCAL_CODE_HEADER_KEY, VALID_FISCAL_CODE)
+ .contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().isOk())
+ .andExpect(content().contentType(MediaType.APPLICATION_PDF))
+ .andReturn();
+
+ assertEquals(receipt.length, result.getResponse().getContentAsByteArray().length);
+ }
+
+ @Test
+ void getPDFReceiptForOldPMEvent_ShouldReturnNOTFOUND() throws Exception {
+ AppException ex = new AppException(HttpStatus.NOT_FOUND, "mock", "mock");
+ when (bizEventsService.getBizEvent(anyString())).thenThrow(ex);
+
+ mvc.perform(get(TRANSACTION_RECEIPT_PATH)
+ .header(FISCAL_CODE_HEADER_KEY, VALID_FISCAL_CODE)
+ .contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().isNotFound())
+ .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+ .andReturn();
+ }
+
+ @Test // TODO This test will need to be modified when the receipt generation is introduced
+ void getPDFReceiptForMissingEventId_ShouldReturnNOTFOUND() throws Exception {
+
+ BizEvent bizEvent = mock (BizEvent.class);
+ when (bizEventsService.getBizEvent(anyString())).thenReturn(bizEvent);
+ when(receiptClient.getAttachments(anyString(), eq("missing-id"))).thenThrow(FeignException.NotFound.class);
+
+ mvc.perform(get("/transactions/missing-id/pdf")
+ .header(FISCAL_CODE_HEADER_KEY, VALID_FISCAL_CODE)
+ .contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().isNotFound())
+ .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+ .andReturn();
+ }
+
+ @Test
+ void getPDFReceiptForUnhandledException_ShouldReturnKO() throws Exception {
+
+ BizEvent bizEvent = mock (BizEvent.class);
+ when (bizEventsService.getBizEvent(anyString())).thenReturn(bizEvent);
+ // Override @BeforeEach condition
+ when(receiptClient.getAttachments(anyString(), eq("event-id"))).thenThrow(FeignException.BadRequest.class);
+
+ mvc.perform(get(TRANSACTION_RECEIPT_PATH)
+ .header(FISCAL_CODE_HEADER_KEY, INVALID_FISCAL_CODE)
+ .contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().isInternalServerError())
+ .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+ .andReturn();
+ }
}
diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties
index d16d9cba..8b8b07d4 100644
--- a/src/test/resources/application.properties
+++ b/src/test/resources/application.properties
@@ -37,6 +37,10 @@ logging.level.it.gov.pagopa=${APP_LOGGING_LEVEL:INFO}
# Transaction Placeholder
transaction.payee.cartName=${PAYEE_CART_NAME:Pagamento Multiplo}
+# PDF Receipt Service
+pdf.receipt.subscription-key=subkey
+service.pdf.receipt.host=http://localhost:8080
+
# Openapi
springdoc.use-fqn=false
springdoc.writer-with-order-by-keys=false