Inserimento Preferenza Orario Ritiro Merce

POST [baseUrl]/api/sync/v1/repair/collection-preference/{FIDBOP}/{SubOrderRowCode}?debug=true

Descrizione

API per l'inserimento di una preferenza per l'orario di ritiro della merce per una riparazione specifica. Questa API permette di specificare la data e il range orario preferito per il ritiro della merce.

Parametri URL

Parametro Tipo Obbligatorio Descrizione
FIDBOP int ID della riparazione nel sistema XOX
SubOrderRowCode string Chiave esterna della riparazione

Headers Richiesti

Header Tipo Obbligatorio Descrizione
AccessToken string Token di autenticazione

Struttura Richiesta

Il corpo della richiesta deve essere un oggetto JSON con i seguenti campi:

Campo Tipo Obbligatorio Descrizione Note
CollectionDate string Data di ritiro preferita (formato YYYY-MM-DD)
FIDCollectionHourRange int ID del range orario per il ritiro Riferimento alla tabella dei range orari (vedi API /api/v1/sync/gc/hourrange)
FIDCollectionClientDestination int ID della destinazione cliente 🆕
FIDCollectionContact int ID del recapito scelto 🆕

Esempio Richiesta

sh
curl --location 'https://localhost:45414/api/sync/v1/repair/collection-preference/9817691/072514778' \
--header 'AccessToken: ab6df5b1aade462f860e4bc152952752' \
--header 'Content-Type: application/json' \
--data '{
    "CollectionDate": "2025-10-03",
    "FIDCollectionHourRange": 1,
    "FIDCollectionClientDestination": 123,
    "FIDCollectionContact": 456
}'

Struttura Risposta

La risposta segue il formato standard delle API XOX:

Campo Tipo Descrizione
statusCode int Codice di stato HTTP
errorCode string Codice di errore (null se successo)
message string Messaggio descrittivo (null se successo)
result object Oggetto contenente i dati della risposta
debug object Informazioni di debug (se debug=true)

Struttura Result

Campo Tipo Descrizione
totalCount int Numero totale di record (sempre 0 per questa API)
totalPages int Numero totale di pagine (sempre 0 per questa API)
page int Pagina corrente (sempre 0 per questa API)
count int Numero di record nella risposta (sempre 0 per questa API)
records array Array di record (sempre null per questa API)
record object Oggetto contenente il risultato dell'operazione

Struttura Record

Campo Tipo Descrizione
CollectionPreferenceSaved bool Indica se la preferenza è stata salvata con successo

Struttura Debug

Campo Tipo Descrizione
requestTime string Timestamp della richiesta
responseTime string Timestamp della risposta
duration string Durata dell'operazione
clientIP string Indirizzo IP del client

Esempio Risposta

JSON
{
    "statusCode": 200,
    "errorCode": null,
    "message": null,
    "result": {
        "totalCount": 0,
        "totalPages": 0,
        "page": 0,
        "count": 0,
        "records": null,
        "record": {
            "CollectionPreferenceSaved": true
        }
    }
}

Codici di Stato

Codice Descrizione
200 Operazione completata con successo
400 Richiesta non valida
401 Token di autenticazione non valido o mancante
404 Riparazione non trovata
500 Errore interno del server

Gestione Errori

In caso di errore, la risposta conterrà:

JSON
{
    "statusCode": 400,
    "errorCode": "ER.COLLECTION.INVALID_DATE",
    "message": "Data di ritiro non valida",
    "result": {
        "totalCount": 0,
        "totalPages": 0,
        "page": 0,
        "count": 0,
        "records": null,
        "record": {
            "CollectionPreferenceSaved": false
        }
    },
    "debug": {
        "requestTime": "2025-10-02 17:28:55",
        "responseTime": "2025-10-02 17:29:04",
        "duration": "00:00:08.9599625",
        "clientIP": "::1"
    }
}

Note

  • La data di ritiro deve essere futura rispetto alla data corrente
  • Il range orario deve essere valido e presente nella configurazione del sistema
  • È possibile aggiornare una preferenza esistente chiamando nuovamente l'API con gli stessi parametri
  • Per ottenere l'elenco dei range orari disponibili, utilizzare l'API /api/v1/sync/gc/hourrange