Documentation ›
Prenotazioni › Crea o aggiorna una prenotazione
POST
Crea o aggiorna una prenotazione
POSThttps://app.sendapp.ai/api/bookings
Inserisce una prenotazione nell'Agenda di SendApp. Da lì partono i promemoria configurati (WhatsApp, SMS o email) e, se attivi, i richiami.
Serve alle piattaforme di prenotazione che preferiscono inviarci i dati invece di essere interrogate: una chiamata quando qualcosa cambia, e i promemoria partono da soli.
Serve alle piattaforme di prenotazione che preferiscono inviarci i dati invece di essere interrogate: una chiamata quando qualcosa cambia, e i promemoria partono da soli.
È idempotente. Il campo
reference è il TUO identificativo: inviando due volte la stessa prenotazione la aggiorni, non la duplichi. Un tentativo ripetuto dopo un timeout non fa mai partire due promemoria allo stesso cliente.Se il tuo account SendApp ha più account collegati, il campo
token è obbligatorio: serve a dire su quale agenda finisce la prenotazione. Con un solo account puoi ometterlo.Parameters
apikey
required
La tua API Key (in alternativa: header
X-API-Key).
token
optional
Token dell'account su cui inserire la prenotazione. Obbligatorio se ne hai più di uno.
reference
required
Il tuo identificativo della prenotazione. Reinviandolo aggiorni la stessa prenotazione.
start_time
required
Data e ora di inizio. Accetta
2026-09-12 20:30 oppure ISO 8601 (2026-09-12T20:30:00+02:00). Senza fuso indicato viene letta nel fuso dell'account.
end_time
optional
Data e ora di fine. Se manca viene calcolata a un'ora dopo l'inizio.
name
required
Nome del cliente.
phone
optional
Telefono in formato internazionale. Obbligatorio se non passi
email.
email
optional
Email del cliente. Obbligatoria se non passi
phone.
people
optional
Numero di persone: finisce nelle note della prenotazione.
notes
optional
Note libere (es. "tavolo vicino alla finestra").
location
optional
Sede o sala, se ne hai più di una.
status
optional
confirmed (predefinito) oppure cancelled.
timezone
optional
Fuso orario della prenotazione (es.
Europe/Rome). Se manca si usa quello dell'account. Request
curl -X POST https://app.sendapp.ai/api/bookings \
-H 'X-API-Key: LA_TUA_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"token": "IL_TUO_ACCOUNT_TOKEN",
"reference": "PRE-10432",
"start_time": "2026-09-12 20:30",
"name": "Mario Rossi",
"phone": "+393331234567",
"people": 4,
"notes": "Tavolo vicino alla finestra"
}'<?php
$ch = curl_init('https://app.sendapp.ai/api/bookings');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['X-API-Key: LA_TUA_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'token' => 'IL_TUO_ACCOUNT_TOKEN',
'reference' => 'PRE-10432',
'start_time' => '2026-09-12 20:30',
'name' => 'Mario Rossi',
'phone' => '+393331234567',
'people' => 4,
]),
]);
$res = json_decode(curl_exec($ch), true);
curl_close($ch);await fetch('https://app.sendapp.ai/api/bookings', {
method: 'POST',
headers: {
'X-API-Key': 'LA_TUA_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
token: 'IL_TUO_ACCOUNT_TOKEN',
reference: 'PRE-10432',
start_time: '2026-09-12 20:30',
name: 'Mario Rossi',
phone: '+393331234567',
people: 4,
}),
});Response (200 OK)
{
"status": "success",
"created": true,
"booking": {
"reference": "PRE-10432",
"token": "IL_TUO_ACCOUNT_TOKEN",
"name": "Mario Rossi",
"phone": "+393331234567",
"email": null,
"start_time": "2026-09-12 20:30:00",
"end_time": "2026-09-12 21:30:00",
"timezone": "Europe/Rome",
"status": "confirmed",
"notes": "Tavolo vicino alla finestra · 4 persone · REF PRE-10432"
}
}Error
{
"status": "error",
"message": "start_time is not a valid date. Use \"2026-09-12 20:30\" or an ISO 8601 value."
}