LGCD
Intégrations · Plan Business

Une API REST et 31 webhooks
pour brancher votre conciergerie à tout.

PriceLabs, Turno, Metabase, Zapier, n8n, votre logiciel comptable… plus besoin de double-saisie. Notre API expose tout ce qui se passe dans votre cockpit, et les webhooks notifient vos outils en temps réel.

Disponible sur le plan Business. Token Sanctum avec abilities granulaires. Rate-limit 60 req/min.

api.lgcd.ma/v1/docs
API REST & Webhooks

21

Scopes API granulaires

31

Événements webhook

60

Req/min par token

HMAC

SHA-256 signé sur chaque webhook

Use cases

Ce que vraies agences branchent dessus.

📈

Yield management

PriceLabs · Wheelhouse · Beyond

Lecture du calendrier consolidé multi-biens et push des tarifs saisonniers en temps réel. Vos prix s'ajustent automatiquement à la demande locale.

calendar:read rates:read rates:write
🧹

Ops ménage

Turno · Properly · Breezeway

Les tâches de ménage sont envoyées à votre équipe via leurs apps dédiées (checklist, photos avant/après). Webhooks sur assignation, démarrage, fin.

cleaning:read cleaning:write
🛠

Maintenance externalisée

Réseau d'artisans · vendor management

Création automatique d'un ticket vers le logiciel de votre prestataire. Escalade Slack/PagerDuty sur les urgences (fuite, panne de clim).

maintenance:read maintenance:write
📊

BI & reporting

Metabase · Looker Studio · Power BI

KPIs hôteliers déjà calculés : taux d'occupation, ADR, RevPAR, revenu brut/net par bien ou par période. Vos dashboards sont à jour sans recalcul.

reports:read
🧾

Compta propriétaire

Indy · Macompta.ma · Sage

Récupération des relevés mensuels (revenus, commissions, net à reverser). Push automatique vers la compta du propriétaire, déclenchement de virement.

statements:read invoices:read owners:read
💬

CRM voyageur

ActiveCampaign · Brevo · n8n

Webhook sur réservation confirmée → séquence pré-séjour automatique. Push d'un message WhatsApp templated via API pour les notifs personnalisées.

bookings:read whatsapp:write
🔄

Sync OTAs

Hostaway · Hospitable · Smoobu

Création/modif/archivage d'un bien notifié en temps réel. Configuration des sources iCal externes (Airbnb, Booking) par API.

properties:read properties:write
🔐

Sécurité & conformité

Datadog · Splunk · Wazuh

Lecture du journal d'audit (Loi 09-08, rétention 3 ans) et push SIEM des événements critiques. Pour les agences soumises à audit.

audit:read
🤖

Automatisations no-code

Zapier · Make · n8n

Connectez n'importe quel webhook à des centaines d'apps tierces sans écrire une ligne de code. Slack, Google Sheets, Notion, Trello, etc.

Tous les events webhook
API REST · v1

Une API propre, documentée, prévisible.

Format JSON standard, pagination Laravel, codes HTTP cohérents, tokens Sanctum avec abilities granulaires. Documentation OpenAPI 3 à jour automatiquement et explorable via Swagger.

  • Tokens Sanctum à abilities granulaires : un token read-only pour Metabase, un token write pour Zapier.
  • Isolation tenant automatique: impossible d'accéder aux données d'une autre agence, même par erreur.
  • Rate-limit headers standards (X-RateLimit-*) pour back-off propre côté client.
  • Expiration optionnelle des tokens, révocation immédiate depuis le cockpit.
GET /api/v1/reports/revenue
# Lister revenue + ADR + RevPAR sur juillet
curl -H "Authorization: Bearer $TOKEN" \
  "https://api.example.com/v1/reports/revenue?from=2026-07-01&to=2026-07-31&granularity=day"

{
  "from": "2026-07-01",
  "to": "2026-07-31",
  "currency": "MAD",
  "data": {
    "global": {
      "gross_revenue": 142500,
      "net_revenue": 128250,
      "nights_booked": 186,
      "adr": 766.13,
      "revpar": 459.68
    },
    "per_property": [...],
    "series": [...]
  }
}
Webhooks · 31 événements

Notifié en temps réel quand quelque chose bouge.

Chaque webhook est signé HMAC-SHA256 et livré avec retry exponentiel (5 tentatives sur 24h). Wildcard supporté (`booking.*` pour s'abonner à toute la famille d'événements).

Réservations

  • booking.created Nouvelle réservation
  • booking.confirmed Réservation confirmée (passe de pending à confirmed)
  • booking.updated Réservation modifiée
  • booking.cancelled Réservation annulée
  • booking.checked_in Check-in confirmé
  • booking.checked_out Check-out confirmé
  • booking.no_show Voyageur ne s'est pas présenté (no-show)
  • booking.payment_received Acompte voyageur encaissé via CMI (mini-site)

Biens

  • property.created Nouveau bien créé
  • property.updated Bien modifié (prix, description…)
  • property.archived Bien archivé
  • property.rate_changed Tarif saisonnier ajouté / modifié / supprimé (yield mgmt)

Ménage

  • cleaning.assigned Tâche assignée
  • cleaning.completed Tâche terminée
  • cleaning.skipped Tâche ignorée (à replanifier)

