Modifica i file
Applica operazioni put, delete e move come UNICA voce nella cronologia. Ogni operazione può includere expected_hash, ottenuto dalla lettura; se un file è stato modificato nel frattempo, viene restituito un 409 con la revisione corrente e non viene scritto nulla. Per testi, voci e dettagli aziendali, preferisci gli endpoint dei contenuti: convalidano i dati rispetto al modello di contenuto del sito e non possono comprometterne il layout.
POST/v1/sites/{site_id}/commits
Richiede sites:write. Non costa crediti. Modifica solo la bozza. I visitatori non vedranno nulla finché non pubblicherai.
Usa questo endpoint per modificare il codice, ad esempio un layout, un componente o il modello dei contenuti. Per i testi, le voci e i dettagli aziendali, usa gli endpoint dei contenuti: convalidano i dati rispetto al modello dei contenuti e non possono compromettere il layout.
Evita di sovrascrivere le modifiche altrui
Inserisci in expected_hash l’hash che hai letto per ogni operazione. Se uno dei file è stato modificato nel frattempo, l’intera modifica viene rifiutata con 409 conflict e non viene scritto nulla. L’errore include la revisione corrente in details:
{
"error": {
"code": "conflict",
"details": {
"reason": "revision_conflict",
"current_revision": "9f2c...",
"paths": [
{ "path": "src/pages/index.astro", "expected": "a1b2...", "found": "c3d4..." }
]
}
},
"request_id": "req_01K9X7"
}Rileggi i file elencati in paths (per ognuno trovi l’hash previsto e quello rilevato), applica le modifiche e riprova. base_revision indica la revisione che hai letto: la modifica viene comunque applicata se i file interessati non sono cambiati.
Mantieni il sito su Astro statico: niente adattatore server né rendering lato server.
Autorizzazioni
Authorizationbearerin headerrequiredParametri di percorso
site_idstringrequiredL'ID del sito o il suo slug (l'indirizzo prima di .atelier201.page).
Corpo
application/jsonrequiredsummarystringrequiredlength: 1–500 charsCosa fa la modifica, in una frase: è la voce della cronologia che gli utenti leggono.
base_revisionstringlength: 40–40 charsLa revisione che hai letto. La modifica viene applicata anche se i file interessati non sono cambiati nel frattempo; altrimenti restituisce 409 con la revisione corrente.
operationsobject | object | object[]requireditems: 1–500 itemsRisposta
Modificare file (un commit)
dataobjectrequiredrequest_idstringrequiredCodici possibili: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCodici possibili: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_scope, feature_not_available, admin_required
errorobjectrequiredrequest_idstringrequiredCodici possibili: resource_not_found
errorobjectrequiredrequest_idstringrequiredCodici possibili: conflict, result_not_ready, idempotency_key_reused
errorobjectrequiredrequest_idstringrequiredCodici possibili: result_expired
errorobjectrequiredrequest_idstringrequiredCodici possibili: request_too_large
errorobjectrequiredrequest_idstringrequiredCodici possibili: request_too_large_for_plan
errorobjectrequiredrequest_idstringrequiredCodici possibili: rate_limited
errorobjectrequiredrequest_idstringrequiredCodici possibili: internal_error
errorobjectrequiredrequest_idstringrequiredCodici possibili: service_unavailable
errorobjectrequiredrequest_idstringrequired