LogoLogo
v2.4
v2.4
  • 🏠Guida tecnica
  • 🕗Changelog
  • 🔢Setup iniziale
    • Adesione tramite l'Area Riservata
    • Iscrizione al Developer Portal
  • Funzionalità
    • 📦Pubblicare un servizio
      • Creare un servizio
      • Provare un servizio in test
      • Dati obbligatori
        • Attributi
        • Service Metadata
      • Importare servizi nell'Area Riservata
    • ✉️Inviare un messaggio
      • Messaggi di test
      • 📎Aggiungere allegati (Premium)
        • Specifiche degli endpoint di recupero degli allegati
  • 📐API
    • OpenAPI
    • API Messaggi
      • Get a User Profile using POST
      • Submit a Message passing the user fiscal_code in the request body
      • Get Message
      • Get Subscriptions Feed
      • ⚠️Get a User Profile
      • ⚠️Submit a Message passing the user fiscal_code as path parameter
    • API Servizi
      • Get User Services
      • Get Service
      • Update Service
      • Regenerate Service Key
      • Upload service logo
      • Upload organization logo
      • Create Service
    • Errori comuni
    • Specifiche API
  • 🔑Abilitazioni
    • Test con Codici Fiscali reali
    • Test invio avvisi pagoPA
    • Invio messaggi massivo
    • Subscription feed
    • Gestione dei servizi
    • Funzionalità Premium
  • Risorse Utili
    • ❓Supporto agli Enti
    • 📘Glossario
Powered by GitBook
On this page
  1. Funzionalità
  2. Inviare un messaggio
  3. Aggiungere allegati (Premium)

Specifiche degli endpoint di recupero degli allegati

PreviousAggiungere allegati (Premium)NextOpenAPI

Last updated 2 years ago

Per permettere a IO di recuperare il contenuto di un messaggio e dei suoi allegati, devi mettere a disposizione un REST web service conforme alla .

Il servizio deve esporre due endpoint, che il backend di IO richiamerà quando necessario.

Una volta pronti, comunica al team di IO gli endpoint (baseUrl) e la relativa API Key.

Per comunicare col team di IO puoi usare l'indirizzo email

Endpoint di recupero dell'elenco dei metadati degli allegati

Esempio di risposta attesa

{
  "attachments": [
    {
      "id": "123456789",
      "content_type": "application/pdf",
      "name": "Allegato 1.pdf",
      "url": "<percorso relativo dell'allegato>"
    },
    {
      "id": "4815162342",
      "content_type": "application/pdf",
      "name": "Allegato 2.pdf",
      "url": "<percorso relativo dell'allegato 2>"
    }
  ]
}

Il campo content_type deve contenere il valore "application/pdf" in quanto IO accetta unicamente allegati in formato PDF conformi allo standard PDF/A.

Il campo url deve contenere il percorso relativo per il download dell’allegato. Questo perché IO scarica gli allegati tramite una richiesta GET all'indirizzo {baseUrl}/messages/{id}/{url}, dove:

  • baseUrl è l'endpoint che hai comunicato al team di IO in fase di onboarding

  • id è l'identificativo che avevi specificato nel blocco in fase di invio del messaggio

La composizione delle varie parti costituisce la URL completa di download del singolo allegato nell'ambito del servizio REST che esponi, come illustrato nel capitolo seguente.

Il campo name deve contenere il nome dell'allegato così come comparirà nel messaggio, all'interno della sezione "Allegati": sceglilo con cura in modo da comunicare correttamente con il tuo destinatario.

Aggiungi sempre l'estensione .pdf nei campi name per consentire al sistema operativo di destinazione una corretta gestione del file eventualmente scaricato sul dispositivo.

Endpoint di recupero dei byte del singolo allegato

Autorizzazioni

API Key

IO garantisce che il codice fiscale nella request corrisponda a quello dell'utente che sta provando a recuperare gli allegati. Il codice fiscale viene inviato attraverso l'header fiscal_code.

L'ente deve verificare che il Codice Fiscale dell’utente sia autorizzato ad accedere al dato richiesto.

In futuro, verranno aggiunti ulteriori metodi di autenticazione (Bearer Token, OAuth Token etc.)

L'identificativo {id} che riceverai in questa chiamata corrisponderà a quello che avevi specificato nel blocco in fase di invio del messaggio.

✉️
📎
relativa OpenAPI
onboarding@io.italia.it

Retrieve a Third Party message

get

Returns the Third Party message with the provided message ID. User's fiscal code is required as header parameter.

Path parameters
idstring · min: 1Required

ID of the Third Party message.

Header parameters
fiscal_codestring · min: 16 · max: 16Required

The fiscal code of the user, all upper case.

