Tutte le operazioni indicate sono segregate per codice fiscale dell'ente creditore (organizationfiscalcode).
In caso di intermediazione, è possibile associare alla subscription key dell'intermediario da 1 ad n codici fiscali di enti intermediati, ciò consente agli intermediari di utilizzare una sola subscription key per l'invocazione delle API per conto di tutti gli enti intermediati. Tali abilitazioni devono essere richieste a PagoPA contestualmente alla creazione della subscription key o in momenti successivi.
Le subscription key e le relative abilitazioni sono segregate per ambiente UAT/PROD.
Gestione posizioni debitorie
Nei seguenti sequence diagram si identifica con l'acronimo GPD il servizio di Gestione Posizioni Debitorie e con APD l'Archivio delle Posizioni Debitorie (base dati).
In fase di creazione della posizione debitoria il servizio effettuerà controlli sui dati in input e controlli di eventuali duplicati.
Tra i controlli dei dati in input si rilevano:
obbligatorietà dei dati
coerenza date (ad esempio due_date ≥ validity_date)
coerenza importi (ad esempio la somma degli importi dei versamenti deve essere uguale all'importo totale)
validità della tassonomia
validità degli IBAN (devono essere censiti sulla piattaforma pagoPA)
Tra i controlli dei duplicati ci si basa sugli identificativi di pagamento (IUPD, IUV e fiscalCode)
Il query parametertoPublish consente di pubblicare automaticamente una posizione debitoria in fase di creazione, impostando questo parametro a true e valorizzando contestualmente a null il campo validityDate, la posizione debitoria andrà direttamente nello stato VALID pronta per essere pagata.
Lettura di una lista di posizioni debitorie e di una singola posizione debitoria
Return the list of the organization debt positions. The due dates interval is mutually exclusive with the payment dates interval.
get
Authorizations
Path parameters
organizationfiscalcodestringRequired
Organization fiscal code, the fiscal code of the Organization.
Query parameters
limitinteger · int32 · max: 100Optional
Number of elements on one page. Default = 50
Default: 50
pageinteger · int32Required
Page number. Page value starts from 0
due_date_fromstring · dateOptional
Filter from due_date (if provided use the format yyyy-MM-dd). If not provided will be set to 30 days before the due_date_to.
due_date_tostring · dateOptional
Filter to due_date (if provided use the format yyyy-MM-dd). If not provided will be set to 30 days after the due_date_from.
payment_date_fromstring · dateOptional
Filter from payment_date (if provided use the format yyyy-MM-dd). If not provided will be set to 30 days before the payment_date_to.
payment_date_tostring · dateOptional
Filter to payment_date (if provided use the format yyyy-MM-dd). If not provided will be set to 30 days after the payment_date_from
statusstring · enumOptional
Filter by debt position status
Possible values:
orderbystring · enumOptional
Order by INSERTED_DATE, COMPANY_NAME, IUPD or STATUS
Default: INSERTED_DATEPossible values:
orderingstring · enumOptional
Direction of ordering
Default: DESCPossible values:
Header parameters
X-Request-IdstringOptional
This header identifies the call, if not passed it is self-generated. This ID is returned in the response.
Responses
200
Obtained all organization payment positions.
application/json
400
Malformed request.
application/json
401
Wrong or missing function key.
429
Too many requests.
500
Service unavailable.
application/json
get
GET /gpd/debt-positions-service/v1//organizations/{organizationfiscalcode}/debtpositions HTTP/1.1
Host: api.uat.platform.pagopa.it
Ocp-Apim-Subscription-Key: YOUR_API_KEY
Accept: */*
La lettura di una lista di posizioni debitorie prevede sempre una paginazione. E' inoltre possibile filtrare per due_date in modo da limitare i risultati.
Return the details of a specific debt position.
get
Authorizations
Path parameters
organizationfiscalcodestringRequired
Organization fiscal code, the fiscal code of the Organization.
iupdstringRequired
IUPD (Unique identifier of the debt position). Format could be <Organization fiscal code + UUID> this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is true and if not, notify the EC.
Header parameters
X-Request-IdstringOptional
This header identifies the call, if not passed it is self-generated. This ID is returned in the response.
Responses
200
Obtained debt position details.
application/json
401
Wrong or missing function key.
404
No debt position found.
application/json
500
Service unavailable.
application/json
get
GET /gpd/debt-positions-service/v1//organizations/{organizationfiscalcode}/debtpositions/{iupd} HTTP/1.1
Host: api.uat.platform.pagopa.it
Ocp-Apim-Subscription-Key: YOUR_API_KEY
Accept: */*
La lettura di una posizione debitoria si basa sull'identificativo in input (IUPD). In caso lo IUPD non sia esistente verrà emesso un errore.
Aggiornamento di una posizione debitoria
The Organization updates a debt position
put
Authorizations
Path parameters
organizationfiscalcodestringRequired
Organization fiscal code, the fiscal code of the Organization.
iupdstringRequired
IUPD (Unique identifier of the debt position). Format could be <Organization fiscal code + UUID> this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is true and if not, notify the EC.
Query parameters
toPublishbooleanOptionalDefault: false
Header parameters
X-Request-IdstringOptional
This header identifies the call, if not passed it is self-generated. This ID is returned in the response.
Body
iupdstringRequired
acabooleanOptionalDefault: false
typestring · enumRequiredPossible values:
payStandInbooleanOptional
feature flag to enable a debt position in stand-in mode
Default: trueExample: true
fiscalCodestringRequired
fullNamestringRequired
streetNamestringOptional
civicNumberstringOptional
postalCodestringOptional
citystringOptional
provincestringOptional
regionstringOptional
countrystringOptionalPattern: [A-Z]{2}
emailstringOptional
phonestringOptional
switchToExpiredbooleanRequired
feature flag to enable the debt position to expire after the due date
In fase di aggiornamento, oltre ai già citati controlli in fase di creazione , si verifica che la posizione sia esistente ed aggiornabile.
In particolare l'aggiornabilità della posizione debitoria dipende dallo stato della posizione stessa (ad esempio se una posizione è già stata pagata non sarà possibile aggiornarla)
E' importante porre particolare attenzione al campo notificationFee che contiene le spese di notifica della posizione debitoria. Questo campo viene gestito in modo esclusivo da Piattaforma Notifiche e l'eventuale importo viene aggiunto automaticamente dal sistema GPD all'importo delle posizioni debitorie.
L'EC pertanto in fase di aggiornamento dell'importo amount di uno dei transfer presenti all'interno di una paymentOption, non dovrà tenere conto del valore presente all'interno del campo notificationFee.
Cancellazione di una Posizione Debitoria
The Organization deletes a debt position
delete
Authorizations
Path parameters
organizationfiscalcodestringRequired
Organization fiscal code, the fiscal code of the Organization.
iupdstringRequired
IUPD (Unique identifier of the debt position). Format could be <Organization fiscal code + UUID> this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is true and if not, notify the EC.
Header parameters
X-Request-IdstringOptional
This header identifies the call, if not passed it is self-generated. This ID is returned in the response.
La cancellazione di una posizione debitoria prevede controlli sia sull'esistenza (IUPD) che sullo stato (ad esempio, una posizione debitoria non sarà cancellabile se è già stata pagata)
Pubblicazione di una posizione debitoria
The Organization publish a debt Position.
post
Authorizations
Path parameters
organizationfiscalcodestringRequired
Organization fiscal code, the fiscal code of the Organization.
iupdstringRequired
IUPD (Unique identifier of the debt position). Format could be <Organization fiscal code + UUID> this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is true and if not, notify the EC.
Responses
200
Request published.
application/json
401
Wrong or missing function key.
404
No debt position found.
application/json
409
Conflict: debt position is not in publishable state.
application/json
500
Service unavailable.
application/json
post
POST /organizations/{organizationfiscalcode}/debtpositions/{iupd}/publish HTTP/1.1
Host: api.uat.platform.pagopa.it
Ocp-Apim-Subscription-Key: YOUR_API_KEY
Accept: */*
La pubblicazione della posizione debitoria permette il passaggio dallo stato DRAFT allo stato PUBLISHED.
Una posizione in stato DRAFT (bozza) infatti non permette la normale operatività con la piattaforma pagoPA. Solo quando l'Ente Creditore pubblica la posizione, in coerenza con le date di validità e di scadenza, questa risulta pagabile sulla piattaforma.
Invalidazione di una posizione debitoria
The Organization invalidate a debt Position.
post
Authorizations
Path parameters
organizationfiscalcodestringRequired
Organization fiscal code, the fiscal code of the Organization.
iupdstringRequired
IUPD (Unique identifier of the debt position). Format could be <Organization fiscal code + UUID> this would make it unique within the new PD management system. It's the responsibility of the EC to guarantee uniqueness. The pagoPa system shall verify that this is true and if not, notify the EC.
Responses
200
Request published.
application/json
401
Wrong or missing function key.
404
No debt position found.
application/json
409
Conflict: debt position is not in invalidable state.
application/json
500
Service unavailable.
application/json
post
POST /organizations/{organizationfiscalcode}/debtpositions/{iupd}/invalidate HTTP/1.1
Host: api.uat.platform.pagopa.it
Ocp-Apim-Subscription-Key: YOUR_API_KEY
Accept: */*
Organization fiscal code, the fiscal code of the Organization.
Example: 12345
iuvstringRequired
IUV (Unique Payment Identification). Alphanumeric code that uniquely associates and identifies three key elements of a payment: reason, payer, amount
Example: ABC123
Query parameters
segregationCodesstringOptional
Segregation codes for which broker is authorized
Pattern: \d{2}(,\d{2})*
Header parameters
X-Request-IdstringOptional
This header identifies the call, if not passed it is self-generated. This ID is returned in the response.
Responses
200
Obtained receipt details.
application/xml
Responsestring
401
Wrong or missing function key.
404
No receipt found.
422
Unable to process the request.
500
Service unavailable.
application/json
get
GET /gpd/debt-positions-service/v1/payments/{organizationfiscalcode}/receipts/{iuv} HTTP/1.1
Host: api.uat.platform.pagopa.it
Ocp-Apim-Subscription-Key: YOUR_API_KEY
Accept: */*
<?xml version="1.0"?>
<object>text</object>
Flussi di rendicontazione
Sono messe a disposizione delle funzionalità di lettura dei flussi di rendicontazione:
Lista di flussi di rendicontazione per un Ente Creditore
Dettaglio del flusso di rendicontazione
L'abilitazione al servizio per la gestione dei flussi di rendicontazione su GPD non è automatico e va richiesto esplicitamente al momento dell'on-boarding dell'EC