Passa al contenuto principale

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

ParametroTipoObbligatorioDescrizione
FIDBOPintID della riparazione nel sistema XOX
SubOrderRowCodestringChiave esterna della riparazione

Headers Richiesti

HeaderTipoObbligatorioDescrizione
AccessTokenstringToken di autenticazione

Struttura Richiesta

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

CampoTipoObbligatorioDescrizioneNote
CollectionDatestringData di ritiro preferita (formato YYYY-MM-DD)
FIDCollectionHourRangeintID del range orario per il ritiroRiferimento alla tabella dei range orari (vedi API /api/v1/sync/gc/hourrange)

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
}'

Struttura Risposta

La risposta segue il formato standard delle API XOX:

CampoTipoDescrizione
statusCodeintCodice di stato HTTP
errorCodestringCodice di errore (null se successo)
messagestringMessaggio descrittivo (null se successo)
resultobjectOggetto contenente i dati della risposta
debugobjectInformazioni di debug (se debug=true)

Struttura Result

CampoTipoDescrizione
totalCountintNumero totale di record (sempre 0 per questa API)
totalPagesintNumero totale di pagine (sempre 0 per questa API)
pageintPagina corrente (sempre 0 per questa API)
countintNumero di record nella risposta (sempre 0 per questa API)
recordsarrayArray di record (sempre null per questa API)
recordobjectOggetto contenente il risultato dell'operazione

Struttura Record

CampoTipoDescrizione
CollectionPreferenceSavedboolIndica se la preferenza è stata salvata con successo

Struttura Debug

CampoTipoDescrizione
requestTimestringTimestamp della richiesta
responseTimestringTimestamp della risposta
durationstringDurata dell'operazione
clientIPstringIndirizzo 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

CodiceDescrizione
200Operazione completata con successo
400Richiesta non valida
401Token di autenticazione non valido o mancante
404Riparazione non trovata
500Errore 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