Pattern: [A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST][0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{3}[A-Z]
x-pagopa-lollipop-original-methodstring · enumOptional

The method of the endpoint called by IO app

Possible values:
x-pagopa-lollipop-original-urlstringOptional

The url of the endpoint called by IO app

Pattern: ^https://
signature-inputstringOptional

The signature input, needed to verify the signature header

Pattern: ^(?:sig\d+=[^,]*)(?:,\s*(?:sig\d+=[^,]*))*$
signaturestringOptional

The signature of the HTTP request, signed by the client with its private key.

Pattern: ^((sig[0-9]+)=:[A-Za-z0-9+/=]*:(, ?)?)+$
x-pagopa-lollipop-assertion-refone ofOptional
stringOptionalPattern: ^(sha256-[A-Za-z0-9-_=]{1,44})$
or
stringOptionalPattern: ^(sha384-[A-Za-z0-9-_=]{1,66})$
or
stringOptionalPattern: ^(sha512-[A-Za-z0-9-_=]{1,88})$
x-pagopa-lollipop-assertion-typestring · enumOptionalPossible values:
x-pagopa-lollipop-auth-jwtstring · min: 1Optional
x-pagopa-lollipop-public-keystring · min: 1Optional

represents a Base64url encode of a JWK Public Key

x-pagopa-lollipop-user-idstring · min: 16 · max: 16Optional

The user's fiscal code, all upper case.

Pattern: ^[A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST][0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{3}[A-Z]$
Responses
200
Found
400
Bad Request
application/json
401
Unauthorized
403
Forbidden
404
No message found for the provided ID.
application/json
429
Too Many Requests
500
Internal Server Error
application/json
get
GET /{id} HTTP/1.1
Host: messages
fiscal_code: text
Accept: */*
{
  "attachments": [
    {
      "id": "text",
      "content_type": "text",
      "name": "text",
      "url": "text",
      "category": "text"
    }
  ],
  "details": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

Retrieve an attachment of a Third Party message

get

Returns the Third Party message with the provided message ID. User's fiscal code is required as header parameter.

Path parameters
idstring · min: 1Required

ID of the Third Party message.

attachment_urlstring · min: 1Required
Header parameters
fiscal_codestring · min: 16 · max: 16Required

The fiscal code of the user, all upper case.

Pattern: [A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST][0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{3}[A-Z]
x-pagopa-lollipop-original-methodstring · enumOptional

The method of the endpoint called by IO app

Possible values:
x-pagopa-lollipop-original-urlstringOptional

The url of the endpoint called by IO app

Pattern: ^https://
signature-inputstringOptional

The signature input, needed to verify the signature header

Pattern: ^(?:sig\d+=[^,]*)(?:,\s*(?:sig\d+=[^,]*))*$
signaturestringOptional

The signature of the HTTP request, signed by the client with its private key.

Pattern: ^((sig[0-9]+)=:[A-Za-z0-9+/=]*:(, ?)?)+$
x-pagopa-lollipop-assertion-refone ofOptional
stringOptionalPattern: ^(sha256-[A-Za-z0-9-_=]{1,44})$
or
stringOptionalPattern: ^(sha384-[A-Za-z0-9-_=]{1,66})$
or
stringOptionalPattern: ^(sha512-[A-Za-z0-9-_=]{1,88})$
x-pagopa-lollipop-assertion-typestring · enumOptionalPossible values:
x-pagopa-lollipop-auth-jwtstring · min: 1Optional
x-pagopa-lollipop-public-keystring · min: 1Optional

represents a Base64url encode of a JWK Public Key

x-pagopa-lollipop-user-idstring · min: 16 · max: 16Optional

The user's fiscal code, all upper case.

Pattern: ^[A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST][0-9LMNPQRSTUV]{2}[A-Z][0-9LMNPQRSTUV]{3}[A-Z]$
Responses
200
Success
application/octet-stream
Responsestring · binary
400
Bad Request
application/json
401
Unauthorized
403
Forbidden
404
No message found for the provided ID or no attachment found at the provided url.
application/json
429
Too Many Requests
500
Internal Server Error
application/json
503
Service Unavailable, check the Retry-After header to retry
application/json
get
GET /{id}/{attachment_url} HTTP/1.1
Host: messages
fiscal_code: text
Accept: */*
binary
  • Endpoint di recupero dell'elenco dei metadati degli allegati
  • GETRetrieve a Third Party message
  • Esempio di risposta attesa
  • Endpoint di recupero dei byte del singolo allegato
  • GETRetrieve an attachment of a Third Party message
  • Autorizzazioni
  • API Key
Lo schema che riassume la sequenza delle operazioni coinvolte nel recupero dei dati da parte di IO.
Lo schema che riassume la sequenza delle operazioni coinvolte nel recupero dei byte del singolo allegato.
schema che riassume la sequenza delle operazioni coinvolte nel recupero dei dati da parte di IO.
chema che riassume la sequenza delle operazioni coinvolte nel recupero dei byte del singolo allegato.
third_party_data