diff --git a/helm/Chart.yaml b/helm/Chart.yaml
index a2cdab7a..4a48006b 100644
--- a/helm/Chart.yaml
+++ b/helm/Chart.yaml
@@ -2,8 +2,8 @@ apiVersion: v2
name: pagopa-biz-events-service
description: Microservice for exposing REST APIs about payment receipts.
type: application
-version: 0.49.0
-appVersion: 0.1.27
+version: 0.50.0
+appVersion: 0.1.28
dependencies:
- name: microservice-chart
version: 2.4.0
diff --git a/helm/values-dev.yaml b/helm/values-dev.yaml
index 16e32ac4..07afa873 100644
--- a/helm/values-dev.yaml
+++ b/helm/values-dev.yaml
@@ -4,7 +4,7 @@ microservice-chart:
fullnameOverride: ""
image:
repository: ghcr.io/pagopa/pagopa-biz-events-service
- tag: "0.1.27"
+ tag: "0.1.28"
pullPolicy: Always
livenessProbe:
httpGet:
@@ -79,8 +79,12 @@ microservice-chart:
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"
+ PDF_GENERATE_RECEIPT_HOST: 'https://api.dev.platform.pagopa.it/receipts/helpdesk/v1'
+ PDF_GENERATE_RECEIPT_PATH: '/receipts/{event-id}/regenerate-receipt-pdf'
+ GET_PDF_RETRY_MAX_DELAY: "10000"
+ GET_PDF_RETRY_MAX_ATTEMPTS: "1"
+ GENERATE_PDF_RETRY_MAX_DELAY: "10000"
+ GENERATE_PDF_RETRY_MAX_ATTEMPTS: "1"
CONNECTION_TIMEOUT: "10000"
OTEL_SERVICE_NAME: "pagopabizeventsservice"
OTEL_RESOURCE_ATTRIBUTES: "service.name=pagopareceiptspdfserviceotl,deployment.environment=dev"
@@ -94,6 +98,7 @@ microservice-chart:
APPLICATIONINSIGHTS_CONNECTION_STRING: 'ai-d-connection-string'
COSMOS_DB_PRIMARY_KEY: 'cosmos-d-biz-key'
PDF_RECEIPT_SUBSCRIPTION_KEY: "bizevent-d-receiptpdfservice-subscription-key"
+ PDF_GENERATE_RECEIPT_SUBSCRIPTION_KEY: "bizevent-d-generatepdfservice-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 b7f6d131..b4467db2 100644
--- a/helm/values-prod.yaml
+++ b/helm/values-prod.yaml
@@ -4,7 +4,7 @@ microservice-chart:
fullnameOverride: ""
image:
repository: ghcr.io/pagopa/pagopa-biz-events-service
- tag: "0.1.27"
+ tag: "0.1.28"
pullPolicy: Always
livenessProbe:
httpGet:
@@ -79,8 +79,12 @@ microservice-chart:
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"
+ PDF_GENERATE_RECEIPT_HOST: 'https://api.platform.pagopa.it/receipts/helpdesk/v1'
+ PDF_GENERATE_RECEIPT_PATH: '/receipts/{event-id}/regenerate-receipt-pdf'
+ GET_PDF_RETRY_MAX_DELAY: "10000"
+ GET_PDF_RETRY_MAX_ATTEMPTS: "1"
+ GENERATE_PDF_RETRY_MAX_DELAY: "10000"
+ GENERATE_PDF_RETRY_MAX_ATTEMPTS: "1"
CONNECTION_TIMEOUT: "10000"
OTEL_SERVICE_NAME: "pagopabizeventsservice"
OTEL_RESOURCE_ATTRIBUTES: "service.name=pagopareceiptspdfserviceotl,deployment.environment=prod"
@@ -94,6 +98,7 @@ microservice-chart:
APPLICATIONINSIGHTS_CONNECTION_STRING: 'ai-p-connection-string'
COSMOS_DB_PRIMARY_KEY: 'cosmos-p-biz-key'
PDF_RECEIPT_SUBSCRIPTION_KEY: "bizevent-p-receiptpdfservice-subscription-key"
+ PDF_GENERATE_RECEIPT_SUBSCRIPTION_KEY: "bizevent-p-generatepdfservice-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 36d6604c..2e3dd935 100644
--- a/helm/values-uat.yaml
+++ b/helm/values-uat.yaml
@@ -4,7 +4,7 @@ microservice-chart:
fullnameOverride: ""
image:
repository: ghcr.io/pagopa/pagopa-biz-events-service
- tag: "0.1.27"
+ tag: "0.1.28"
pullPolicy: Always
livenessProbe:
httpGet:
@@ -79,8 +79,12 @@ microservice-chart:
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"
+ PDF_GENERATE_RECEIPT_HOST: 'https://api.uat.platform.pagopa.it/receipts/helpdesk/v1'
+ PDF_GENERATE_RECEIPT_PATH: '/receipts/{event-id}/regenerate-receipt-pdf'
+ GET_PDF_RETRY_MAX_DELAY: "10000"
+ GET_PDF_RETRY_MAX_ATTEMPTS: "1"
+ GENERATE_PDF_RETRY_MAX_DELAY: "10000"
+ GENERATE_PDF_RETRY_MAX_ATTEMPTS: "1"
CONNECTION_TIMEOUT: "10000"
OTEL_SERVICE_NAME: "pagopabizeventsservice"
OTEL_RESOURCE_ATTRIBUTES: "service.name=pagopareceiptspdfserviceotl,deployment.environment=uat"
@@ -94,6 +98,7 @@ microservice-chart:
APPLICATIONINSIGHTS_CONNECTION_STRING: 'ai-u-connection-string'
COSMOS_DB_PRIMARY_KEY: 'cosmos-u-biz-key'
PDF_RECEIPT_SUBSCRIPTION_KEY: "bizevent-u-receiptpdfservice-subscription-key"
+ PDF_GENERATE_RECEIPT_SUBSCRIPTION_KEY: "bizevent-u-generatepdfservice-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 5fd29c16..7fd258b9 100644
--- a/openapi/openapi.json
+++ b/openapi/openapi.json
@@ -1,2023 +1,2157 @@
{
- "openapi" : "3.0.1",
- "info" : {
- "title" : "Biz-Events Service",
- "description" : "Microservice for exposing REST APIs about payment receipts.",
- "termsOfService" : "https://www.pagopa.gov.it/",
- "version" : "0.1.27"
+ "openapi": "3.0.1",
+ "info": {
+ "title": "Biz-Events Service",
+ "description": "Microservice for exposing REST APIs about payment receipts.",
+ "termsOfService": "https://www.pagopa.gov.it/",
+ "version": "0.1.28"
},
- "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"
- }
- } ],
- "responses" : {
- "200" : {
- "description" : "Obtained biz-event.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "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"
+ }
+ },
+ {
+ "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"
- }
- } ],
- "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"
+ "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"
- }
- } ],
- "responses" : {
- "200" : {
- "description" : "Obtained receipt.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "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"
}
}
},
- "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"
- }
- } ],
- "responses" : {
- "200" : {
- "description" : "Obtained receipt.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "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"
}
}
},
- "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
- }
- } ],
- "responses" : {
- "200" : {
- "description" : "Obtained transaction list.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "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": {
+ "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" : {
- "$ref" : "#/components/schemas/TransactionListWrapResponse"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TransactionListWrapResponse"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "404" : {
- "description" : "Not found the transaction.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "404": {
+ "description": "Not found the transaction.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "*/*" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "*/*": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
},
- "429" : {
- "description" : "Too many requests.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "429": {
+ "description": "Too many requests.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "500" : {
- "description" : "Service unavailable.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "500": {
+ "description": "Service unavailable.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/transactions/{event-id}/pdf" : {
- "get" : {
- "tags" : [ "IO Transactions REST APIs" ],
- "summary" : "Retrieve the PDF receipt given event id.",
- "operationId" : "getPDFReceipt",
- "parameters" : [ {
- "name" : "x-fiscal-code",
- "in" : "header",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- }, {
- "name" : "event-id",
- "in" : "path",
- "description" : "The id of the event.",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- } ],
- "responses" : {
- "200" : {
- "description" : "Obtained the PDF receipt.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "/transactions/{event-id}/pdf": {
+ "get": {
+ "tags": [
+ "IO Transactions REST APIs"
+ ],
+ "summary": "Retrieve the PDF receipt given event id.",
+ "operationId": "getPDFReceipt",
+ "parameters": [
+ {
+ "name": "x-fiscal-code",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "event-id",
+ "in": "path",
+ "description": "The id of the event.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Obtained the PDF receipt.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/pdf" : { }
+ "content": {
+ "application/pdf": {}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "404" : {
- "description" : "Not found the receipt.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "404": {
+ "description": "Not found the receipt.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
},
- "422" : {
- "description" : "Unprocessable receipt.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "422": {
+ "description": "Unprocessable receipt.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
},
- "429" : {
- "description" : "Too many requests.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "429": {
+ "description": "Too many requests.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "500" : {
- "description" : "Service unavailable.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "500": {
+ "description": "Service unavailable.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/transactions/{transaction-id}" : {
- "get" : {
- "tags" : [ "IO Transactions REST APIs" ],
- "summary" : "Retrieve the transaction details given its id.",
- "operationId" : "getTransactionDetails",
- "parameters" : [ {
- "name" : "x-fiscal-code",
- "in" : "header",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- }, {
- "name" : "transaction-id",
- "in" : "path",
- "description" : "The id of the transaction.",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- } ],
- "responses" : {
- "200" : {
- "description" : "Obtained transaction details.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "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"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TransactionDetailResponse"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "404" : {
- "description" : "Not found the transaction.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "404": {
+ "description": "Not found the transaction.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
},
- "429" : {
- "description" : "Too many requests.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "429": {
+ "description": "Too many requests.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "500" : {
- "description" : "Service unavailable.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "500": {
+ "description": "Service unavailable.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/transactions/{transaction-id}/disable" : {
- "post" : {
- "tags" : [ "IO Transactions REST APIs" ],
- "summary" : "Disable the transaction details given its id.",
- "operationId" : "disableTransaction",
- "parameters" : [ {
- "name" : "x-fiscal-code",
- "in" : "header",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- }, {
- "name" : "transaction-id",
- "in" : "path",
- "description" : "The id of the transaction.",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- } ],
- "responses" : {
- "200" : {
- "description" : "Disabled Transactions.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "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"
+ "isPayer": {
+ "type": "boolean"
},
- "isDebtor" : {
- "type" : "boolean"
+ "isDebtor": {
+ "type": "boolean"
}
}
},
- "TransactionListWrapResponse" : {
- "type" : "object",
- "properties" : {
- "transactions" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/TransactionListItem"
+ "TransactionListWrapResponse": {
+ "type": "object",
+ "properties": {
+ "transactions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TransactionListItem"
}
}
}
},
- "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"
}
}
},
- "InfoTransactionView" : {
- "type" : "object",
- "properties" : {
- "transactionId" : {
- "type" : "string"
- },
- "authCode" : {
- "type" : "string"
- },
- "rrn" : {
- "type" : "string"
- },
- "transactionDate" : {
- "type" : "string"
- },
- "pspName" : {
- "type" : "string"
- },
- "walletInfo" : {
- "$ref" : "#/components/schemas/WalletInfo"
- },
- "paymentMethod" : {
- "type" : "string",
- "enum" : [ "BBT", "BP", "AD", "CP", "PO", "OBEP", "JIF", "MYBK", "PPAL", "UNKNOWN" ]
- },
- "payer" : {
- "$ref" : "#/components/schemas/UserDetail"
- },
- "amount" : {
- "type" : "string"
- },
- "fee" : {
- "type" : "string"
- },
- "origin" : {
- "type" : "string",
- "enum" : [ "INTERNAL", "PM", "NDP001PROD", "NDP002PROD", "NDP003PROD", "UNKNOWN" ]
+ "InfoTransactionView": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string"
+ },
+ "authCode": {
+ "type": "string"
+ },
+ "rrn": {
+ "type": "string"
+ },
+ "transactionDate": {
+ "type": "string"
+ },
+ "pspName": {
+ "type": "string"
+ },
+ "walletInfo": {
+ "$ref": "#/components/schemas/WalletInfo"
+ },
+ "paymentMethod": {
+ "type": "string",
+ "enum": [
+ "BBT",
+ "BP",
+ "AD",
+ "CP",
+ "PO",
+ "OBEP",
+ "JIF",
+ "MYBK",
+ "PPAL",
+ "UNKNOWN"
+ ]
+ },
+ "payer": {
+ "$ref": "#/components/schemas/UserDetail"
+ },
+ "amount": {
+ "type": "string"
+ },
+ "fee": {
+ "type": "string"
+ },
+ "origin": {
+ "type": "string",
+ "enum": [
+ "INTERNAL",
+ "PM",
+ "NDP001PROD",
+ "NDP002PROD",
+ "NDP003PROD",
+ "UNKNOWN"
+ ]
}
}
},
- "TransactionDetailResponse" : {
- "type" : "object",
- "properties" : {
- "infoTransaction" : {
- "$ref" : "#/components/schemas/InfoTransactionView"
- },
- "carts" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/CartItem"
+ "TransactionDetailResponse": {
+ "type": "object",
+ "properties": {
+ "infoTransaction": {
+ "$ref": "#/components/schemas/InfoTransactionView"
+ },
+ "carts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CartItem"
}
}
}
},
- "UserDetail" : {
- "type" : "object",
- "properties" : {
- "name" : {
- "type" : "string"
- },
- "taxCode" : {
- "type" : "string"
+ "UserDetail": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "taxCode": {
+ "type": "string"
}
}
},
- "WalletInfo" : {
- "type" : "object",
- "properties" : {
- "accountHolder" : {
- "type" : "string"
+ "WalletInfo": {
+ "type": "object",
+ "properties": {
+ "accountHolder": {
+ "type": "string"
},
- "brand" : {
- "type" : "string"
+ "brand": {
+ "type": "string"
},
- "blurredNumber" : {
- "type" : "string"
+ "blurredNumber": {
+ "type": "string"
},
- "maskedEmail" : {
- "type" : "string"
+ "maskedEmail": {
+ "type": "string"
}
}
},
- "CtReceiptModelResponse" : {
- "required" : [ "channelDescription", "companyName", "creditorReferenceId", "debtor", "description", "fiscalCode", "idChannel", "idPSP", "noticeNumber", "outcome", "paymentAmount", "pspCompanyName", "receiptId", "transferList" ],
- "type" : "object",
- "properties" : {
- "receiptId" : {
- "type" : "string"
- },
- "noticeNumber" : {
- "type" : "string"
- },
- "fiscalCode" : {
- "type" : "string"
- },
- "outcome" : {
- "type" : "string"
- },
- "creditorReferenceId" : {
- "type" : "string"
- },
- "paymentAmount" : {
- "type" : "number"
- },
- "description" : {
- "type" : "string"
- },
- "companyName" : {
- "type" : "string"
- },
- "officeName" : {
- "type" : "string"
- },
- "debtor" : {
- "$ref" : "#/components/schemas/Debtor"
- },
- "transferList" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/TransferPA"
+ "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"
+ },
+ "eventStatus": {
+ "type": "string",
+ "enum": [
+ "NA",
+ "RETRY",
+ "FAILED",
+ "DONE"
+ ]
+ },
+ "eventRetryEnrichmentCount": {
+ "type": "integer",
+ "format": "int32"
}
}
},
- "Creditor" : {
- "type" : "object",
- "properties" : {
- "idPA" : {
- "type" : "string"
+ "Creditor": {
+ "type": "object",
+ "properties": {
+ "idPA": {
+ "type": "string"
},
- "idBrokerPA" : {
- "type" : "string"
+ "idBrokerPA": {
+ "type": "string"
},
- "idStation" : {
- "type" : "string"
+ "idStation": {
+ "type": "string"
},
- "companyName" : {
- "type" : "string"
+ "companyName": {
+ "type": "string"
},
- "officeName" : {
- "type" : "string"
+ "officeName": {
+ "type": "string"
}
}
},
- "DebtorPosition" : {
- "type" : "object",
- "properties" : {
- "modelType" : {
- "type" : "string"
+ "DebtorPosition": {
+ "type": "object",
+ "properties": {
+ "modelType": {
+ "type": "string"
},
- "noticeNumber" : {
- "type" : "string"
+ "noticeNumber": {
+ "type": "string"
},
- "iuv" : {
- "type" : "string"
+ "iuv": {
+ "type": "string"
},
- "iur" : {
- "type" : "string"
+ "iur": {
+ "type": "string"
}
}
},
- "Details" : {
- "type" : "object",
- "properties" : {
- "blurredNumber" : {
- "type" : "string"
+ "Details": {
+ "type": "object",
+ "properties": {
+ "blurredNumber": {
+ "type": "string"
},
- "holder" : {
- "type" : "string"
+ "holder": {
+ "type": "string"
},
- "circuit" : {
- "type" : "string"
+ "circuit": {
+ "type": "string"
}
}
},
- "Info" : {
- "type" : "object",
- "properties" : {
- "type" : {
- "type" : "string"
+ "Info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
},
- "blurredNumber" : {
- "type" : "string"
+ "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"
}
}
},
- "PaymentAuthorizationRequest" : {
- "type" : "object",
- "properties" : {
- "authOutcome" : {
- "type" : "string"
+ "PaymentAuthorizationRequest": {
+ "type": "object",
+ "properties": {
+ "authOutcome": {
+ "type": "string"
},
- "requestId" : {
- "type" : "string"
+ "requestId": {
+ "type": "string"
},
- "correlationId" : {
- "type" : "string"
+ "correlationId": {
+ "type": "string"
},
- "authCode" : {
- "type" : "string"
+ "authCode": {
+ "type": "string"
},
- "paymentMethodType" : {
- "type" : "string"
+ "paymentMethodType": {
+ "type": "string"
},
- "details" : {
- "$ref" : "#/components/schemas/Details"
+ "details": {
+ "$ref": "#/components/schemas/Details"
}
}
},
- "PaymentInfo" : {
- "type" : "object",
- "properties" : {
- "paymentDateTime" : {
- "type" : "string"
+ "PaymentInfo": {
+ "type": "object",
+ "properties": {
+ "paymentDateTime": {
+ "type": "string"
},
- "applicationDate" : {
- "type" : "string"
+ "applicationDate": {
+ "type": "string"
},
- "transferDate" : {
- "type" : "string"
+ "transferDate": {
+ "type": "string"
},
- "dueDate" : {
- "type" : "string"
+ "dueDate": {
+ "type": "string"
},
- "paymentToken" : {
- "type" : "string"
+ "paymentToken": {
+ "type": "string"
},
- "amount" : {
- "type" : "string"
+ "amount": {
+ "type": "string"
},
- "fee" : {
- "type" : "string"
+ "fee": {
+ "type": "string"
},
- "primaryCiIncurredFee" : {
- "type" : "string"
+ "primaryCiIncurredFee": {
+ "type": "string"
},
- "idBundle" : {
- "type" : "string"
+ "idBundle": {
+ "type": "string"
},
- "idCiBundle" : {
- "type" : "string"
+ "idCiBundle": {
+ "type": "string"
},
- "totalNotice" : {
- "type" : "string"
+ "totalNotice": {
+ "type": "string"
},
- "paymentMethod" : {
- "type" : "string"
+ "paymentMethod": {
+ "type": "string"
},
- "touchpoint" : {
- "type" : "string"
+ "touchpoint": {
+ "type": "string"
},
- "remittanceInformation" : {
- "type" : "string"
+ "remittanceInformation": {
+ "type": "string"
},
- "description" : {
- "type" : "string"
+ "description": {
+ "type": "string"
},
- "metadata" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/MapEntry"
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MapEntry"
}
},
- "IUR" : {
- "type" : "string"
+ "IUR": {
+ "type": "string"
}
}
},
- "Psp" : {
- "type" : "object",
- "properties" : {
- "idPsp" : {
- "type" : "string"
+ "Psp": {
+ "type": "object",
+ "properties": {
+ "idPsp": {
+ "type": "string"
},
- "idBrokerPsp" : {
- "type" : "string"
+ "idBrokerPsp": {
+ "type": "string"
},
- "idChannel" : {
- "type" : "string"
+ "idChannel": {
+ "type": "string"
},
- "psp" : {
- "type" : "string"
+ "psp": {
+ "type": "string"
},
- "pspPartitaIVA" : {
- "type" : "string"
+ "pspPartitaIVA": {
+ "type": "string"
},
- "pspFiscalCode" : {
- "type" : "string"
+ "pspFiscalCode": {
+ "type": "string"
},
- "channelDescription" : {
- "type" : "string"
+ "channelDescription": {
+ "type": "string"
}
}
},
- "Transaction" : {
- "type" : "object",
- "properties" : {
- "idTransaction" : {
- "type" : "string"
+ "Transaction": {
+ "type": "object",
+ "properties": {
+ "idTransaction": {
+ "type": "string"
},
- "transactionId" : {
- "type" : "string"
+ "transactionId": {
+ "type": "string"
},
- "grandTotal" : {
- "type" : "integer",
- "format" : "int64"
+ "grandTotal": {
+ "type": "integer",
+ "format": "int64"
},
- "amount" : {
- "type" : "integer",
- "format" : "int64"
+ "amount": {
+ "type": "integer",
+ "format": "int64"
},
- "fee" : {
- "type" : "integer",
- "format" : "int64"
+ "fee": {
+ "type": "integer",
+ "format": "int64"
},
- "transactionStatus" : {
- "type" : "string"
+ "transactionStatus": {
+ "type": "string"
},
- "accountingStatus" : {
- "type" : "string"
+ "accountingStatus": {
+ "type": "string"
},
- "rrn" : {
- "type" : "string"
+ "rrn": {
+ "type": "string"
},
- "authorizationCode" : {
- "type" : "string"
+ "authorizationCode": {
+ "type": "string"
},
- "creationDate" : {
- "type" : "string"
+ "creationDate": {
+ "type": "string"
},
- "numAut" : {
- "type" : "string"
+ "numAut": {
+ "type": "string"
},
- "accountCode" : {
- "type" : "string"
+ "accountCode": {
+ "type": "string"
},
- "psp" : {
- "$ref" : "#/components/schemas/TransactionPsp"
+ "psp": {
+ "$ref": "#/components/schemas/TransactionPsp"
},
- "origin" : {
- "type" : "string"
+ "origin": {
+ "type": "string"
}
}
},
- "TransactionDetails" : {
- "type" : "object",
- "properties" : {
- "user" : {
- "$ref" : "#/components/schemas/User"
+ "TransactionDetails": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "$ref": "#/components/schemas/User"
},
- "paymentAuthorizationRequest" : {
- "$ref" : "#/components/schemas/PaymentAuthorizationRequest"
+ "paymentAuthorizationRequest": {
+ "$ref": "#/components/schemas/PaymentAuthorizationRequest"
},
- "wallet" : {
- "$ref" : "#/components/schemas/WalletItem"
+ "wallet": {
+ "$ref": "#/components/schemas/WalletItem"
},
- "origin" : {
- "type" : "string"
+ "origin": {
+ "type": "string"
},
- "transaction" : {
- "$ref" : "#/components/schemas/Transaction"
+ "transaction": {
+ "$ref": "#/components/schemas/Transaction"
},
- "info" : {
- "$ref" : "#/components/schemas/InfoTransaction"
+ "info": {
+ "$ref": "#/components/schemas/InfoTransaction"
}
}
},
- "TransactionPsp" : {
- "type" : "object",
- "properties" : {
- "idChannel" : {
- "type" : "string"
+ "TransactionPsp": {
+ "type": "object",
+ "properties": {
+ "idChannel": {
+ "type": "string"
},
- "businessName" : {
- "type" : "string"
+ "businessName": {
+ "type": "string"
},
- "serviceName" : {
- "type" : "string"
+ "serviceName": {
+ "type": "string"
}
}
},
- "Transfer" : {
- "type" : "object",
- "properties" : {
- "idTransfer" : {
- "type" : "string"
+ "Transfer": {
+ "type": "object",
+ "properties": {
+ "idTransfer": {
+ "type": "string"
},
- "fiscalCodePA" : {
- "type" : "string"
+ "fiscalCodePA": {
+ "type": "string"
},
- "companyName" : {
- "type" : "string"
+ "companyName": {
+ "type": "string"
},
- "amount" : {
- "type" : "string"
+ "amount": {
+ "type": "string"
},
- "transferCategory" : {
- "type" : "string"
+ "transferCategory": {
+ "type": "string"
},
- "remittanceInformation" : {
- "type" : "string"
+ "remittanceInformation": {
+ "type": "string"
},
- "metadata" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/MapEntry"
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MapEntry"
}
},
- "IBAN" : {
- "type" : "string"
+ "IBAN": {
+ "type": "string"
},
- "MBD" : {
- "$ref" : "#/components/schemas/MBD"
+ "MBD": {
+ "$ref": "#/components/schemas/MBD"
}
}
},
- "User" : {
- "type" : "object",
- "properties" : {
- "fullName" : {
- "type" : "string"
- },
- "type" : {
- "type" : "string",
- "enum" : [ "F", "G", "GUEST" ]
- },
- "fiscalCode" : {
- "type" : "string"
- },
- "notificationEmail" : {
- "type" : "string"
- },
- "userId" : {
- "type" : "string"
- },
- "userStatus" : {
- "type" : "string"
- },
- "userStatusDescription" : {
- "type" : "string"
+ "User": {
+ "type": "object",
+ "properties": {
+ "fullName": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "F",
+ "G",
+ "GUEST"
+ ]
+ },
+ "fiscalCode": {
+ "type": "string"
+ },
+ "notificationEmail": {
+ "type": "string"
+ },
+ "userId": {
+ "type": "string"
+ },
+ "userStatus": {
+ "type": "string"
+ },
+ "userStatusDescription": {
+ "type": "string"
}
}
},
- "WalletItem" : {
- "type" : "object",
- "properties" : {
- "idWallet" : {
- "type" : "string"
- },
- "walletType" : {
- "type" : "string",
- "enum" : [ "CARD", "PAYPAL", "BANCOMATPAY" ]
- },
- "enableableFunctions" : {
- "type" : "array",
- "items" : {
- "type" : "string"
+ "WalletItem": {
+ "type": "object",
+ "properties": {
+ "idWallet": {
+ "type": "string"
+ },
+ "walletType": {
+ "type": "string",
+ "enum": [
+ "CARD",
+ "PAYPAL",
+ "BANCOMATPAY"
+ ]
+ },
+ "enableableFunctions": {
+ "type": "array",
+ "items": {
+ "type": "string"
}
},
- "pagoPa" : {
- "type" : "boolean"
+ "pagoPa": {
+ "type": "boolean"
},
- "onboardingChannel" : {
- "type" : "string"
+ "onboardingChannel": {
+ "type": "string"
},
- "favourite" : {
- "type" : "boolean"
+ "favourite": {
+ "type": "boolean"
},
- "createDate" : {
- "type" : "string"
+ "createDate": {
+ "type": "string"
},
- "info" : {
- "$ref" : "#/components/schemas/Info"
+ "info": {
+ "$ref": "#/components/schemas/Info"
},
- "authRequest" : {
- "$ref" : "#/components/schemas/AuthRequest"
+ "authRequest": {
+ "$ref": "#/components/schemas/AuthRequest"
}
}
}
},
- "securitySchemes" : {
- "ApiKey" : {
- "type" : "apiKey",
- "description" : "The API key to access this function app.",
- "name" : "Ocp-Apim-Subscription-Key",
- "in" : "header"
+ "securitySchemes": {
+ "ApiKey": {
+ "type": "apiKey",
+ "description": "The API key to access this function app.",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
}
}
}
-}
\ No newline at end of file
+}
diff --git a/openapi/openapi_ec.json b/openapi/openapi_ec.json
index 4afd80d8..ee42e159 100644
--- a/openapi/openapi_ec.json
+++ b/openapi/openapi_ec.json
@@ -1,658 +1,721 @@
{
- "openapi" : "3.0.1",
- "info" : {
- "title" : "Biz-Events Service",
- "description" : "Microservice for exposing REST APIs about payment receipts.",
- "termsOfService" : "https://www.pagopa.gov.it/",
- "version" : "0.1.27"
+ "openapi": "3.0.1",
+ "info": {
+ "title": "Biz-Events Service",
+ "description": "Microservice for exposing REST APIs about payment receipts.",
+ "termsOfService": "https://www.pagopa.gov.it/",
+ "version": "0.1.28"
},
- "servers" : [ {
- "url" : "http://localhost",
- "description" : "Generated server url"
- } ],
- "paths" : {
- "/organizations/{organizationfiscalcode}/receipts/{iur}" : {
- "get" : {
- "tags" : [ "Payment Receipts REST APIs" ],
- "summary" : "The organization get the receipt for the creditor institution using IUR.",
- "operationId" : "getOrganizationReceiptIur",
- "parameters" : [ {
- "name" : "organizationfiscalcode",
- "in" : "path",
- "description" : "The fiscal code of the Organization.",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- }, {
- "name" : "iur",
- "in" : "path",
- "description" : "The unique reference of the operation assigned to the payment (Payment Token).",
- "required" : true,
- "schema" : {
- "type" : "string"
+ "servers": [
+ {
+ "url": "http://localhost",
+ "description": "Generated server url"
+ }
+ ],
+ "paths": {
+ "/organizations/{organizationfiscalcode}/receipts/{iur}": {
+ "get": {
+ "tags": [
+ "Payment Receipts REST APIs"
+ ],
+ "summary": "The organization get the receipt for the creditor institution using IUR.",
+ "operationId": "getOrganizationReceiptIur",
+ "parameters": [
+ {
+ "name": "organizationfiscalcode",
+ "in": "path",
+ "description": "The fiscal code of the Organization.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "iur",
+ "in": "path",
+ "description": "The unique reference of the operation assigned to the payment (Payment Token).",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
}
- } ],
- "responses" : {
- "500" : {
- "description" : "Service unavailable.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ ],
+ "responses": {
+ "500": {
+ "description": "Service unavailable.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
},
- "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"
}
}
}
},
- "200" : {
- "description" : "Obtained receipt.",
- "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"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CtReceiptModelResponse"
}
}
}
},
- "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"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/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" : {
- "500" : {
- "description" : "Service unavailable.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ ],
+ "responses": {
+ "500": {
+ "description": "Service unavailable.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
},
- "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"
}
}
}
},
- "200" : {
- "description" : "Obtained receipt.",
- "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"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CtReceiptModelResponse"
}
}
}
},
- "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"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/info" : {
- "get" : {
- "tags" : [ "Home" ],
- "summary" : "health check",
- "description" : "Return OK if application is started",
- "operationId" : "healthCheck",
- "responses" : {
- "429" : {
- "description" : "Too many requests",
- "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": {
+ "429": {
+ "description": "Too many requests",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "401" : {
- "description" : "Unauthorized",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Unauthorized",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "200" : {
- "description" : "OK",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "200": {
+ "description": "OK",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/AppInfo"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AppInfo"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
}
},
- "components" : {
- "schemas" : {
- "ProblemJson" : {
- "type" : "object",
- "properties" : {
- "title" : {
- "type" : "string",
- "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable"
- },
- "status" : {
- "maximum" : 600,
- "minimum" : 100,
- "type" : "integer",
- "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.",
- "format" : "int32",
- "example" : 200
- },
- "detail" : {
- "type" : "string",
- "description" : "A human readable explanation specific to this occurrence of the problem.",
- "example" : "There was an error processing the request"
+ "components": {
+ "schemas": {
+ "ProblemJson": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable"
+ },
+ "status": {
+ "maximum": 600,
+ "minimum": 100,
+ "type": "integer",
+ "description": "The HTTP status code generated by the origin server for this occurrence of the problem.",
+ "format": "int32",
+ "example": 200
+ },
+ "detail": {
+ "type": "string",
+ "description": "A human readable explanation specific to this occurrence of the problem.",
+ "example": "There was an error processing the request"
}
}
},
- "CtReceiptModelResponse" : {
- "required" : [ "channelDescription", "companyName", "creditorReferenceId", "debtor", "description", "fiscalCode", "idChannel", "idPSP", "noticeNumber", "outcome", "paymentAmount", "pspCompanyName", "receiptId", "transferList" ],
- "type" : "object",
- "properties" : {
- "receiptId" : {
- "type" : "string"
- },
- "noticeNumber" : {
- "type" : "string"
- },
- "fiscalCode" : {
- "type" : "string"
- },
- "outcome" : {
- "type" : "string"
- },
- "creditorReferenceId" : {
- "type" : "string"
- },
- "paymentAmount" : {
- "type" : "number"
- },
- "description" : {
- "type" : "string"
- },
- "companyName" : {
- "type" : "string"
- },
- "officeName" : {
- "type" : "string"
- },
- "debtor" : {
- "$ref" : "#/components/schemas/Debtor"
- },
- "transferList" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/TransferPA"
+ "CtReceiptModelResponse": {
+ "required": [
+ "channelDescription",
+ "companyName",
+ "creditorReferenceId",
+ "debtor",
+ "description",
+ "fiscalCode",
+ "idChannel",
+ "idPSP",
+ "noticeNumber",
+ "outcome",
+ "paymentAmount",
+ "pspCompanyName",
+ "receiptId",
+ "transferList"
+ ],
+ "type": "object",
+ "properties": {
+ "receiptId": {
+ "type": "string"
+ },
+ "noticeNumber": {
+ "type": "string"
+ },
+ "fiscalCode": {
+ "type": "string"
+ },
+ "outcome": {
+ "type": "string"
+ },
+ "creditorReferenceId": {
+ "type": "string"
+ },
+ "paymentAmount": {
+ "type": "number"
+ },
+ "description": {
+ "type": "string"
+ },
+ "companyName": {
+ "type": "string"
+ },
+ "officeName": {
+ "type": "string"
+ },
+ "debtor": {
+ "$ref": "#/components/schemas/Debtor"
+ },
+ "transferList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TransferPA"
}
},
- "idPSP" : {
- "type" : "string"
+ "idPSP": {
+ "type": "string"
},
- "pspFiscalCode" : {
- "type" : "string"
+ "pspFiscalCode": {
+ "type": "string"
},
- "pspPartitaIVA" : {
- "type" : "string"
+ "pspPartitaIVA": {
+ "type": "string"
},
- "pspCompanyName" : {
- "type" : "string"
+ "pspCompanyName": {
+ "type": "string"
},
- "idChannel" : {
- "type" : "string"
+ "idChannel": {
+ "type": "string"
},
- "channelDescription" : {
- "type" : "string"
+ "channelDescription": {
+ "type": "string"
},
- "payer" : {
- "$ref" : "#/components/schemas/Payer"
+ "payer": {
+ "$ref": "#/components/schemas/Payer"
},
- "paymentMethod" : {
- "type" : "string"
+ "paymentMethod": {
+ "type": "string"
},
- "fee" : {
- "type" : "number"
+ "fee": {
+ "type": "number"
},
- "primaryCiIncurredFee" : {
- "type" : "number"
+ "primaryCiIncurredFee": {
+ "type": "number"
},
- "idBundle" : {
- "type" : "string"
+ "idBundle": {
+ "type": "string"
},
- "idCiBundle" : {
- "type" : "string"
+ "idCiBundle": {
+ "type": "string"
},
- "paymentDateTime" : {
- "type" : "string",
- "format" : "date"
+ "paymentDateTime": {
+ "type": "string",
+ "format": "date"
},
- "applicationDate" : {
- "type" : "string",
- "format" : "date"
+ "applicationDate": {
+ "type": "string",
+ "format": "date"
},
- "transferDate" : {
- "type" : "string",
- "format" : "date"
+ "transferDate": {
+ "type": "string",
+ "format": "date"
},
- "metadata" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/MapEntry"
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MapEntry"
}
}
}
},
- "Debtor" : {
- "required" : [ "entityUniqueIdentifierType", "entityUniqueIdentifierValue", "fullName" ],
- "type" : "object",
- "properties" : {
- "entityUniqueIdentifierType" : {
- "type" : "string",
- "enum" : [ "F", "G" ]
- },
- "entityUniqueIdentifierValue" : {
- "type" : "string"
- },
- "fullName" : {
- "type" : "string"
- },
- "streetName" : {
- "type" : "string"
- },
- "civicNumber" : {
- "type" : "string"
- },
- "postalCode" : {
- "type" : "string"
- },
- "city" : {
- "type" : "string"
- },
- "stateProvinceRegion" : {
- "type" : "string"
- },
- "country" : {
- "type" : "string"
- },
- "email" : {
- "type" : "string"
+ "Debtor": {
+ "required": [
+ "entityUniqueIdentifierType",
+ "entityUniqueIdentifierValue",
+ "fullName"
+ ],
+ "type": "object",
+ "properties": {
+ "entityUniqueIdentifierType": {
+ "type": "string",
+ "enum": [
+ "F",
+ "G"
+ ]
+ },
+ "entityUniqueIdentifierValue": {
+ "type": "string"
+ },
+ "fullName": {
+ "type": "string"
+ },
+ "streetName": {
+ "type": "string"
+ },
+ "civicNumber": {
+ "type": "string"
+ },
+ "postalCode": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "stateProvinceRegion": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
}
}
},
- "MapEntry" : {
- "type" : "object",
- "properties" : {
- "key" : {
- "type" : "string"
- },
- "value" : {
- "type" : "string"
+ "MapEntry": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
}
}
},
- "Payer" : {
- "required" : [ "entityUniqueIdentifierType", "entityUniqueIdentifierValue", "fullName" ],
- "type" : "object",
- "properties" : {
- "entityUniqueIdentifierType" : {
- "type" : "string",
- "enum" : [ "F", "G" ]
- },
- "entityUniqueIdentifierValue" : {
- "type" : "string"
- },
- "fullName" : {
- "type" : "string"
- },
- "streetName" : {
- "type" : "string"
- },
- "civicNumber" : {
- "type" : "string"
- },
- "postalCode" : {
- "type" : "string"
- },
- "city" : {
- "type" : "string"
- },
- "stateProvinceRegion" : {
- "type" : "string"
- },
- "country" : {
- "type" : "string"
- },
- "email" : {
- "type" : "string"
+ "Payer": {
+ "required": [
+ "entityUniqueIdentifierType",
+ "entityUniqueIdentifierValue",
+ "fullName"
+ ],
+ "type": "object",
+ "properties": {
+ "entityUniqueIdentifierType": {
+ "type": "string",
+ "enum": [
+ "F",
+ "G"
+ ]
+ },
+ "entityUniqueIdentifierValue": {
+ "type": "string"
+ },
+ "fullName": {
+ "type": "string"
+ },
+ "streetName": {
+ "type": "string"
+ },
+ "civicNumber": {
+ "type": "string"
+ },
+ "postalCode": {
+ "type": "string"
+ },
+ "city": {
+ "type": "string"
+ },
+ "stateProvinceRegion": {
+ "type": "string"
+ },
+ "country": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
}
}
},
- "TransferPA" : {
- "required" : [ "fiscalCodePA", "iban", "mbdAttachment", "remittanceInformation", "transferAmount", "transferCategory" ],
- "type" : "object",
- "properties" : {
- "idTransfer" : {
- "maximum" : 5,
- "minimum" : 1,
- "type" : "integer",
- "format" : "int32"
- },
- "transferAmount" : {
- "type" : "number"
- },
- "fiscalCodePA" : {
- "type" : "string"
- },
- "iban" : {
- "type" : "string"
- },
- "mbdAttachment" : {
- "type" : "string"
- },
- "remittanceInformation" : {
- "type" : "string"
- },
- "transferCategory" : {
- "type" : "string"
- },
- "metadata" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/MapEntry"
+ "TransferPA": {
+ "required": [
+ "fiscalCodePA",
+ "iban",
+ "mbdAttachment",
+ "remittanceInformation",
+ "transferAmount",
+ "transferCategory"
+ ],
+ "type": "object",
+ "properties": {
+ "idTransfer": {
+ "maximum": 5,
+ "minimum": 1,
+ "type": "integer",
+ "format": "int32"
+ },
+ "transferAmount": {
+ "type": "number"
+ },
+ "fiscalCodePA": {
+ "type": "string"
+ },
+ "iban": {
+ "type": "string"
+ },
+ "mbdAttachment": {
+ "type": "string"
+ },
+ "remittanceInformation": {
+ "type": "string"
+ },
+ "transferCategory": {
+ "type": "string"
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MapEntry"
}
}
}
},
- "AppInfo" : {
- "type" : "object",
- "properties" : {
- "name" : {
- "type" : "string"
+ "AppInfo": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
},
- "version" : {
- "type" : "string"
+ "version": {
+ "type": "string"
},
- "environment" : {
- "type" : "string"
+ "environment": {
+ "type": "string"
}
}
}
},
- "securitySchemes" : {
- "ApiKey" : {
- "type" : "apiKey",
- "description" : "The API key to access this function app.",
- "name" : "Ocp-Apim-Subscription-Key",
- "in" : "header"
+ "securitySchemes": {
+ "ApiKey": {
+ "type": "apiKey",
+ "description": "The API key to access this function app.",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
}
}
}
-}
\ No newline at end of file
+}
diff --git a/openapi/openapi_helpdesk.json b/openapi/openapi_helpdesk.json
index 5d7101ca..70ff86ca 100644
--- a/openapi/openapi_helpdesk.json
+++ b/openapi/openapi_helpdesk.json
@@ -1,1003 +1,1041 @@
{
- "openapi" : "3.0.1",
- "info" : {
- "title" : "Biz-Events Service",
- "description" : "Microservice for exposing REST APIs about payment receipts.",
- "termsOfService" : "https://www.pagopa.gov.it/",
- "version" : "0.1.27"
+ "openapi": "3.0.1",
+ "info": {
+ "title": "Biz-Events Service",
+ "description": "Microservice for exposing REST APIs about payment receipts.",
+ "termsOfService": "https://www.pagopa.gov.it/",
+ "version": "0.1.28"
},
- "servers" : [ {
- "url" : "http://localhost",
- "description" : "Generated server url"
- } ],
- "paths" : {
- "/info" : {
- "get" : {
- "tags" : [ "Home" ],
- "summary" : "health check",
- "description" : "Return OK if application is started",
- "operationId" : "healthCheck",
- "responses" : {
- "429" : {
- "description" : "Too many requests",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "servers": [
+ {
+ "url": "http://localhost",
+ "description": "Generated server url"
+ }
+ ],
+ "paths": {
+ "/info": {
+ "get": {
+ "tags": [
+ "Home"
+ ],
+ "summary": "health check",
+ "description": "Return OK if application is started",
+ "operationId": "healthCheck",
+ "responses": {
+ "429": {
+ "description": "Too many requests",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "401" : {
- "description" : "Unauthorized",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Unauthorized",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "200" : {
- "description" : "OK",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "200": {
+ "description": "OK",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/AppInfo"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AppInfo"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/events/{biz-event-id}" : {
- "get" : {
- "tags" : [ "Biz-Events Helpdesk" ],
- "summary" : "Retrieve the biz-event given its id.",
- "operationId" : "getBizEvent",
- "parameters" : [ {
- "name" : "biz-event-id",
- "in" : "path",
- "description" : "The id of the biz-event.",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- } ],
- "responses" : {
- "500" : {
- "description" : "Service unavailable.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "/events/{biz-event-id}": {
+ "get": {
+ "tags": [
+ "Biz-Events Helpdesk"
+ ],
+ "summary": "Retrieve the biz-event given its id.",
+ "operationId": "getBizEvent",
+ "parameters": [
+ {
+ "name": "biz-event-id",
+ "in": "path",
+ "description": "The id of the biz-event.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "500": {
+ "description": "Service unavailable.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/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"
+ "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"
}
}
}
},
- "200" : {
- "description" : "Obtained biz-event.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "200": {
+ "description": "Obtained biz-event.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/BizEvent"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BizEvent"
}
}
}
},
- "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"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/events/organizations/{organization-fiscal-code}/iuvs/{iuv}" : {
- "get" : {
- "tags" : [ "Biz-Events Helpdesk" ],
- "summary" : "Retrieve the biz-event given the organization fiscal code and IUV.",
- "operationId" : "getBizEventByOrganizationFiscalCodeAndIuv",
- "parameters" : [ {
- "name" : "organization-fiscal-code",
- "in" : "path",
- "description" : "The fiscal code of the Organization.",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- }, {
- "name" : "iuv",
- "in" : "path",
- "description" : "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- } ],
- "responses" : {
- "500" : {
- "description" : "Service unavailable.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "/events/organizations/{organization-fiscal-code}/iuvs/{iuv}": {
+ "get": {
+ "tags": [
+ "Biz-Events Helpdesk"
+ ],
+ "summary": "Retrieve the biz-event given the organization fiscal code and IUV.",
+ "operationId": "getBizEventByOrganizationFiscalCodeAndIuv",
+ "parameters": [
+ {
+ "name": "organization-fiscal-code",
+ "in": "path",
+ "description": "The fiscal code of the Organization.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "iuv",
+ "in": "path",
+ "description": "The unique payment identification. Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "500": {
+ "description": "Service unavailable.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/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"
+ "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"
}
}
}
},
- "200" : {
- "description" : "Obtained biz-event.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "200": {
+ "description": "Obtained biz-event.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/BizEvent"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BizEvent"
}
}
}
},
- "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"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
}
},
- "components" : {
- "schemas" : {
- "ProblemJson" : {
- "type" : "object",
- "properties" : {
- "title" : {
- "type" : "string",
- "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable"
- },
- "status" : {
- "maximum" : 600,
- "minimum" : 100,
- "type" : "integer",
- "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.",
- "format" : "int32",
- "example" : 200
- },
- "detail" : {
- "type" : "string",
- "description" : "A human readable explanation specific to this occurrence of the problem.",
- "example" : "There was an error processing the request"
+ "components": {
+ "schemas": {
+ "ProblemJson": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable"
+ },
+ "status": {
+ "maximum": 600,
+ "minimum": 100,
+ "type": "integer",
+ "description": "The HTTP status code generated by the origin server for this occurrence of the problem.",
+ "format": "int32",
+ "example": 200
+ },
+ "detail": {
+ "type": "string",
+ "description": "A human readable explanation specific to this occurrence of the problem.",
+ "example": "There was an error processing the request"
}
}
},
- "AppInfo" : {
- "type" : "object",
- "properties" : {
- "name" : {
- "type" : "string"
+ "AppInfo": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
},
- "version" : {
- "type" : "string"
+ "version": {
+ "type": "string"
},
- "environment" : {
- "type" : "string"
+ "environment": {
+ "type": "string"
}
}
},
- "AuthRequest" : {
- "type" : "object",
- "properties" : {
- "authOutcome" : {
- "type" : "string"
+ "AuthRequest": {
+ "type": "object",
+ "properties": {
+ "authOutcome": {
+ "type": "string"
},
- "guid" : {
- "type" : "string"
+ "guid": {
+ "type": "string"
},
- "correlationId" : {
- "type" : "string"
+ "correlationId": {
+ "type": "string"
},
- "error" : {
- "type" : "string"
+ "error": {
+ "type": "string"
},
- "auth_code" : {
- "type" : "string"
+ "auth_code": {
+ "type": "string"
}
}
},
- "BizEvent" : {
- "type" : "object",
- "properties" : {
- "id" : {
- "type" : "string"
+ "BizEvent": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
},
- "version" : {
- "type" : "string"
+ "version": {
+ "type": "string"
},
- "idPaymentManager" : {
- "type" : "string"
+ "idPaymentManager": {
+ "type": "string"
},
- "complete" : {
- "type" : "string"
+ "complete": {
+ "type": "string"
},
- "receiptId" : {
- "type" : "string"
+ "receiptId": {
+ "type": "string"
},
- "missingInfo" : {
- "type" : "array",
- "items" : {
- "type" : "string"
+ "missingInfo": {
+ "type": "array",
+ "items": {
+ "type": "string"
}
},
- "debtorPosition" : {
- "$ref" : "#/components/schemas/DebtorPosition"
+ "debtorPosition": {
+ "$ref": "#/components/schemas/DebtorPosition"
},
- "creditor" : {
- "$ref" : "#/components/schemas/Creditor"
+ "creditor": {
+ "$ref": "#/components/schemas/Creditor"
},
- "psp" : {
- "$ref" : "#/components/schemas/Psp"
+ "psp": {
+ "$ref": "#/components/schemas/Psp"
},
- "debtor" : {
- "$ref" : "#/components/schemas/Debtor"
+ "debtor": {
+ "$ref": "#/components/schemas/Debtor"
},
- "payer" : {
- "$ref" : "#/components/schemas/Payer"
+ "payer": {
+ "$ref": "#/components/schemas/Payer"
},
- "paymentInfo" : {
- "$ref" : "#/components/schemas/PaymentInfo"
+ "paymentInfo": {
+ "$ref": "#/components/schemas/PaymentInfo"
},
- "transferList" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/Transfer"
+ "transferList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Transfer"
}
},
- "transactionDetails" : {
- "$ref" : "#/components/schemas/TransactionDetails"
- },
- "eventStatus" : {
- "type" : "string",
- "enum" : [ "NA", "RETRY", "FAILED", "DONE" ]
- },
- "eventRetryEnrichmentCount" : {
- "type" : "integer",
- "format" : "int32"
+ "transactionDetails": {
+ "$ref": "#/components/schemas/TransactionDetails"
+ },
+ "eventStatus": {
+ "type": "string",
+ "enum": [
+ "NA",
+ "RETRY",
+ "FAILED",
+ "DONE"
+ ]
+ },
+ "eventRetryEnrichmentCount": {
+ "type": "integer",
+ "format": "int32"
}
}
},
- "Creditor" : {
- "type" : "object",
- "properties" : {
- "idPA" : {
- "type" : "string"
+ "Creditor": {
+ "type": "object",
+ "properties": {
+ "idPA": {
+ "type": "string"
},
- "idBrokerPA" : {
- "type" : "string"
+ "idBrokerPA": {
+ "type": "string"
},
- "idStation" : {
- "type" : "string"
+ "idStation": {
+ "type": "string"
},
- "companyName" : {
- "type" : "string"
+ "companyName": {
+ "type": "string"
},
- "officeName" : {
- "type" : "string"
+ "officeName": {
+ "type": "string"
}
}
},
- "Debtor" : {
- "type" : "object",
- "properties" : {
- "fullName" : {
- "type" : "string"
+ "Debtor": {
+ "type": "object",
+ "properties": {
+ "fullName": {
+ "type": "string"
},
- "entityUniqueIdentifierType" : {
- "type" : "string"
+ "entityUniqueIdentifierType": {
+ "type": "string"
},
- "entityUniqueIdentifierValue" : {
- "type" : "string"
+ "entityUniqueIdentifierValue": {
+ "type": "string"
},
- "streetName" : {
- "type" : "string"
+ "streetName": {
+ "type": "string"
},
- "civicNumber" : {
- "type" : "string"
+ "civicNumber": {
+ "type": "string"
},
- "postalCode" : {
- "type" : "string"
+ "postalCode": {
+ "type": "string"
},
- "city" : {
- "type" : "string"
+ "city": {
+ "type": "string"
},
- "stateProvinceRegion" : {
- "type" : "string"
+ "stateProvinceRegion": {
+ "type": "string"
},
- "country" : {
- "type" : "string"
+ "country": {
+ "type": "string"
},
- "eMail" : {
- "type" : "string"
+ "eMail": {
+ "type": "string"
}
}
},
- "DebtorPosition" : {
- "type" : "object",
- "properties" : {
- "modelType" : {
- "type" : "string"
+ "DebtorPosition": {
+ "type": "object",
+ "properties": {
+ "modelType": {
+ "type": "string"
},
- "noticeNumber" : {
- "type" : "string"
+ "noticeNumber": {
+ "type": "string"
},
- "iuv" : {
- "type" : "string"
+ "iuv": {
+ "type": "string"
},
- "iur" : {
- "type" : "string"
+ "iur": {
+ "type": "string"
}
}
},
- "Details" : {
- "type" : "object",
- "properties" : {
- "blurredNumber" : {
- "type" : "string"
+ "Details": {
+ "type": "object",
+ "properties": {
+ "blurredNumber": {
+ "type": "string"
},
- "holder" : {
- "type" : "string"
+ "holder": {
+ "type": "string"
},
- "circuit" : {
- "type" : "string"
+ "circuit": {
+ "type": "string"
}
}
},
- "Info" : {
- "type" : "object",
- "properties" : {
- "type" : {
- "type" : "string"
+ "Info": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
},
- "blurredNumber" : {
- "type" : "string"
+ "blurredNumber": {
+ "type": "string"
},
- "holder" : {
- "type" : "string"
+ "holder": {
+ "type": "string"
},
- "expireMonth" : {
- "type" : "string"
+ "expireMonth": {
+ "type": "string"
},
- "expireYear" : {
- "type" : "string"
+ "expireYear": {
+ "type": "string"
},
- "brand" : {
- "type" : "string"
+ "brand": {
+ "type": "string"
},
- "issuerAbi" : {
- "type" : "string"
+ "issuerAbi": {
+ "type": "string"
},
- "issuerName" : {
- "type" : "string"
+ "issuerName": {
+ "type": "string"
},
- "label" : {
- "type" : "string"
+ "label": {
+ "type": "string"
}
}
},
- "InfoTransaction" : {
- "type" : "object",
- "properties" : {
- "brand" : {
- "type" : "string"
+ "InfoTransaction": {
+ "type": "object",
+ "properties": {
+ "brand": {
+ "type": "string"
},
- "brandLogo" : {
- "type" : "string"
+ "brandLogo": {
+ "type": "string"
},
- "clientId" : {
- "type" : "string"
+ "clientId": {
+ "type": "string"
},
- "paymentMethodName" : {
- "type" : "string"
+ "paymentMethodName": {
+ "type": "string"
},
- "type" : {
- "type" : "string"
+ "type": {
+ "type": "string"
}
}
},
- "MBD" : {
- "type" : "object",
- "properties" : {
- "IUBD" : {
- "type" : "string"
+ "MBD": {
+ "type": "object",
+ "properties": {
+ "IUBD": {
+ "type": "string"
},
- "oraAcquisto" : {
- "type" : "string"
+ "oraAcquisto": {
+ "type": "string"
},
- "importo" : {
- "type" : "string"
+ "importo": {
+ "type": "string"
},
- "tipoBollo" : {
- "type" : "string"
+ "tipoBollo": {
+ "type": "string"
},
- "MBDAttachment" : {
- "type" : "string"
+ "MBDAttachment": {
+ "type": "string"
}
}
},
- "MapEntry" : {
- "type" : "object",
- "properties" : {
- "key" : {
- "type" : "string"
- },
- "value" : {
- "type" : "string"
+ "MapEntry": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
}
}
},
- "Payer" : {
- "type" : "object",
- "properties" : {
- "fullName" : {
- "type" : "string"
+ "Payer": {
+ "type": "object",
+ "properties": {
+ "fullName": {
+ "type": "string"
},
- "entityUniqueIdentifierType" : {
- "type" : "string"
+ "entityUniqueIdentifierType": {
+ "type": "string"
},
- "entityUniqueIdentifierValue" : {
- "type" : "string"
+ "entityUniqueIdentifierValue": {
+ "type": "string"
},
- "streetName" : {
- "type" : "string"
+ "streetName": {
+ "type": "string"
},
- "civicNumber" : {
- "type" : "string"
+ "civicNumber": {
+ "type": "string"
},
- "postalCode" : {
- "type" : "string"
+ "postalCode": {
+ "type": "string"
},
- "city" : {
- "type" : "string"
+ "city": {
+ "type": "string"
},
- "stateProvinceRegion" : {
- "type" : "string"
+ "stateProvinceRegion": {
+ "type": "string"
},
- "country" : {
- "type" : "string"
+ "country": {
+ "type": "string"
},
- "eMail" : {
- "type" : "string"
+ "eMail": {
+ "type": "string"
}
}
},
- "PaymentAuthorizationRequest" : {
- "type" : "object",
- "properties" : {
- "authOutcome" : {
- "type" : "string"
+ "PaymentAuthorizationRequest": {
+ "type": "object",
+ "properties": {
+ "authOutcome": {
+ "type": "string"
},
- "requestId" : {
- "type" : "string"
+ "requestId": {
+ "type": "string"
},
- "correlationId" : {
- "type" : "string"
+ "correlationId": {
+ "type": "string"
},
- "authCode" : {
- "type" : "string"
+ "authCode": {
+ "type": "string"
},
- "paymentMethodType" : {
- "type" : "string"
+ "paymentMethodType": {
+ "type": "string"
},
- "details" : {
- "$ref" : "#/components/schemas/Details"
+ "details": {
+ "$ref": "#/components/schemas/Details"
}
}
},
- "PaymentInfo" : {
- "type" : "object",
- "properties" : {
- "paymentDateTime" : {
- "type" : "string"
+ "PaymentInfo": {
+ "type": "object",
+ "properties": {
+ "paymentDateTime": {
+ "type": "string"
},
- "applicationDate" : {
- "type" : "string"
+ "applicationDate": {
+ "type": "string"
},
- "transferDate" : {
- "type" : "string"
+ "transferDate": {
+ "type": "string"
},
- "dueDate" : {
- "type" : "string"
+ "dueDate": {
+ "type": "string"
},
- "paymentToken" : {
- "type" : "string"
+ "paymentToken": {
+ "type": "string"
},
- "amount" : {
- "type" : "string"
+ "amount": {
+ "type": "string"
},
- "fee" : {
- "type" : "string"
+ "fee": {
+ "type": "string"
},
- "primaryCiIncurredFee" : {
- "type" : "string"
+ "primaryCiIncurredFee": {
+ "type": "string"
},
- "idBundle" : {
- "type" : "string"
+ "idBundle": {
+ "type": "string"
},
- "idCiBundle" : {
- "type" : "string"
+ "idCiBundle": {
+ "type": "string"
},
- "totalNotice" : {
- "type" : "string"
+ "totalNotice": {
+ "type": "string"
},
- "paymentMethod" : {
- "type" : "string"
+ "paymentMethod": {
+ "type": "string"
},
- "touchpoint" : {
- "type" : "string"
+ "touchpoint": {
+ "type": "string"
},
- "remittanceInformation" : {
- "type" : "string"
+ "remittanceInformation": {
+ "type": "string"
},
- "description" : {
- "type" : "string"
+ "description": {
+ "type": "string"
},
- "metadata" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/MapEntry"
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MapEntry"
}
},
- "IUR" : {
- "type" : "string"
+ "IUR": {
+ "type": "string"
}
}
},
- "Psp" : {
- "type" : "object",
- "properties" : {
- "idPsp" : {
- "type" : "string"
+ "Psp": {
+ "type": "object",
+ "properties": {
+ "idPsp": {
+ "type": "string"
},
- "idBrokerPsp" : {
- "type" : "string"
+ "idBrokerPsp": {
+ "type": "string"
},
- "idChannel" : {
- "type" : "string"
+ "idChannel": {
+ "type": "string"
},
- "psp" : {
- "type" : "string"
+ "psp": {
+ "type": "string"
},
- "pspPartitaIVA" : {
- "type" : "string"
+ "pspPartitaIVA": {
+ "type": "string"
},
- "pspFiscalCode" : {
- "type" : "string"
+ "pspFiscalCode": {
+ "type": "string"
},
- "channelDescription" : {
- "type" : "string"
+ "channelDescription": {
+ "type": "string"
}
}
},
- "Transaction" : {
- "type" : "object",
- "properties" : {
- "idTransaction" : {
- "type" : "string"
+ "Transaction": {
+ "type": "object",
+ "properties": {
+ "idTransaction": {
+ "type": "string"
},
- "transactionId" : {
- "type" : "string"
+ "transactionId": {
+ "type": "string"
},
- "grandTotal" : {
- "type" : "integer",
- "format" : "int64"
+ "grandTotal": {
+ "type": "integer",
+ "format": "int64"
},
- "amount" : {
- "type" : "integer",
- "format" : "int64"
+ "amount": {
+ "type": "integer",
+ "format": "int64"
},
- "fee" : {
- "type" : "integer",
- "format" : "int64"
+ "fee": {
+ "type": "integer",
+ "format": "int64"
},
- "transactionStatus" : {
- "type" : "string"
+ "transactionStatus": {
+ "type": "string"
},
- "accountingStatus" : {
- "type" : "string"
+ "accountingStatus": {
+ "type": "string"
},
- "rrn" : {
- "type" : "string"
+ "rrn": {
+ "type": "string"
},
- "authorizationCode" : {
- "type" : "string"
+ "authorizationCode": {
+ "type": "string"
},
- "creationDate" : {
- "type" : "string"
+ "creationDate": {
+ "type": "string"
},
- "numAut" : {
- "type" : "string"
+ "numAut": {
+ "type": "string"
},
- "accountCode" : {
- "type" : "string"
+ "accountCode": {
+ "type": "string"
},
- "psp" : {
- "$ref" : "#/components/schemas/TransactionPsp"
+ "psp": {
+ "$ref": "#/components/schemas/TransactionPsp"
},
- "origin" : {
- "type" : "string"
+ "origin": {
+ "type": "string"
}
}
},
- "TransactionDetails" : {
- "type" : "object",
- "properties" : {
- "user" : {
- "$ref" : "#/components/schemas/User"
+ "TransactionDetails": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "$ref": "#/components/schemas/User"
},
- "paymentAuthorizationRequest" : {
- "$ref" : "#/components/schemas/PaymentAuthorizationRequest"
+ "paymentAuthorizationRequest": {
+ "$ref": "#/components/schemas/PaymentAuthorizationRequest"
},
- "wallet" : {
- "$ref" : "#/components/schemas/WalletItem"
+ "wallet": {
+ "$ref": "#/components/schemas/WalletItem"
},
- "origin" : {
- "type" : "string"
+ "origin": {
+ "type": "string"
},
- "transaction" : {
- "$ref" : "#/components/schemas/Transaction"
+ "transaction": {
+ "$ref": "#/components/schemas/Transaction"
},
- "info" : {
- "$ref" : "#/components/schemas/InfoTransaction"
+ "info": {
+ "$ref": "#/components/schemas/InfoTransaction"
}
}
},
- "TransactionPsp" : {
- "type" : "object",
- "properties" : {
- "idChannel" : {
- "type" : "string"
+ "TransactionPsp": {
+ "type": "object",
+ "properties": {
+ "idChannel": {
+ "type": "string"
},
- "businessName" : {
- "type" : "string"
+ "businessName": {
+ "type": "string"
},
- "serviceName" : {
- "type" : "string"
+ "serviceName": {
+ "type": "string"
}
}
},
- "Transfer" : {
- "type" : "object",
- "properties" : {
- "idTransfer" : {
- "type" : "string"
+ "Transfer": {
+ "type": "object",
+ "properties": {
+ "idTransfer": {
+ "type": "string"
},
- "fiscalCodePA" : {
- "type" : "string"
+ "fiscalCodePA": {
+ "type": "string"
},
- "companyName" : {
- "type" : "string"
+ "companyName": {
+ "type": "string"
},
- "amount" : {
- "type" : "string"
+ "amount": {
+ "type": "string"
},
- "transferCategory" : {
- "type" : "string"
+ "transferCategory": {
+ "type": "string"
},
- "remittanceInformation" : {
- "type" : "string"
+ "remittanceInformation": {
+ "type": "string"
},
- "metadata" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/MapEntry"
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MapEntry"
}
},
- "IBAN" : {
- "type" : "string"
+ "IBAN": {
+ "type": "string"
},
- "MBD" : {
- "$ref" : "#/components/schemas/MBD"
+ "MBD": {
+ "$ref": "#/components/schemas/MBD"
}
}
},
- "User" : {
- "type" : "object",
- "properties" : {
- "fullName" : {
- "type" : "string"
- },
- "type" : {
- "type" : "string",
- "enum" : [ "F", "G", "GUEST" ]
- },
- "fiscalCode" : {
- "type" : "string"
- },
- "notificationEmail" : {
- "type" : "string"
- },
- "userId" : {
- "type" : "string"
- },
- "userStatus" : {
- "type" : "string"
- },
- "userStatusDescription" : {
- "type" : "string"
+ "User": {
+ "type": "object",
+ "properties": {
+ "fullName": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "F",
+ "G",
+ "GUEST"
+ ]
+ },
+ "fiscalCode": {
+ "type": "string"
+ },
+ "notificationEmail": {
+ "type": "string"
+ },
+ "userId": {
+ "type": "string"
+ },
+ "userStatus": {
+ "type": "string"
+ },
+ "userStatusDescription": {
+ "type": "string"
}
}
},
- "WalletItem" : {
- "type" : "object",
- "properties" : {
- "idWallet" : {
- "type" : "string"
- },
- "walletType" : {
- "type" : "string",
- "enum" : [ "CARD", "PAYPAL", "BANCOMATPAY" ]
- },
- "enableableFunctions" : {
- "type" : "array",
- "items" : {
- "type" : "string"
+ "WalletItem": {
+ "type": "object",
+ "properties": {
+ "idWallet": {
+ "type": "string"
+ },
+ "walletType": {
+ "type": "string",
+ "enum": [
+ "CARD",
+ "PAYPAL",
+ "BANCOMATPAY"
+ ]
+ },
+ "enableableFunctions": {
+ "type": "array",
+ "items": {
+ "type": "string"
}
},
- "pagoPa" : {
- "type" : "boolean"
+ "pagoPa": {
+ "type": "boolean"
},
- "onboardingChannel" : {
- "type" : "string"
+ "onboardingChannel": {
+ "type": "string"
},
- "favourite" : {
- "type" : "boolean"
+ "favourite": {
+ "type": "boolean"
},
- "createDate" : {
- "type" : "string"
+ "createDate": {
+ "type": "string"
},
- "info" : {
- "$ref" : "#/components/schemas/Info"
+ "info": {
+ "$ref": "#/components/schemas/Info"
},
- "authRequest" : {
- "$ref" : "#/components/schemas/AuthRequest"
+ "authRequest": {
+ "$ref": "#/components/schemas/AuthRequest"
}
}
}
},
- "securitySchemes" : {
- "ApiKey" : {
- "type" : "apiKey",
- "description" : "The API key to access this function app.",
- "name" : "Ocp-Apim-Subscription-Key",
- "in" : "header"
+ "securitySchemes": {
+ "ApiKey": {
+ "type": "apiKey",
+ "description": "The API key to access this function app.",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
}
}
}
-}
\ No newline at end of file
+}
diff --git a/openapi/openapi_io.json b/openapi/openapi_io.json
index b596cd10..4b07046c 100644
--- a/openapi/openapi_io.json
+++ b/openapi/openapi_io.json
@@ -1,789 +1,852 @@
{
- "openapi" : "3.0.1",
- "info" : {
- "title" : "Biz-Events Service",
- "description" : "Microservice for exposing REST APIs about payment receipts.",
- "termsOfService" : "https://www.pagopa.gov.it/",
- "version" : "0.1.27"
+ "openapi": "3.0.1",
+ "info": {
+ "title": "Biz-Events Service",
+ "description": "Microservice for exposing REST APIs about payment receipts.",
+ "termsOfService": "https://www.pagopa.gov.it/",
+ "version": "0.1.28"
},
- "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" : {
- "200" : {
- "description" : "Disabled Transactions.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ ],
+ "responses": {
+ "200": {
+ "description": "Disabled Transactions.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : { }
+ "content": {
+ "application/json": {}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/transactions" : {
- "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" : {
- "$ref" : "#/components/schemas/TransactionListWrapResponse"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TransactionListWrapResponse"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/transactions/{transaction-id}" : {
- "get" : {
- "tags" : [ "IO Transactions REST APIs" ],
- "summary" : "Retrieve the transaction details given its id.",
- "operationId" : "getTransactionDetails",
- "parameters" : [ {
- "name" : "x-fiscal-code",
- "in" : "header",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- }, {
- "name" : "transaction-id",
- "in" : "path",
- "description" : "The id of the transaction.",
- "required" : true,
- "schema" : {
- "type" : "string"
+ "/transactions/{transaction-id}": {
+ "get": {
+ "tags": [
+ "IO Transactions REST APIs"
+ ],
+ "summary": "Retrieve the transaction details given its id.",
+ "operationId": "getTransactionDetails",
+ "parameters": [
+ {
+ "name": "x-fiscal-code",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "transaction-id",
+ "in": "path",
+ "description": "The id of the transaction.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
}
- } ],
- "responses" : {
- "500" : {
- "description" : "Service unavailable.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ ],
+ "responses": {
+ "500": {
+ "description": "Service unavailable.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
},
- "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"
}
}
}
},
- "200" : {
- "description" : "Obtained transaction details.",
- "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/TransactionDetailResponse"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TransactionDetailResponse"
}
}
}
},
- "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"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/transactions/{event-id}/pdf" : {
- "get" : {
- "tags" : [ "IO Transactions REST APIs" ],
- "summary" : "Retrieve the PDF receipt given event id.",
- "operationId" : "getPDFReceipt",
- "parameters" : [ {
- "name" : "x-fiscal-code",
- "in" : "header",
- "required" : true,
- "schema" : {
- "type" : "string"
- }
- }, {
- "name" : "event-id",
- "in" : "path",
- "description" : "The id of the event.",
- "required" : true,
- "schema" : {
- "type" : "string"
+ "/transactions/{event-id}/pdf": {
+ "get": {
+ "tags": [
+ "IO Transactions REST APIs"
+ ],
+ "summary": "Retrieve the PDF receipt given event id.",
+ "operationId": "getPDFReceipt",
+ "parameters": [
+ {
+ "name": "x-fiscal-code",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "event-id",
+ "in": "path",
+ "description": "The id of the event.",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
}
- } ],
- "responses" : {
- "422" : {
- "description" : "Unprocessable receipt.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ ],
+ "responses": {
+ "422": {
+ "description": "Unprocessable receipt.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/ProblemJson"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProblemJson"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "200" : {
- "description" : "Obtained the PDF receipt.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "200": {
+ "description": "Obtained the PDF receipt.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/pdf" : { }
+ "content": {
+ "application/pdf": {}
}
},
- "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"
}
}
}
},
- "401" : {
- "description" : "Wrong or missing function key.",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Wrong or missing function key.",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
},
- "/info" : {
- "get" : {
- "tags" : [ "Home" ],
- "summary" : "health check",
- "description" : "Return OK if application is started",
- "operationId" : "healthCheck",
- "responses" : {
- "429" : {
- "description" : "Too many requests",
- "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": {
+ "429": {
+ "description": "Too many requests",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "401" : {
- "description" : "Unauthorized",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "401": {
+ "description": "Unauthorized",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "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"
}
}
}
},
- "200" : {
- "description" : "OK",
- "headers" : {
- "X-Request-Id" : {
- "description" : "This header identifies the call",
- "schema" : {
- "type" : "string"
+ "200": {
+ "description": "OK",
+ "headers": {
+ "X-Request-Id": {
+ "description": "This header identifies the call",
+ "schema": {
+ "type": "string"
}
}
},
- "content" : {
- "application/json" : {
- "schema" : {
- "$ref" : "#/components/schemas/AppInfo"
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AppInfo"
}
}
}
}
},
- "security" : [ {
- "ApiKey" : [ ]
- } ]
+ "security": [
+ {
+ "ApiKey": []
+ }
+ ]
},
- "parameters" : [ {
- "name" : "X-Request-Id",
- "in" : "header",
- "description" : "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
- "schema" : {
- "type" : "string"
+ "parameters": [
+ {
+ "name": "X-Request-Id",
+ "in": "header",
+ "description": "This header identifies the call, if not passed it is self-generated. This ID is returned in the response.",
+ "schema": {
+ "type": "string"
+ }
}
- } ]
+ ]
}
},
- "components" : {
- "schemas" : {
- "ProblemJson" : {
- "type" : "object",
- "properties" : {
- "title" : {
- "type" : "string",
- "description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable"
- },
- "status" : {
- "maximum" : 600,
- "minimum" : 100,
- "type" : "integer",
- "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.",
- "format" : "int32",
- "example" : 200
- },
- "detail" : {
- "type" : "string",
- "description" : "A human readable explanation specific to this occurrence of the problem.",
- "example" : "There was an error processing the request"
+ "components": {
+ "schemas": {
+ "ProblemJson": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable"
+ },
+ "status": {
+ "maximum": 600,
+ "minimum": 100,
+ "type": "integer",
+ "description": "The HTTP status code generated by the origin server for this occurrence of the problem.",
+ "format": "int32",
+ "example": 200
+ },
+ "detail": {
+ "type": "string",
+ "description": "A human readable explanation specific to this occurrence of the problem.",
+ "example": "There was an error processing the request"
}
}
},
- "TransactionListItem" : {
- "type" : "object",
- "properties" : {
- "transactionId" : {
- "type" : "string"
+ "TransactionListItem": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string"
},
- "payeeName" : {
- "type" : "string"
+ "payeeName": {
+ "type": "string"
},
- "payeeTaxCode" : {
- "type" : "string"
+ "payeeTaxCode": {
+ "type": "string"
},
- "amount" : {
- "type" : "string"
+ "amount": {
+ "type": "string"
},
- "transactionDate" : {
- "type" : "string"
+ "transactionDate": {
+ "type": "string"
},
- "isCart" : {
- "type" : "boolean"
+ "isCart": {
+ "type": "boolean"
},
- "isPayer" : {
- "type" : "boolean"
+ "isPayer": {
+ "type": "boolean"
},
- "isDebtor" : {
- "type" : "boolean"
+ "isDebtor": {
+ "type": "boolean"
}
}
},
- "TransactionListWrapResponse" : {
- "type" : "object",
- "properties" : {
- "transactions" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/TransactionListItem"
+ "TransactionListWrapResponse": {
+ "type": "object",
+ "properties": {
+ "transactions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TransactionListItem"
}
}
}
},
- "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"
}
}
},
- "InfoTransactionView" : {
- "type" : "object",
- "properties" : {
- "transactionId" : {
- "type" : "string"
- },
- "authCode" : {
- "type" : "string"
- },
- "rrn" : {
- "type" : "string"
- },
- "transactionDate" : {
- "type" : "string"
- },
- "pspName" : {
- "type" : "string"
- },
- "walletInfo" : {
- "$ref" : "#/components/schemas/WalletInfo"
- },
- "paymentMethod" : {
- "type" : "string",
- "enum" : [ "BBT", "BP", "AD", "CP", "PO", "OBEP", "JIF", "MYBK", "PPAL", "UNKNOWN" ]
- },
- "payer" : {
- "$ref" : "#/components/schemas/UserDetail"
- },
- "amount" : {
- "type" : "string"
- },
- "fee" : {
- "type" : "string"
- },
- "origin" : {
- "type" : "string",
- "enum" : [ "INTERNAL", "PM", "NDP001PROD", "NDP002PROD", "NDP003PROD", "UNKNOWN" ]
+ "InfoTransactionView": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string"
+ },
+ "authCode": {
+ "type": "string"
+ },
+ "rrn": {
+ "type": "string"
+ },
+ "transactionDate": {
+ "type": "string"
+ },
+ "pspName": {
+ "type": "string"
+ },
+ "walletInfo": {
+ "$ref": "#/components/schemas/WalletInfo"
+ },
+ "paymentMethod": {
+ "type": "string",
+ "enum": [
+ "BBT",
+ "BP",
+ "AD",
+ "CP",
+ "PO",
+ "OBEP",
+ "JIF",
+ "MYBK",
+ "PPAL",
+ "UNKNOWN"
+ ]
+ },
+ "payer": {
+ "$ref": "#/components/schemas/UserDetail"
+ },
+ "amount": {
+ "type": "string"
+ },
+ "fee": {
+ "type": "string"
+ },
+ "origin": {
+ "type": "string",
+ "enum": [
+ "INTERNAL",
+ "PM",
+ "NDP001PROD",
+ "NDP002PROD",
+ "NDP003PROD",
+ "UNKNOWN"
+ ]
}
}
},
- "TransactionDetailResponse" : {
- "type" : "object",
- "properties" : {
- "infoTransaction" : {
- "$ref" : "#/components/schemas/InfoTransactionView"
- },
- "carts" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/components/schemas/CartItem"
+ "TransactionDetailResponse": {
+ "type": "object",
+ "properties": {
+ "infoTransaction": {
+ "$ref": "#/components/schemas/InfoTransactionView"
+ },
+ "carts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CartItem"
}
}
}
},
- "UserDetail" : {
- "type" : "object",
- "properties" : {
- "name" : {
- "type" : "string"
- },
- "taxCode" : {
- "type" : "string"
+ "UserDetail": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "taxCode": {
+ "type": "string"
}
}
},
- "WalletInfo" : {
- "type" : "object",
- "properties" : {
- "accountHolder" : {
- "type" : "string"
+ "WalletInfo": {
+ "type": "object",
+ "properties": {
+ "accountHolder": {
+ "type": "string"
},
- "brand" : {
- "type" : "string"
+ "brand": {
+ "type": "string"
},
- "blurredNumber" : {
- "type" : "string"
+ "blurredNumber": {
+ "type": "string"
},
- "maskedEmail" : {
- "type" : "string"
+ "maskedEmail": {
+ "type": "string"
}
}
},
- "AppInfo" : {
- "type" : "object",
- "properties" : {
- "name" : {
- "type" : "string"
+ "AppInfo": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
},
- "version" : {
- "type" : "string"
+ "version": {
+ "type": "string"
},
- "environment" : {
- "type" : "string"
+ "environment": {
+ "type": "string"
}
}
}
},
- "securitySchemes" : {
- "ApiKey" : {
- "type" : "apiKey",
- "description" : "The API key to access this function app.",
- "name" : "Ocp-Apim-Subscription-Key",
- "in" : "header"
+ "securitySchemes": {
+ "ApiKey": {
+ "type": "apiKey",
+ "description": "The API key to access this function app.",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
}
}
}
-}
\ No newline at end of file
+}
diff --git a/pom.xml b/pom.xml
index 68c24dec..89b3b004 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
it.gov.pagopa
bizeventsservice
- 0.1.27
+ 0.1.28
Biz-Events Service
Microservice for exposing REST APIs about payment receipts.
diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptGeneratePDFClient.java b/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptGeneratePDFClient.java
new file mode 100644
index 00000000..85ce94dc
--- /dev/null
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptGeneratePDFClient.java
@@ -0,0 +1,24 @@
+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.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.http.MediaType;
+
+import feign.FeignException;
+import it.gov.pagopa.bizeventsservice.config.feign.PDFGenerateReceiptFeignConfig;
+
+@FeignClient(value = "generateReceiptPDF", url = "${service.generate.pdf.receipt.host}", configuration = PDFGenerateReceiptFeignConfig.class)
+public interface IReceiptGeneratePDFClient {
+
+ @Retryable(
+ exclude = FeignException.FeignClientException.class,
+ maxAttemptsExpression = "${generate.pdf.retry.maxAttempts}",
+ backoff = @Backoff(delayExpression = "${generate.pdf.retry.maxDelay}"))
+ @PostMapping(value = "${service.generate.pdf.receipt.path}", consumes = MediaType.APPLICATION_JSON_VALUE)
+ String generateReceipt(@PathVariable("event-id") String eventId, @RequestParam("isCart") String isCart, @RequestBody String body);
+}
diff --git a/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptPDFClient.java b/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptGetPDFClient.java
similarity index 67%
rename from src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptPDFClient.java
rename to src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptGetPDFClient.java
index 8f4b3c81..8a98a1f2 100644
--- a/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptPDFClient.java
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/client/IReceiptGetPDFClient.java
@@ -8,23 +8,23 @@
import org.springframework.web.bind.annotation.RequestHeader;
import feign.FeignException;
-import it.gov.pagopa.bizeventsservice.config.feign.PDFReceiptFeignConfig;
+import it.gov.pagopa.bizeventsservice.config.feign.PDFGetReceiptFeignConfig;
import it.gov.pagopa.bizeventsservice.model.response.AttachmentsDetailsResponse;
-@FeignClient(value = "receiptPDF", url = "${service.pdf.receipt.host}", configuration = PDFReceiptFeignConfig.class)
-public interface IReceiptPDFClient {
+@FeignClient(value = "getReceiptPDF", url = "${service.get.pdf.receipt.host}", configuration = PDFGetReceiptFeignConfig.class)
+public interface IReceiptGetPDFClient {
@Retryable(
exclude = FeignException.FeignClientException.class,
- maxAttemptsExpression = "${retry.maxAttempts}",
- backoff = @Backoff(delayExpression = "${retry.maxDelay}"))
+ maxAttemptsExpression = "${get.pdf.retry.maxAttempts}",
+ backoff = @Backoff(delayExpression = "${get.pdf.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}"))
+ maxAttemptsExpression = "${get.pdf.retry.maxAttempts}",
+ backoff = @Backoff(delayExpression = "${get.pdf.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/PDFGenerateReceiptFeignConfig.java b/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/PDFGenerateReceiptFeignConfig.java
new file mode 100644
index 00000000..fef3b5bb
--- /dev/null
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/PDFGenerateReceiptFeignConfig.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 PDFGenerateReceiptFeignConfig extends AuthFeignConfig {
+
+ private static final String RECEIPT_SUBKEY_PLACEHOLDER = "${pdf.generate.receipt.subscription-key}";
+
+ @Autowired
+ public PDFGenerateReceiptFeignConfig(@Value(RECEIPT_SUBKEY_PLACEHOLDER) String subscriptionKey) {
+ this.subscriptionKey = 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/PDFGetReceiptFeignConfig.java
similarity index 65%
rename from src/main/java/it/gov/pagopa/bizeventsservice/config/feign/PDFReceiptFeignConfig.java
rename to src/main/java/it/gov/pagopa/bizeventsservice/config/feign/PDFGetReceiptFeignConfig.java
index 316faaca..48d24e37 100644
--- a/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/PDFReceiptFeignConfig.java
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/config/feign/PDFGetReceiptFeignConfig.java
@@ -5,12 +5,12 @@
import org.springframework.stereotype.Component;
@Component
-public class PDFReceiptFeignConfig extends AuthFeignConfig {
+public class PDFGetReceiptFeignConfig extends AuthFeignConfig {
- private static final String RECEIPT_SUBKEY_PLACEHOLDER = "${pdf.receipt.subscription-key}";
+ private static final String RECEIPT_SUBKEY_PLACEHOLDER = "${pdf.get.receipt.subscription-key}";
@Autowired
- public PDFReceiptFeignConfig(@Value(RECEIPT_SUBKEY_PLACEHOLDER) String subscriptionKey) {
+ public PDFGetReceiptFeignConfig(@Value(RECEIPT_SUBKEY_PLACEHOLDER) String subscriptionKey) {
this.subscriptionKey = subscriptionKey;
}
}
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 e8c41820..cfee0cda 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,6 +1,7 @@
package it.gov.pagopa.bizeventsservice.controller.impl;
-import it.gov.pagopa.bizeventsservice.client.IReceiptPDFClient;
+import it.gov.pagopa.bizeventsservice.client.IReceiptGeneratePDFClient;
+import it.gov.pagopa.bizeventsservice.client.IReceiptGetPDFClient;
import it.gov.pagopa.bizeventsservice.controller.ITransactionController;
import it.gov.pagopa.bizeventsservice.exception.AppException;
import it.gov.pagopa.bizeventsservice.model.response.AttachmentsDetailsResponse;
@@ -28,13 +29,16 @@ public class TransactionController implements ITransactionController {
private final ITransactionService transactionService;
private final IBizEventsService bizEventsService;
- private final IReceiptPDFClient receiptClient;
+ private final IReceiptGetPDFClient receiptClient;
+ private final IReceiptGeneratePDFClient generateReceiptClient;
@Autowired
- public TransactionController(ITransactionService transactionService, IBizEventsService bizEventsService, IReceiptPDFClient receiptClient) {
+ public TransactionController(ITransactionService transactionService, IBizEventsService bizEventsService,
+ IReceiptGetPDFClient receiptClient, IReceiptGeneratePDFClient generateReceiptClient) {
this.transactionService = transactionService;
this.bizEventsService = bizEventsService;
this.receiptClient = receiptClient;
+ this.generateReceiptClient = generateReceiptClient;
}
@Override
@@ -66,26 +70,40 @@ public ResponseEntity getPDFReceipt(@NotBlank String fiscalCode, @NotBla
}
private ResponseEntity acquirePDFReceipt(String fiscalCode, String eventId) {
+ // 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);
+ String url;
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
+ // call the receipt-pdf-service to retrieve the PDF receipt details
AttachmentsDetailsResponse response = receiptClient.getAttachments(fiscalCode, eventId);
- String url = response.getAttachments().get(0).getUrl();
-
- byte[] receiptFile = receiptClient.getReceipt(fiscalCode, eventId, url);
+ url = response.getAttachments().get(0).getUrl();
+ } catch (FeignException.NotFound e) {
+ throw new AppException(HttpStatus.NOT_FOUND, "Receipt Not Found", e.getMessage());
+ }
+ return this.getAttachment(fiscalCode, eventId, url);
+ }
+ private ResponseEntity getAttachment(String fiscalCode, String eventId, String url) {
+ byte[] receiptFile = {};
+ try {
+ // call the receipt-pdf-service to retrieve the PDF receipt attachment
+ 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());
+ // re-generate the PDF receipt and return the generated file by getReceipt call
+ generateReceiptClient.generateReceipt(eventId, "false", "{}");
+ receiptFile = receiptClient.getReceipt(fiscalCode, eventId, url);
+ return ResponseEntity
+ .ok()
+ .contentLength(receiptFile.length)
+ .contentType(MediaType.APPLICATION_PDF)
+ .header("content-disposition", "filename=receipt")
+ .body(receiptFile);
}
}
}
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 c87b8d40..5807fdec 100644
--- a/src/main/java/it/gov/pagopa/bizeventsservice/mapper/ConvertViewsToTransactionDetailResponse.java
+++ b/src/main/java/it/gov/pagopa/bizeventsservice/mapper/ConvertViewsToTransactionDetailResponse.java
@@ -58,7 +58,7 @@ public static TransactionDetailResponse convertTransactionDetails(String taxCode
}
// PAGOPA-1763: if the tax code refers to a debtor, do not show the sections relating to the payer
- boolean isDebtor = !bizEventsViewGeneral.getPayer().getTaxCode().equals(taxCode);
+ boolean isDebtor = bizEventsViewGeneral.getPayer() == null || !bizEventsViewGeneral.getPayer().getTaxCode().equals(taxCode);
return TransactionDetailResponse.builder()
.infoTransaction(
InfoTransactionView.builder()
@@ -91,7 +91,7 @@ public static TransactionListItem convertTransactionListItem(BizEventsViewUser v
.payeeName(listOfCartViews.size() > 1 ? payeeCartName : listOfCartViews.get(0).getPayee().getName())
.payeeTaxCode(listOfCartViews.size() > 1 ? "" : listOfCartViews.get(0).getPayee().getTaxCode())
// PAGOPA-1763: the amount value must be returned only if it is not a cart type transaction
- .amount(listOfCartViews.size() > 1 ? null : currencyFormat(totalAmount.get().toString()))
+ .amount(listOfCartViews.size() > 1 && BooleanUtils.isTrue(viewUser.getIsDebtor()) ? null : currencyFormat(totalAmount.get().toString()))
.transactionDate(dateFormatZoned(viewUser.getTransactionDate()))
.isCart(listOfCartViews.size() > 1)
.isPayer(BooleanUtils.isTrue(viewUser.getIsPayer()))
diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties
index 570d0b1b..69cb62c9 100644
--- a/src/main/resources/application-dev.properties
+++ b/src/main/resources/application-dev.properties
@@ -12,13 +12,17 @@ azure.cosmos.biz-events-view-user-container-name=biz-events-view-user
azure.cosmos.biz-events-view-general-container-name=biz-events-view-general
azure.cosmos.biz-events-view-cart-container-name=biz-events-view-cart
+
# Logging
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
+pdf.get.receipt.subscription-key=${SUBSCRIPTION_KEY}
+pdf.generate.receipt.subscription-key=${SUBSCRIPTION_KEY}
+service.get.pdf.receipt.host=https://api.dev.platform.pagopa.it/receipts/service/v1
+service.generate.pdf.receipt.host=https://api.dev.platform.pagopa.it/receipts/helpdesk/v1
+service.generate.pdf.receipt.path=/receipts/{event-id}/regenerate-receipt-pdf
springdoc.group-configs[0].group=all
springdoc.group-configs[0].displayName=Biz-Events All
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index a045fe19..edcc11b0 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -39,16 +39,21 @@ 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}
+pdf.get.receipt.subscription-key=${PDF_RECEIPT_SUBSCRIPTION_KEY}
+pdf.generate.receipt.subscription-key=${PDF_GENERATE_RECEIPT_SUBSCRIPTION_KEY}
+service.get.pdf.receipt.host=${PDF_RECEIPT_HOST}
+service.generate.pdf.receipt.host=${PDF_GENERATE_RECEIPT_HOST}
+service.generate.pdf.receipt.path=${PDF_GENERATE_RECEIPT_PATH:/receipts/{event-id}/regenerate-receipt-pdf}
# 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}
+get.pdf.retry.maxAttempts=${GET_PDF_RETRY_MAX_ATTEMPTS:3}
+get.pdf.retry.maxDelay=${GET_PDF_RETRY_MAX_DELAY:10000}
+generate.pdf.retry.maxAttempts=${GENERATE_PDF_RETRY_MAX_ATTEMPTS:3}
+generate.pdf.retry.maxDelay=${GENERATE_PDF_RETRY_MAX_DELAY:10000}
# Openapi
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 6704f266..542798f6 100644
--- a/src/test/java/it/gov/pagopa/bizeventsservice/controller/TransactionControllerTest.java
+++ b/src/test/java/it/gov/pagopa/bizeventsservice/controller/TransactionControllerTest.java
@@ -1,7 +1,8 @@
package it.gov.pagopa.bizeventsservice.controller;
-import it.gov.pagopa.bizeventsservice.client.IReceiptPDFClient;
+import it.gov.pagopa.bizeventsservice.client.IReceiptGeneratePDFClient;
+import it.gov.pagopa.bizeventsservice.client.IReceiptGetPDFClient;
import it.gov.pagopa.bizeventsservice.entity.BizEvent;
import it.gov.pagopa.bizeventsservice.exception.AppError;
import it.gov.pagopa.bizeventsservice.exception.AppException;
@@ -66,7 +67,10 @@ public class TransactionControllerTest {
private IBizEventsService bizEventsService;
@MockBean
- private IReceiptPDFClient receiptClient;
+ private IReceiptGetPDFClient receiptClient;
+
+ @MockBean
+ private IReceiptGeneratePDFClient generateReceiptClient;
private byte[] receipt = {69, 121, 101, 45, 62, 118, 101, 114, (byte) 196, (byte) 195, 61, 101, 98};
@@ -82,6 +86,7 @@ void setUp() throws IOException {
AttachmentsDetailsResponse attachments = AttachmentsDetailsResponse.builder().attachments(Arrays.asList(attachmentDetail)).build();
when(receiptClient.getAttachments(anyString(), anyString())).thenReturn(attachments);
when(receiptClient.getReceipt(anyString(), anyString(), any())).thenReturn(receipt);
+ when(generateReceiptClient.generateReceipt(anyString(), anyString(), any())).thenReturn("OK");
}
@Test
@@ -210,7 +215,7 @@ void getPDFReceiptForOldPMEvent_ShouldReturnNOTFOUND() throws Exception {
.andReturn();
}
- @Test // TODO This test will need to be modified when the receipt generation is introduced
+ @Test
void getPDFReceiptForMissingEventId_ShouldReturnNOTFOUND() throws Exception {
BizEvent bizEvent = mock (BizEvent.class);
@@ -240,5 +245,22 @@ void getPDFReceiptForUnhandledException_ShouldReturnKO() throws Exception {
.andExpect(content().contentType(MediaType.APPLICATION_JSON))
.andReturn();
}
+
+ @Test
+ void getPDFReceiptForMissingPDFFile_ShouldReturnOK() throws Exception {
+
+ BizEvent bizEvent = mock (BizEvent.class);
+ when (bizEventsService.getBizEvent(anyString())).thenReturn(bizEvent);
+ when(receiptClient.getReceipt(anyString(), eq("missing-pdf-file"), any())).thenThrow(FeignException.NotFound.class).thenReturn(receipt);
+
+ MvcResult result = mvc.perform(get("/transactions/missing-pdf-file/pdf")
+ .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);
+ }
}
diff --git a/src/test/java/it/gov/pagopa/bizeventsservice/service/TransactionServiceTest.java b/src/test/java/it/gov/pagopa/bizeventsservice/service/TransactionServiceTest.java
index aa3c5cb5..455e4960 100644
--- a/src/test/java/it/gov/pagopa/bizeventsservice/service/TransactionServiceTest.java
+++ b/src/test/java/it/gov/pagopa/bizeventsservice/service/TransactionServiceTest.java
@@ -112,7 +112,8 @@ void taxCodeWithEventsAndMultipleCartItemsShouldReturnTransactionList() {
for(TransactionListItem listItem : transactionListItems){
// PAGOPA-1763: the amount value must be returned only if it is not a cart type transaction
- Assertions.assertTrue(listItem.getIsCart() ? listItem.getAmount()==null:listItem.getAmount().equals(ViewGenerator.FORMATTED_GRAND_TOTAL));
+ Assertions.assertTrue(listItem.getIsCart() && Boolean.TRUE.equals(listItem.getIsDebtor()) ?
+ listItem.getAmount()==null:listItem.getAmount().equals(ViewGenerator.FORMATTED_GRAND_TOTAL));
Assertions.assertEquals(payeeCartName, listItem.getPayeeName());
Assertions.assertEquals("", listItem.getPayeeTaxCode());
}
diff --git a/src/test/java/it/gov/pagopa/bizeventsservice/util/ViewGenerator.java b/src/test/java/it/gov/pagopa/bizeventsservice/util/ViewGenerator.java
index e2de37c5..d93bfc7b 100644
--- a/src/test/java/it/gov/pagopa/bizeventsservice/util/ViewGenerator.java
+++ b/src/test/java/it/gov/pagopa/bizeventsservice/util/ViewGenerator.java
@@ -38,6 +38,7 @@ public static BizEventsViewUser generateBizEventsViewUser(){
.transactionDate(TRANSACTION_DATE)
.hidden(false)
.isPayer(Boolean.FALSE)
+ .isDebtor(Boolean.TRUE)
.build();
}
diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties
index 8b8b07d4..68061748 100644
--- a/src/test/resources/application.properties
+++ b/src/test/resources/application.properties
@@ -38,8 +38,11 @@ logging.level.it.gov.pagopa=${APP_LOGGING_LEVEL:INFO}
transaction.payee.cartName=${PAYEE_CART_NAME:Pagamento Multiplo}
# PDF Receipt Service
-pdf.receipt.subscription-key=subkey
-service.pdf.receipt.host=http://localhost:8080
+pdf.get.receipt.subscription-key=subkey
+pdf.generate.receipt.subscription-key=subkey
+service.get.pdf.receipt.host=http://localhost:8080/receipts/service/v1
+service.generate.pdf.receipt.host=http://localhost:8080/receipts/helpdesk/v1
+service.generate.pdf.receipt.path=/receipts/{event-id}/regenerate-receipt-pdf
# Openapi
springdoc.use-fqn=false