Configurazione Servizi IO

Ciao a tutti,
scrivo qui nella speranza di ricevere qualche dritta…

Mi sono iscritto al portale sviluppatori (developer.io.italia.it), creato e attivato un account, e ho pubblicato un paio di servizi in “bozza”…

Queste sono le autorizzazioni concesse al mio utente:

Autorizzazioni: apiinforead,apilimitedmessagewrite,apilimitedprofileread,apimessageread,developers
Limitato: si

Tra i codici fiscali ammessi compare: il mio codice fiscale e il codice fiscale fittizio: AAAAAA00A00A000A

Dopo aver contattato il team di sviluppo, è stata abilitato l’invio di messaggi al mio codice fiscale (compreso l’invio di avvisi PagoPA allegati al messaggio).

Quindi tutto ok!
I servizi da me pubblicati sono in bozza, ed essendo stati pensati per lo sviluppo di alcune integrazioni va bene cosi’.

Il problema lo riscontriamo con alcuni servizi che son stati attivati da un mio collega, responsabile della comunicazione attraverso IO, dove ha completato l’accreditamento alla piattaforma e ha reso “ATTIVO” il servizio (risulta a tutti gli effetti visibile nell’elenco dell’app).
Con questi servizi, a parità di codice ma modificando solo le chiavi, non funziona… e otteniamo un errore 403.

L’ordine dei problemi potrebbe essere di due tipi: non viene riconosciuto valido l’IP da dove parte la richiesta ma anche c’e’ qualche problema sui codici fiscali ammessi all’invio…
Anche dall’interfaccia “sviluppatore” risulta infatti impossibile inviare un messaggio…

Qualche idea?
Grazie

Ciao Francesco,

l’errore 403 mi fa pensare ad un invio da sorgente non autorizzato.

Potresti provare a controllare le sorgente IP da cui i messaggi vengono inviati e aggiornare nel portale di back office il campo : Lista IP di origine autorizzati*

Saluti

1 Mi Piace

La response di IO ha nel payload il tag “title” che spiega il problema.

Io di solito vedo:

  • status 403 per “you are not allowed here” (IP non autorizzato)
  • status 404 per “profile not found” o “messagge not found”
  • status 400 per codice fiscale formalmente errato.
1 Mi Piace

Credo anche io che 403 corrisponda o a un IP non autorizzato, o il tentativo di invio ad un codice fiscale non abilitato alla ricezione.

Tuttavia, come indicato, con il profilo di sviluppo non ho nessun problema. Con il profilo di “produzione” ricevo un errore 403 anche se provo ad inviare da Interfaccia web-developer di IO un messaggio al codice fiscale associato al profilo… è un po’ questo che non mi torna…

Mi verrebbe da pensare che il giro da fare sia questo

  • MARIO ROSSI (RSSMRA80A01H501U) si iscrive ad IO e sottoscrive il servizio X
  • Io gestisco un servizio X con KEY=K1, e il servizio è pubblicato
  • MARIO ROSSI accetta di ricevere comunicazioni dal servizio X
  • Da mio applicativo/integrazione chiamo https://api.io.italia.it/api/v1/profiles/RSSMRA80A01H501U , utilizzando K1 come chiave e dovrei ricevere una cosa del tipo {“preferred_languages”:[“it_IT”],“sender_allowed”:true}
  • Analizzo il json e se vedo che può ricevere messaggi e invio il messaggio…

Probabilmente viene restituito 403 a prescindere al posto di inviare un messaggio con sender_allowed=false… mi vien da pensare anche questo…

Voi siete riusciti ad inviare messaggi ad utenti che non compaiono nella “lista” dei codici fiscali abilitati?
Vedere solo il “codice fiscale di broadcast AAAAAA00A00A000A” ?

Grazie

Noi riusciamo ad inviare ad altri CF e ti condivido le autorizzazioni riportate sul portale :
apiinforead,apilimitedprofileread,apimessageread,apimessagewrite,developers
Limitato: no

Saluti

io ti confermo che ricevuto risposte con sender_allowed = false (status 200)
se puo’ esserti utile

Ciao Francesco, probabilmente l’onboarding non ha abilitato l’invio a tutti i codici fiscali per quel servizio. Prova a scrivere all’assistenza. A me è capitato che non hanno abilitato il pagamento.

