Benvenuto nelle API di UGO
Le API di Unlimited Go consentono di integrare il motore di prenotazioni, la gestione clienti e le automazioni marketing direttamente nelle tue applicazioni.
Endpoint base
https://api.unlimitedgo.it/v1
Architettura REST
Tutti i dati vengono inviati e ricevuti in formato JSON standard.
| Header | Valore | Descrizione |
|---|---|---|
Content-Type |
application/json | Obbligatorio per richieste con body. |
Idempotency-Key |
UUID / String | Previene esecuzioni multiple della stessa operazione. |
X-Correlation-Id |
String (opzionale) | Per tracciare la richiesta; se omesso il gateway ne genera uno. |
Autenticazione
Per autenticare le tue richieste, includi la chiave API negli header HTTP.
Authorization: Bearer YOUR_SECRET_KEY
X-API-Key: YOUR_SECRET_KEY
Proteggi la tua chiave
Non condividere mai la chiave API in codice lato client (browser). Usala solo in ambienti server-side sicuri.
Monitoraggio e contabilizzazione
Ogni chiamata API è tracciata e associata a un correlation_id. Puoi usarlo per verificare l’esito delle operazioni asincrone e per il supporto.
- Audit log — Ogni richiesta viene registrata (metodo, path, status, correlation_id).
- Comandi asincroni — Le chiamate a
email.send,wa.sendeworkflow.triggergenerano un job in coda; lo stato si consulta conGET /v1/runs/{correlation_id}. - Contabilizzazione — Gli invii sono conteggiati per organizzazione (tenant). In Admin del portale sono visibili i volumi (es. ultimi 30 giorni) per report e fatturazione.
Correlation ID
Puoi inviare un X-Correlation-Id nelle richieste per collegare le chiamate ai tuoi log; se omesso, il gateway ne genera uno automaticamente. La risposta 202 dei comandi include sempre il correlation_id da usare con l’endpoint runs.
Status & Health
/v1/status
Health check del gateway.
curl -X GET "https://api.unlimitedgo.it/v1/status" -H "Authorization: Bearer YOUR_API_KEY"
{
"status": "ok",
"correlation_id": "..."
}
Comandi Asincroni
/v1/commands/email.send
Invia un'email (risposta 202, esito via runs).
Parametri body
curl -X POST ".../v1/commands/email.send" -H "Authorization: Bearer KEY" -H "Content-Type: application/json" -H "Idempotency-Key: uuid" -d '{"to":"user@example.com","subject":"Oggetto","body":"Testo","sender_name":"Il mio servizio"}'
{
"status": "accepted",
"correlation_id": "..."
}
/v1/commands/wa.send
Invia messaggio WhatsApp (202, esito via runs).
Parametri body
curl -X POST ".../v1/commands/wa.send" -H "Authorization: Bearer KEY" -H "Content-Type: application/json" -H "Idempotency-Key: uuid" -d '{"to":"+393331234567","template_id":"prenotazione_confermata","components":[{"type":"body","parameters":[{"type":"text","text":"Mario Rossi"},{"type":"text","text":"20:00"}]}] }'
{
"status": "accepted",
"correlation_id": "..."
}
/v1/commands/workflow.trigger
Attiva un workflow (202, esito via runs).
Parametri body
curl -X POST ".../v1/commands/workflow.trigger" -H "Authorization: Bearer KEY" -H "Content-Type: application/json" -H "Idempotency-Key: uuid" -d '{"workflow_id":123,"payload":{"customer_id":456,"event":"booking_created","booking_id":789}}'
{
"status": "accepted",
"correlation_id": "..."
}
Prenotazioni
/v1/reservations
Elenco prenotazioni con filtri e paginazione.
curl -X GET "https://api.unlimitedgo.it/v1/reservations" \
-H "Authorization: Bearer KEY"
{
"reservations": [],
"pagination": {
"page": 1,
"per_page": 20,
"total": 0,
"total_pages": 0
}
}
/v1/reservations/{id}
Dettaglio prenotazione.
curl -X GET "https://api.unlimitedgo.it/v1/reservations/{id}" \
-H "Authorization: Bearer KEY"
{
"id": 1,
"type": "...",
"customer_name": "...",
"booking_date": "..."
}
/v1/reservations
Crea prenotazione.
Parametri body
curl -X POST "https://api.unlimitedgo.it/v1/reservations" \
-H "Authorization: Bearer KEY"
{
"id": 1,
"message": "Reservation created."
}
/v1/reservations/{id}
Aggiorna prenotazione.
Parametri body
curl -X PATCH "https://api.unlimitedgo.it/v1/reservations/{id}" \
-H "Authorization: Bearer KEY"
{
"id": 1,
"message": "..."
}
/v1/reservations/{id}/confirm
Conferma prenotazione.
curl -X POST "https://api.unlimitedgo.it/v1/reservations/{id}/confirm" \
-H "Authorization: Bearer KEY"
{
"id": 1,
"message": "..."
}
/v1/reservations/{id}/cancel
Annulla prenotazione.
curl -X POST "https://api.unlimitedgo.it/v1/reservations/{id}/cancel" \
-H "Authorization: Bearer KEY"
{
"id": 1,
"message": "..."
}
/v1/reservations/{id}/notes
Aggiorna note amministrative.
Parametri body
curl -X PATCH "https://api.unlimitedgo.it/v1/reservations/{id}/notes" \
-H "Authorization: Bearer KEY"
{
"id": 1
}
/v1/reservations/{id}
Elimina prenotazione.
curl -X DELETE "https://api.unlimitedgo.it/v1/reservations/{id}" \
-H "Authorization: Bearer KEY"
{}
Clienti & Rubrica
/v1/contacts
Elenco contatti con ricerca e paginazione.
curl -X GET "https://api.unlimitedgo.it/v1/contacts" \
-H "Authorization: Bearer KEY"
{
"contacts": [],
"pagination": []
}
/v1/contacts/{id}
Dettaglio contatto con tag e emoji.
curl -X GET "https://api.unlimitedgo.it/v1/contacts/{id}" \
-H "Authorization: Bearer KEY"
{
"id": 1,
"first_name": "...",
"tags": [],
"emojis": []
}
/v1/contacts
Crea contatto.
Parametri body
curl -X POST "https://api.unlimitedgo.it/v1/contacts" \
-H "Authorization: Bearer KEY"
{
"id": 1,
"first_name": "..."
}
/v1/contacts/{id}
Aggiorna contatto.
Parametri body
curl -X PATCH "https://api.unlimitedgo.it/v1/contacts/{id}" \
-H "Authorization: Bearer KEY"
{
"id": 1,
"first_name": "..."
}
/v1/contacts/{id}
Elimina contatto.
curl -X DELETE "https://api.unlimitedgo.it/v1/contacts/{id}" \
-H "Authorization: Bearer KEY"
{}
/v1/contacts/{id}/tags
Tag del contatto.
curl -X GET "https://api.unlimitedgo.it/v1/contacts/{id}/tags" \
-H "Authorization: Bearer KEY"
{
"tags": [
{
"id": 1,
"name": "..."
}
]
}
/v1/contacts/{id}/tags
Sincronizza tag del contatto.
Parametri body
curl -X PUT "https://api.unlimitedgo.it/v1/contacts/{id}/tags" \
-H "Authorization: Bearer KEY"
{
"tags": []
}
/v1/contacts/{id}/emojis
Emoji del contatto.
curl -X GET "https://api.unlimitedgo.it/v1/contacts/{id}/emojis" \
-H "Authorization: Bearer KEY"
{
"emojis": [
{
"id": 1,
"name": "..."
}
]
}
/v1/contacts/{id}/emojis
Sincronizza emoji del contatto.
Parametri body
curl -X PUT "https://api.unlimitedgo.it/v1/contacts/{id}/emojis" \
-H "Authorization: Bearer KEY"
{
"emojis": []
}
Social & AI
/v1/social/connections
Stato connessione Meta (Facebook/Instagram).
curl -X GET "https://api.unlimitedgo.it/v1/social/connections" \
-H "Authorization: Bearer KEY"
{
"connection": {
"page_id": "...",
"ig_username": "..."
},
"health": []
}
/v1/social/onboarding-url
URL OAuth per collegare account Meta.
curl -X GET "https://api.unlimitedgo.it/v1/social/onboarding-url" \
-H "Authorization: Bearer KEY"
{
"oauth_url": "https:\/\/..."
}
/v1/social/actions
Elenco azioni social (pubblicazioni, scheduling).
curl -X GET "https://api.unlimitedgo.it/v1/social/actions" \
-H "Authorization: Bearer KEY"
{
"actions": [],
"dead_letter": []
}
/v1/social/actions
Crea azione (pubblicazione FB/IG o schedulata).
Parametri body
curl -X POST "https://api.unlimitedgo.it/v1/social/actions" \
-H "Authorization: Bearer KEY"
{
"success": true,
"action_id": 1
}
/v1/social/actions/{id}
Elimina azione (e contenuto su Meta se già pubblicato).
curl -X DELETE "https://api.unlimitedgo.it/v1/social/actions/{id}" \
-H "Authorization: Bearer KEY"
{}