Quando l'operatore assegna un case a un ufficio, bisogna assegnare la pratica all'ufficio corrispondente
Quando si riceve la notifica di modifica di un case sul CzRM è necessario fare quanto segue:
Struttura notifica in arrivo:
{
"X-Forwarded-For": "85.222.158.8",
"entity": "Case",
"event_created_at": "2023-05-04T10:04:15.673617841Z",
"event_id": "8573e9d6-dfa4-4489-9be2-ec63a981025d",
"event_version": 1,
"id": "5005E00000H0LCHQA3",
"segnalaCiId": null,
"updated_at": "2023-05-02T14:47:02.000Z"
}
- Eseguo sul CzRM un
GET /Case/{id}
e prendo il valore del campoDirezione_Ufficio__c
,Stato_Front_End__c
eSegnalaciId__c
- Eseguo su SegnalaCi una
GET /applications/byexternal-id/{externalId}
doveexternalId
è il campoid
della notifica ricevuta, se viene ritornato un 404 significa che è una nuova segnalazione e bisogna quindi crearla ex novo prima di procedere con gli step successivi (issue #29) - Se
Stato_Front_End__c
sul case ha valore diverso daChiuso
eDirezione_Ufficio__c
sul case non ènull
procedo con gli step successivi, altrimenti significa che la segnalazione è stata chiusa o che la segnalazione non è stata ancora assegnata sul CzRM ad un ufficio e quindi non è necessario assegnarla e/o operare un cambio di stato lato nostro - Eseguo su segnalaci una
GET /user-groups
- Prendo il campo
id
dell'ufficio che ha come valore del camponame
il valore del campoDirezione_Ufficio__c
- se non si trova l'ufficio allora si esegue una
POST /user-groups
con il seguente body. Questa call mi ritornerà l'id_ufficio da usare al punto 6
{
"name": "<Direzione_Ufficio__c>",
}
- Eseguo una
POST /applications/{SegnalaciId__c}/transition/assign
con payload(questa serve a fare il cambio di stato)
{
"user_group_id": {id_ufficio},
"message": "string", # opzionale
"assigned_at": "2023-04-24T12:40:24.779Z" # opzionale
}
┆Issue is synchronized with this Wrike task
Edited by Mouslim Fatnassi