Réponses structurées et simples à exploiter.
API pour les restaurants
Connectez l'interface de l'assistant vocal aux données et aux services du restaurant : informations générales, carte, livraison, clients et passage de commande.
GET /v1/?restaurant HTTP/1.1
Host: apiv1.demo-pizza.com
Authorization: Bearer YOUR_TOKEN
X-Restaurant-ID: 123
Une authentification propre à chaque restaurant.
Endpoints versionnés pour garantir la stabilité.
Authentification
Chaque restaurant dispose obligatoirement d'un identifiant unique et d'une clé API ou d'un token permettant d'autoriser les appels vers nos services.
Le token doit être stocké côté serveur et ne doit jamais être exposé publiquement.
restaurant_idkey/v1/?restaurant
Informations du restaurant
Retourne les coordonnées, horaires et informations générales du restaurant.
Réponse
Les informations renvoyées peuvent être utilisées par l'assistant pour répondre aux questions du client.
{
"success": true,
"restaurant": {
"id_resto": 123,
"nom": "Restaurant Exemple",
"telephone": "01 00 00 00 00",
"adresse": "10 rue Exemple",
"ville": "Paris",
"code_postal": "75000",
"specialite": "pizza",
"horaires_livr": [],
"horaires_emport": []
}
}
/v1/?delivery-cities
Villes de livraison
Retourne les zones de livraison et leurs conditions.
{
"success": true,
"delivery_cities": [
{
"id_ville": 32,
"nom_ville": "Ville Exemple 75000",
"frais_livraison": 0,
"minimum_commande": 25,
"delais_livraison": "00:45:00"
}
]
}
/v1/?order-settings
Paramètres de commande
Retourne les modes de commande autorisés, moyens de paiement, règles de livraison et autres paramètres nécessaires au passage d'une commande.
{
"success": "true",
"order_settings": {
"modes": [
"livraison",
"emporter"
],
"paiement": [
"espece",
"ticket_resto",
"cheque",
"cb_livraison"
],
"commande_ouverte": true
}
}
/v1/?customer
Informations client
Permet de rechercher les informations client nécessaires au traitement de la commande.
telephone{
"success": "true",
"customer": {
"id_client": "373",
"societe": "",
"nom": "Fernández",
"prenom": "Jérémie",
"civilite": "Mr",
"adresse": "12 Rue de lÉglise",
"mail": "abirdjebbi@des-click.com",
"tel": "0183621701",
"ville": {
"id_ville": "0",
"nom_ville": null,
"frais_livraison": null,
"minimum_commande": [],
"delais_livraison": null
},
"pointfidelite": "0",
"adresse_infplus": "Bât. A - Appt n°5",
"dat_nais": "2026-02-11"
}
}
/v1/?passager
Informations passager
Permet de rechercher les informations client nécessaires au traitement de la commande A emporter uniquement.
telephone{
"success": "true",
"Passager": {
"id_passager": "",
"pseudo": "",
"mobile": ""
}
}
/v1/?orders
Insertion de commande
Permet à l'assistant vocal d'envoyer une commande validée vers le système du restaurant. La commande est ensuite réceptionnée par le logiciel de caisse pour traitement et impression.
Corps de la requête
{
"id_resto": null,
"key": null,
"info_commande": {
"type_commande": livraison, \\ livraison ou emporter ou sur_place
"date_commande": YYYY-mm-dd,
"heure_commande": HH:ii:ss,
"date_livraison": YYYY-mm-dd,
"heure_livraison": HH:ii:ss,
"reduction": null,
"totalTTC_NET": null, \\ total de commande final
"frais_livraison": null,
"frais_gestion": null,
"note_commande": null
},
"payement": [
"espece",
"cheque",
"Ticket restaurant",
"CB"
],
"details_commande": [
{
"id_produit": null,
"id_famille": null,
"id_taille": null,
"prix": null,
"qte": null,
"id_accompagnement": [],
"id_accompagnement_famille": [],
"ingredients_supp": [],
"ingredients_sans": [],
"composant": []
}
],
"info_client": { \\ soit client
"id_client": null,
"societe": null,
"nom": null,
"prenom": null,
"civilite": null,
"adresse": null,
"mail": null,
"tel": null,
"ville": null,
"pointfidelite": 0,
"adresse_infplus": null
},
"info_passager": { \\ soit passager(uniquement à emporter)
"id_passager": "",
"pseudo": "",
"mobile": ""
},
"platform": "IAVOCAL"
}
Réponse
{
"id_commande": 475,
"message": "Votre commande est valide",
"ttc": "71.00"
}
URL Webhook du partenaireNotifications Webhook
Le Webhook permet à notre système d'informer automatiquement l'application partenaire lorsqu'une modification intervient sur un restaurant.
Le partenaire fournit une URL HTTPS publique. Lorsqu'un événement est détecté, notre système envoie automatiquement une requête HTTP POST contenant un objet JSON.
Flux de communication
URL à fournir par le partenaire
https://partenaire.exemple.com/webhook/restaurantExemple : mise à jour de la carte
{
"event_id": "evt_987654",
"statut": "mise_a_jour_carte",
"id_resto": 3255,
"date_creation": "2026-09-22T16:25:40+01:00"
}Description des données
event_idstatutid_restodate_creationTraitement attendu
Si statut vaut mise_a_jour_carte, le partenaire identifie le restaurant avec id_resto, puis appelle l'API Carte & produits pour récupérer les données actualisées. Le Webhook sert de notification ; les données complètes restent disponibles via les API.
Réponse attendue du partenaire
{
"success": true,
"message": "Webhook reçu"
}Événements disponibles
mise_a_jour_cartemise_a_jour_restaurantmise_a_jour_livraisonmise_a_jour_parametresL'identifiant event_id permet au partenaire d'ignorer un événement déjà traité si la notification est renvoyée après un échec de réception.
Codes d'erreur
Requête traitée avec succès.
Paramètres manquants ou invalides.
Token ou identifiant invalide.
Accès non autorisé.
Ressource introuvable.
Erreur interne du serveur.
Historique
Authentification, restaurant, menu, livraison, client, paramètres et insertion de commande.