Eccomi qua…
ho scritto diverse volte all’assistenza…ma non ricevo la minima risposta…mi da l’idea che questo progetto sia veramente seguito a tempo perso dal servizio assistenza di Agid.
Di fatto siamo ancora bloccati.

Salve, noi riscontriamo il seguente problema:

se tentiamo di inviare da API un messaggio “standard”, cioè senza notifica di alcun dovuto pagoPA, tutto funziona. Il messaggio viene recapitato a qualunque CF.

Se invece tentiamo di inviare, sempre da API, un dovuto pagoPA, riceviamo:

“detail”: “You do not have enough permission to complete the operation you requested”,
“status”: 403,
“title”: “You are not allowed here”

Mentre se tentiamo di inviare un dovuto pagoPA a qualunque CF dal backoffice WEB di appIO, il messaggio e il dovuto vengono recapitati correttamente…

E’ capitato qualcuno? Dove sbagliamo?

A me quella risposta li’ la dà se provo a usare una di quelle API per gestire i servizi (tipo cambiare logo) per i quali non ho i permessi o se mando le richieste da un IP non autorizzato…
Forse davvero non ti hanno ancora dato i permessi per mandare avvisi di pagamento via API ma solo da back office web.
Nella lista delle sottoscrizioni da backoffice cosa vedi?

PS: curiosità, tramite quale software stai interagendo con le API di IO?

1 Mi Piace

abbiamo risolto… problema con la documentazione presente su web. Forse non aggiornata.
Infatti nella documentazione web, nella chiamata alle API c’è questa porzione di codice:

“payee”: {
“fiscal_code”: “XXXXXXXXX”
}

dove fiscal code sarebbe il codice fiscale dell’Ente beneficiario.
Mentre nella documentazione in pdf aggiornata a luglio 2021 la parte relativa al payee (beneficiario) non c’è.
omettendo quella parte nella chiamata alle API il messaggio passa senza problemi.

In pratica la chiamata corretta è questa:

{
“content”: {
“subject”: “TITOLO MESSAGGIO”,
“markdown”: “TESTO MESSAGGIO”,
“due_date”: “2021-11-29T23:00:00.000Z”,
“payment_data”: {
“amount”: 10,
“notice_number”: “CODICE_IUV”,
“invalid_after_due_date”: false
̶ ̶̶̶"̶̶̶p̶̶̶a̶̶̶y̶̶̶e̶̶̶e̶̶̶"̶̶̶:̶̶̶ ̶̶̶{̶̶̶
̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶"̶̶̶f̶̶̶i̶̶̶s̶̶̶c̶̶̶a̶̶̶l̶̶̶_̶̶̶c̶̶̶o̶̶̶d̶̶̶e̶̶̶"̶̶̶:̶̶̶ ̶̶̶"̶̶̶c̶f̶_̶b̶e̶n̶e̶f̶i̶c̶i̶a̶r̶i̶o̶"̶̶̶
̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶ ̶̶̶}̶̶̶
}
}
},
“fiscal_code”: “CF_DEBITORE”

}

a regime utilizzeremo il verticale pagoPA in uso nell’Ente.
Ora col mio collega stiamo sviluppando un cruscotto web che intendiamo far usare agli uffici, non tanto per notificare i dovuti pagoPA (a questo scopo c’è il verticale), ma per altri servizi di semplice notifica di messaggi ai cittadini.

Per testare la chiamata alle API usiamo postman.

https://www.postman.com/

1 Mi Piace

@perrcla se dopo ti va, potresti condividere in una discussione apposita qualche dettaglio di massima del cruscotto web che state sviluppando? Ho provato in prima persona che le API di IO, semplicissime e basiche, sono un ottimo modo per fare esercizio, acquisire consapevolezza sull’interoperabilità e sulle sue dinamiche e, perche’ no, dimestichezza con la programmazione.

1 Mi Piace

certamente… innanzitutto condivideremo tutto su github.
In realtà il “lavoro sporco” l’ho commissionato ad un mio nuovo collega. Non appena avremo qualcosa di usabile e funzionante, sarà a beneficio di tutta la PA. :slight_smile:

2 Mi Piace