Maintenance

  • maintenance.created Ticket créé
  • maintenance.assigned Ticket assigné à un intervenant
  • maintenance.urgent Ticket marqué urgent (escalade ops)
  • maintenance.resolved Ticket résolu

Factures

  • invoice.sent Facture envoyée
  • invoice.paid Facture payée

Synchronisation

  • ical.conflict_detected Conflit iCal détecté
  • ical.sync_failed Échec de synchronisation iCal (URL invalide / source down)

WhatsApp

  • whatsapp.message_failed Échec d'envoi d'un message WhatsApp

Audit / sécurité

  • audit.critical_event Événement critique dans le journal d'audit

Propriétaires

  • owner.statement_ready Relevé mensuel disponible (1er du mois suivant)

Abonnement SaaS

  • subscription.renewed Abonnement renouvelé suite à un paiement réussi

Avis voyageurs

  • review.received Nouvel avis voyageur (reputation management, alerte note basse)

Paiements

  • payment.succeeded Paiement réussi (abonnement ou booking mini-site)
  • payment.failed Paiement échoué (alerting / retry)

site.webhook_group_finance

  • tax_report.generated site.webhook_event_tax_report.generated
Webhook · payload

Format stable et prévisible.

Chaque event est livré dans une enveloppe identique : id unique pour la déduplication, timestamp, type d'event, et un bloc data spécifique au domaine. Header X-Signature HMAC pour vérifier l'authenticité.

  • Retry exponentiel sur 5 tentatives en 24h si votre endpoint répond >= 500.
  • Journal des livraisons consultable dans le cockpit, replay possible.
  • Wildcards: abonnez-vous à booking.* ou même * pour tout capturer.
  • Test depuis l'UI : un bouton « Tester » envoie un payload factice à votre endpoint.
POST your-endpoint · payload
{
  "id": "7f2a8b1c-9d4e-4f5a-b2c1-...",
  "event": "booking.confirmed",
  "created_at": "2026-07-15T10:23:41+00:00",
  "agency_id": 42,
  "data": {
    "booking": {
      "id": 9876,
      "reference": "BKG-A1B2C3",
      "status": "confirmed",
      "source": "airbnb",
      "check_in": "2026-08-12",
      "check_out": "2026-08-19",
      "guests_count": 2,
      "guest_name": "Karim B."
    }
  }
}
Scopes API · 21 permissions

Tokens à périmètre minimal.

Chaque token est limité à un sous-ensemble d'abilities — principe du moindre privilège. Un token Metabase n'a que reports:read, votre Zapier de production a juste bookings:write.

properties:read Lire les biens
properties:write Modifier les sources iCal et déclencher une sync
bookings:read Lire les réservations
bookings:write Créer et annuler des réservations
owners:read Lire les propriétaires
invoices:read Lire les factures
calendar:read Lire le calendrier
rates:read Lire les tarifs saisonniers
rates:write Créer, modifier et supprimer des tarifs saisonniers
cleaning:read Lire les tâches de ménage
cleaning:write Créer et gérer les tâches de ménage
maintenance:read Lire les tickets de maintenance
maintenance:write Créer et gérer les tickets de maintenance
whatsapp:read Lire les messages WhatsApp en outbox
whatsapp:write Préparer des messages WhatsApp templated
reports:read Lire les rapports agrégés (occupancy, revenue, ADR, RevPAR)
statements:read Lire les relevés propriétaires (payouts mensuels)
audit:read Lire le journal d'audit (Loi 09-08 / SIEM)
reviews:read Lire les avis voyageurs (reputation management)
reviews:write Créer des avis voyageurs (import OTA / manuel)
tax_reports:read site.api_ability_tax_reports:read
FAQ développeurs

Questions courantes.

L'API est-elle incluse dans tous les plans ? +
Non. L'API REST est réservée aux plans Business & Pro. Le plan Basic a accès uniquement à l'API de lecture des factures SaaS (compta).
Y a-t-il une limite de requêtes ? +
Oui : 60 requêtes/minute par token. Les headers X-RateLimit-* standard sont renvoyés à chaque réponse pour faciliter le back-off côté client.
Les webhooks sont-ils sécurisés ? +
Chaque payload est signé HMAC-SHA256 avec un secret unique par webhook (header X-Signature). Vous pouvez vérifier l'authenticité avant traitement.
Que se passe-t-il si mon endpoint webhook tombe ? +
Le système retente 5 fois en 24h avec back-off exponentiel. Les livraisons en échec sont consultables dans le cockpit, avec un bouton « Rejouer » disponible 7 jours.
Puis-je tester sans contracter ? +
Oui — l'essai gratuit Business de 14 jours donne accès à toute l'API. Vous pouvez générer un token et tester sans engagement.
L'API supporte-t-elle GraphQL ? +
Non, c'est une API REST JSON, documentée en OpenAPI 3. GraphQL n'est pas prévu — la majorité des intégrations cibles (Zapier, Make, n8n) sont REST-first.

Prêt à brancher votre stack ?

14 jours d'essai gratuit du plan Business. Aucune carte requise. Vous générez vos premiers tokens en 2 minutes.