https://cupmock.ccup.it/apiapplication/jsonX-API-Key: <key>YYYY-MM-DD HH:MM:SS){"ok": false, "error": "codice_errore"}.request_id è consigliato per tracciamento e idempotenza lato cliente.ids_slot è un array di interi (ID slot presenti in vista_agende_slot_disponibili).id_slot, potete usare slots con codice_agenda + datetime_start_slot.vista_agende_slot_disponibili./v1/bookings/blocca./v1/bookings/insert./v1/bookings/libera.| Codice | Significato |
|---|---|
missing_params | Parametri richiesti mancanti. |
missing_ids | Array ids_slot mancante. |
invalid_ids | Array ids_slot non valido o vuoto. |
not_found | Record non trovato. |
booking_exists | Codice prenotazione già presente. |
missing_request_id | request_id mancante. |
table_missing | Tabella sorgente non presente nel DB. |
unauthorized | API key non valida. |
Recupera i dati utente e la prestazione associata ad una NRE (ricetta elettronica).
Nota: questa informazione non proviene da viste DB.
Il cliente interroga il servizio SSN e risponde via REST. Nel mock i dati arrivano dalla tabella
ricette_elettroniche (pagina Admin).
{
"codice_fiscale": "RSSMRA80A01H501Z",
"codice_ricetta": "1900A1234567890"
}
{
"ok": true,
"codice_ricetta_15_cifre": "1900A1234567890",
"codice_fiscale": "RSSMRA80A01H501Z",
"nome": "Mario",
"cognome": "Rossi",
"tel1": "3357378145",
"tel2": "",
"tel3": "",
"prestazioni": [
{
"codice_prestazione": "88.93.B",
"data_emissione": "2026-03-05 00:00:00",
"gg_validita": 30
}
]
}
missing_params, not_found, table_missing, unauthorizedcurl -X POST https://cupmock.ccup.it/api/v1/ricette_elettroniche \
-H "Content-Type: application/json" \
-H "X-API-Key: <key>" \
-d '{"codice_fiscale":"RSSMRA80A01H501Z","codice_ricetta":"1900A1234567890"}'
Riserva uno o più slot (es. pre‑prenotazione). Gli slot diventano temporaneamente non disponibili.
{
"request_id": "uuid",
"ids_slot": [1001, 1002]
}
id_slot:{
"request_id": "uuid",
"slots": [
{"codice_agenda": "AGENDA_01", "datetime_start_slot": "2026-03-07 09:00:00"}
]
}
missing_ids, invalid_ids, unauthorizedcurl -X POST https://cupmock.ccup.it/api/v1/bookings/blocca \
-H "Content-Type: application/json" \
-H "X-API-Key: <key>" \
-d '{"request_id":"uuid","ids_slot":[1001,1002]}'
Rilascia slot precedentemente bloccati.
{
"request_id": "uuid",
"ids_slot": [1001, 1002]
}
id_slot:{
"request_id": "uuid",
"slots": [
{"codice_agenda": "AGENDA_01", "datetime_start_slot": "2026-03-07 09:00:00"}
]
}
missing_ids, invalid_ids, unauthorizedcurl -X POST https://cupmock.ccup.it/api/v1/bookings/libera \
-H "Content-Type: application/json" \
-H "X-API-Key: <key>" \
-d '{"request_id":"uuid","ids_slot":[1001,1002]}'
Crea una prenotazione, legandola ad agenda, prestazione e slot selezionati.
{
"request_id": "uuid",
"booking_code": "ABC123456",
"codice_agenda": "AGENDA_01",
"codice_prestazione": "PREST_001",
"NRE": "1900A4833547605",
"codice_fiscale": "RSSMRA80A01H501Z",
"channel": "voice",
"ids_slot": [1001]
}
id_slot:{
"request_id": "uuid",
"booking_code": "ABC123456",
"codice_agenda": "AGENDA_01",
"codice_prestazione": "PREST_001",
"NRE": "1900A4833547605",
"codice_fiscale": "RSSMRA80A01H501Z",
"channel": "voice",
"slots": [
{"codice_agenda": "AGENDA_01", "datetime_start_slot": "2026-03-07 09:00:00"}
]
}
missing_params, booking_exists, unauthorizedcurl -X POST https://cupmock.ccup.it/api/v1/bookings/insert \
-H "Content-Type: application/json" \
-H "X-API-Key: <key>" \
-d '{"request_id":"uuid","booking_code":"ABC123456","codice_agenda":"AGENDA_01","codice_prestazione":"PREST_001","NRE":"1900A4833547605","codice_fiscale":"RSSMRA80A01H501Z","channel":"voice","ids_slot":[1001]}'
Annulla una prenotazione esistente.
{
"request_id": "uuid",
"requested_at": "2026-03-07 11:00:00"
}
missing_request_id, unauthorizedcurl -X POST https://cupmock.ccup.it/api/v1/bookings/ABC123456/cancel \
-H "Content-Type: application/json" \
-H "X-API-Key: <key>" \
-d '{"request_id":"uuid","requested_at":"2026-03-07 11:00:00"}'
vista_prestazioni.codice, vista_agende.codice, vista_prenotazioni.booking_code, vista_agende_slot_disponibili.id_slot.vista_agende_prestazioni_map deve riferire codici esistenti in prestazioni/agende.vista_prestazioni, vista_agende, vista_agende_prestazioni_map.
vista_agende_slot_disponibili.
vista_prenotazioni letta dal demone notturno per schedulare comunicazioni.
vista_prenotazioni è necessaria solo se il cliente abilita la feature Recall / Motore di Scheduling.
In quel caso un nostro demone notturno legge la vista e importa le prenotazioni nel nostro DB per pianificare le comunicazioni.
Se la feature non è attiva, la vista non è richiesta.
| Campo | Tipo | Obbl. | Note |
|---|---|---|---|
codice | varchar 255 | Sì | Identificativo univoco della prestazione. |
nome | text | Sì | Descrizione/nome leggibile. |
durata | int | No | minuti, multipli di 5, default 15 |
waitlist | tinyint | No | indica se è una prestazione per la quale non è richiesta una prenotazione ma semplicemente un numero di turno di attesa quotidiana - default false |
limit_time | int | No | indicare fino a quanti minuti prima della data dell’appuntamento è consentità la disdetta, default 0. |
durata > 0, waitlist in {0,1}, limit_time >= 0.
| Campo | Tipo | Obbl. | Note |
|---|---|---|---|
codice | varchar 255 | Sì | Identificativo univoco agenda (codice_agenda). |
nome | varchar 255 | Sì | Nome o descrizione agenda. |
luogo | text | Sì | Indirizzo/luogo erogazione. |
codice univoco, luogo valorizzato.| Campo | Tipo | Obbl. | Note |
|---|---|---|---|
codice_agenda | varchar 255 | Sì | Deve esistere in vista_agende. |
codice_prestazione | varchar 255 | Sì | Deve esistere in vista_prestazioni. |
| Campo | Tipo | Obbl. | Note |
|---|---|---|---|
id_slot | int | No | Se gestito dal sw del cliente, rappresenta l'identificativo univoco slot (usato in ids_slot). |
datetime_start_slot | datetime | Sì | Inizio slot (Europe/Rome). Minuti da 0 per multipli di 5 |
codice_agenda | varchar 255 | Sì | Riferimento agenda. |
datetime_start_slot su multipli di 5 minuti.
Se non gestite id_slot, la chiave logica è codice_agenda + datetime_start_slot.
| Campo | Tipo | Obbl. | Note |
|---|---|---|---|
booking_code | varchar | Sì | Codice univoco prenotazione. |
codice_agenda | varchar | Sì | Agenda associata. |
codice_prestazione | varchar | Sì | Prestazione associata. |
datetime_start | datetime | Sì | Data/ora inizio prenotazione. |
status | varchar | Sì | Valori attesi: active | confirmed | cancelled | pending. |
cancelled_at | datetime | No | Valorizzato solo se status=cancelled. |
confirmed_at | datetime | No | Valorizzato solo se status=confirmed. |
nome | varchar | No | Consigliato se disponibile. |
cognome | varchar | No | Consigliato se disponibile. |
telefono | varchar | No | Consigliato se disponibile. |
email | varchar | No | Opzionale. |
codice_fiscale | varchar | Sì | Identificativo utente. |
created_at | datetime | Sì | Timestamp creazione prenotazione. |
status=cancelled allora cancelled_at valorizzato; se status=confirmed allora confirmed_at valorizzato.