Aggiornamento di record con OData
Per aggiornare un record esistente tramite OData è necessario usare la richiesta PUT. In modo simile all'uso della richiesta POST, è necessario specificare il record nel corpo della richiesta come documento JSON. Tuttavia, in questo caso, è necessario specificare la chiave primaria del record anche nell'URL.
Business Central deve inoltre assicurarsi che si stia aggiornando la versione più recente di un record e a questo scopo usa un token di concorrenza. È necessario inviare questo token come intestazione HTTP nella richiesta. Business Central potrà quindi verificare nel database che si stia aggiornando la versione più recente di un record e che nessun altro utente lo abbia aggiornato nel frattempo. Per recuperare questo token è innanzitutto necessario richiedere i dettagli di un record specifico prima di poter aggiornare i valori. Quando si esegue una richiesta GET per recuperare dati, si riceve un documento JSON con una chiave @odata.etag nel documento. Il valore di questa chiave è il token di concorrenza che è necessario copiare e usare nella richiesta PUT.

È necessario inviare il valore della chiave etag come intestazione HTTP If-Match. È possibile selezionare le intestazioni e aggiungere un'intestazione If-Match con il valore dell'etag, come illustra l'esempio riportato di seguito.
@odata.etag è un valore stringa in un documento JSON. Un valore stringa in un documento JSON inizia e finisce sempre con un carattere " (virgolette doppie). Poiché il valore stesso @odata.etag contiene le virgolette nel valore stringa, le virgolette in @odata.etag sono caratteri di escape. Quando si usa il valore dell'etag nell'intestazione If-Match, è necessario rimuovere i caratteri di escape.
Ciò significa che un valore di:
W/\"JzQ0O3ZSUjBKTVdWenZvZ3IyTGlFSStWbllUVUNkdUZVQmxSV3p1dk1xMFo4REU9MTswDsn\"
Diventa:
W/"JzQ0O3ZSUjBKTVdWenZvZ3IyTGlFSStWbllUVUNkdUZVQmxSV3p1dk1xMFo4REU9MTswDsn"
Si noti anche che l'URL ha come destinazione un record specifico, ovvero il record Clienti con chiave primaria 10000.
