Aller au contenu principal

API Publique

Apercu​

L'API Publique AutoGMS offre aux partenaires d'integration un acces programmatique aux donnees de votre garage. Utilisez-la pour connecter des outils de diagnostic, des plateformes de gestion de flotte, des tableaux de bord personnalises, des catalogues de pieces et des applications mobiles a votre compte AutoGMS.

Caracteristiques principales :

  • Acces complet en lecture et ecriture a toutes les donnees du garage, y compris les reservations, clients, vehicules, inventaire, factures et plus
  • Webhooks -- recevoir des notifications en temps reel lorsque des evenements se produisent dans votre garage
  • Authentification par cle API avec limitation de debit par cle et niveaux de permission
  • Portee par garage -- chaque requete est liee a un garage specifique
  • Journalisation d'audit -- toute activite API est enregistree et visible dans le panneau d'administration
  • Support multi-garage -- une seule cle peut acceder a plusieurs garages de votre organisation

Comment Acceder​

Les cles API sont creees et gerees par votre administrateur AutoGMS (super admin). Si vous avez besoin d'un acces API, contactez votre administrateur pour demander une cle.

Une fois votre cle API recue, vous pouvez commencer a effectuer des requetes immediatement.


Demarrage​

Etape 1 : Demander une Cle API​

Contactez votre administrateur AutoGMS pour demander une cle API. Lors de votre demande, indiquez-leur :

  • L'objectif d'utilisation -- ex. "Tableau de bord Flotte", "Integration Catalogue Pieces", "Outil de Diagnostic".
  • Le niveau de permission -- Lecture Seule pour les tableaux de bord et rapports, ou Lecture et Ecriture pour les integrations completes.
  • Les garages concernes -- Precisez si vous n'avez besoin d'acceder qu'a certains garages.

Votre administrateur vous fournira une cle API. Conservez-la en securite -- elle ne peut pas etre recuperee apres sa creation.

Etape 2 : Effectuer Votre Premiere Requete​

Utilisez votre cle API dans l'en-tete X-API-Key :

GET https://api.autogms.com/api/v1/garages
X-API-Key: agms_pk_live_your_key_here

Ceci retourne une liste de tous les garages accessibles par votre cle.

Etape 3 : Acceder aux Donnees du Garage​

Tous les endpoints de donnees necessitent un identifiant de garage dans l'URL :

GET https://api.autogms.com/api/v1/garages/{garageId}/bookings
X-API-Key: agms_pk_live_your_key_here

Donnees Disponibles​

L'API fournit un acces en lecture et ecriture a tous les domaines principaux de votre garage :

RessourceLectureEcriture
GaragesDetails de localisation, coordonnees--
ClientsProfils, historique des reservations, vehiculesCreer, modifier clients et vehicules
VehiculesDetails du vehicule, decodage VINCreer, modifier, supprimer vehicules
ReservationsToutes les reservations avec statut, techniciens, pieces, etapesCreer, modifier, changer statut, supprimer, assigner techniciens et pieces
Etapes de ReservationEtapes de travail avec techniciens assignesCreer, modifier, changer statut, supprimer etapes
TechniciensListe de l'equipe, statistiques de performance, travail assigne--
ServicesCatalogue de services avec tarification--
InventaireNiveaux de stock, alertes de stock bas, recherche par code-barresCreer articles, modifier details, ajuster stock
FacturesDetails des factures, statut de paiement--
DevisDetails des devis, statut d'approbation, lignes de detailCreer, modifier, envoyer devis
Bons de CommandeDetails des bons, statistiques d'approvisionnement--
BaiesDisponibilite des baies et affectations en cours--
WebhooksListe des abonnements, historique de livraisonCreer, modifier, supprimer, tester webhooks

Note : Les operations d'ecriture necessitent une cle API Lecture et Ecriture. Les cles en lecture seule ne peuvent acceder qu'aux endpoints GET.


Cas d'Utilisation Courants​

Integration Diagnostic​

Connectez vos equipements de diagnostic pour rechercher des vehicules et creer des reservations :

GET  /api/v1/garages/{garageId}/vehicles/vin-lookup?vin=JTMHY7AJ5E4012345
POST /api/v1/garages/{garageId}/bookings

Tableau de Bord Gestion de Flotte​

Surveillez tous les travaux actifs, les charges de travail des techniciens et la disponibilite des baies :

GET /api/v1/garages/{garageId}/bookings/counts
GET /api/v1/garages/{garageId}/technicians
GET /api/v1/garages/{garageId}/bays

Integration Catalogue de Pieces​

Verifiez les niveaux d'inventaire, ajustez le stock et obtenez des alertes de stock bas :

GET  /api/v1/garages/{garageId}/inventory?lowStock=true
GET /api/v1/garages/{garageId}/inventory/barcode/6291041500123
POST /api/v1/garages/{garageId}/inventory/{itemId}/adjust

Automatisation des Reservations​

Creez des reservations, assignez des techniciens et gerez les etapes de travail de maniere programmatique :

POST /api/v1/garages/{garageId}/bookings
POST /api/v1/garages/{garageId}/bookings/{bookingId}/status
POST /api/v1/garages/{garageId}/bookings/{bookingId}/technician
POST /api/v1/garages/{garageId}/bookings/{bookingId}/stages

Notifications en Temps Reel (Webhooks)​

Recevez des notifications instantanees lorsque des evenements se produisent dans votre garage :

POST /api/v1/garages/{garageId}/webhooks

Abonnez-vous a des evenements comme booking.completed, inventory.low_stock, invoice.paid, et plus. AutoGMS envoie un HTTP POST a votre URL chaque fois que l'evenement se produit.

Evenements webhook v1 courants :

  • customer.created
  • booking.created
  • booking.updated
  • booking.status_changed
  • booking.completed
  • technician.assigned
  • estimate.created
  • estimate.sent
  • inventory.low_stock

API WhatsApp​

AutoGMS ne fournit pas d'API WhatsApp separee pour envoyer vos propres messages WhatsApp directement. Pour les workflows garage pris en charge, AutoGMS prepare les messages WhatsApp dans le tableau de bord, par exemple pour les factures, devis, bons de commande, rappels MOT, inspections et rappels de service. Dans la plupart des cas, vous verifiez le message prepare puis vous l'envoyez via WhatsApp.

Utilisez l'API Publique pour les donnees du garage, les reservations, clients, vehicules, inventaire, factures, devis, bons de commande et webhooks. Si vous avez besoin d'une integration WhatsApp personnalisee ou d'une automatisation WhatsApp directe, contactez le support avec le workflow, le volume de messages attendu et indiquez si les messages sont transactionnels ou marketing.

Rapports Personnalises​

Recuperez des donnees financieres pour des outils de reporting externes :

GET /api/v1/garages/{garageId}/invoices?status=paid&dateFrom=2026-01-01
GET /api/v1/garages/{garageId}/purchase-orders/stats

Format de Reponse API​

Toutes les reponses utilisent un format JSON coherent.

Reponse reussie :

{
"success": true,
"data": { ... }
}

Reponse liste avec pagination :

{
"success": true,
"data": [ ... ],
"pagination": {
"page": 1,
"limit": 20,
"total": 156,
"totalPages": 8,
"hasMore": true
}
}

Reponse d'erreur :

{
"success": false,
"error": {
"type": "NotFoundError",
"message": "Booking not found",
"code": "RESOURCE_NOT_FOUND"
}
}

Erreurs courantes de planification pour les integrations en ecriture :

  • GARAGE_CLOSED (409)
  • DATE_AT_CAPACITY (409)
  • TIMESLOT_REQUIRED (400) lorsqu'un creneau est obligatoire et qu'aucun timeslot n'est envoye
  • INVALID_TIMESLOT (400) lorsque timeslot n'est pas valide pour cette date
  • SLOT_AT_CAPACITY (409)
  • ACTIVE_JOB_EXISTS (409)

Si le garage utilise la planification par creneaux, incluez un champ timeslot au format HH:MM dans les ecritures de reservation :

{
"date": "2026-03-04",
"timeslot": "09:00"
}

Pagination et Filtrage​

Pagination​

Tous les endpoints de liste supportent la pagination :

ParametreDefautMaxDescription
page1--Numero de page
limit20100Elements par page

Exemple : GET /api/v1/garages/{garageId}/bookings?page=2&limit=50

Tri​

Utilisez le parametre sort. Prefixez avec - pour l'ordre decroissant :

  • sort=-date -- Plus recent en premier
  • sort=name -- Alphabetique

Filtrage par Date​

La plupart des endpoints de liste supportent le filtrage par plage de dates :

  • dateFrom=2026-01-01 -- Enregistrements a partir de cette date
  • dateTo=2026-01-31 -- Enregistrements jusqu'a cette date

Limitation de Debit​

Chaque cle API a une limite de requetes par minute selon son niveau :

NiveauRequetes par Minute
Standard60
Premium300
Entreprise1 000

Chaque reponse inclut des en-tetes de limitation de debit :

RateLimit-Limit: 60
RateLimit-Remaining: 42
RateLimit-Reset: 1706000000

Si vous depassez la limite, vous recevrez une reponse 429 Too Many Requests. Attendez que la periode Retry-After expire avant de faire d'autres requetes.


Gestion des Cles API​

Les cles API sont gerees par votre administrateur AutoGMS. Si vous avez besoin de l'une des actions suivantes, contactez votre administrateur :

  • Consulter les statistiques d'utilisation -- Votre administrateur peut voir le nombre de requetes, les taux d'erreur et l'activite recente pour chaque cle.
  • Rotation d'une cle -- Si une cle a pu etre compromise, demandez a votre administrateur de la faire tourner. Cela genere une nouvelle cle et invalide l'ancienne.
  • Revoquer une cle -- Pour desactiver definitivement une cle, demandez a votre administrateur de la revoquer.

La rotation et la revocation des cles sont des actions permanentes gerees par votre administrateur.


Reference Complete des Endpoints​

Tous les endpoints sont prefixes avec /api/v1. Les endpoints de ressources utilisent /garages/{garageId}/.

Garages​

EndpointDescription
GET /garagesLister tous les garages accessibles par cette cle
GET /garages/{garageId}Details du garage

Clients​

EndpointDescription
GET /garages/{gid}/customersLister les clients du garage
GET /garages/{gid}/customers/search?q=ahmedRechercher par nom, email ou telephone
POST /garages/{gid}/customersCreer un client
PATCH /garages/{gid}/customers/{cid}Modifier un client
GET /garages/{gid}/customers/{cid}Client avec statistiques de reservations
GET /garages/{gid}/customers/{cid}/vehiclesLister les vehicules du client
POST /garages/{gid}/customers/{cid}/vehiclesAjouter un vehicule au client
GET /garages/{gid}/customers/{cid}/bookingsLister les reservations du client

Ordre des vehicules : Les resultats de vehicules limites a un client sont aussi limites au garage de la requete. Le vehicule par defaut apparait en premier. Les autres sont classes par date de mise a jour la plus recente, puis par date de creation la plus recente. GET /garages/{gid}/vehicles sans customerId reste classe par date de creation la plus recente.

Vehicules​

EndpointDescription
GET /garages/{gid}/vehiclesLister tous les vehicules
POST /garages/{gid}/vehiclesCreer un vehicule
PATCH /garages/{gid}/vehicles/{vid}Modifier un vehicule
DELETE /garages/{gid}/vehicles/{vid}Supprimer un vehicule
GET /garages/{gid}/vehicles/{vid}Details du vehicule
GET /garages/{gid}/vehicles/vin-lookup?vin=...Decoder un VIN

Reservations​

EndpointDescription
GET /garages/{gid}/bookingsLister les reservations (filtrer par statut, date, client, technicien)
POST /garages/{gid}/bookingsCreer une reservation
GET /garages/{gid}/bookings/countsCompteurs par statut
GET /garages/{gid}/bookings/{bid}Detail complet de la reservation
PATCH /garages/{gid}/bookings/{bid}Modifier une reservation
DELETE /garages/{gid}/bookings/{bid}Supprimer definitivement une reservation en attente intacte, sans historique de travail, communication, integration ou finance
POST /garages/{gid}/bookings/{bid}/statusChanger le statut de la reservation
POST /garages/{gid}/bookings/{bid}/technicianAssigner un technicien
GET /garages/{gid}/bookings/{bid}/inventoryLister les pieces assignees
POST /garages/{gid}/bookings/{bid}/inventoryAssigner des pieces a la reservation
GET /garages/{gid}/bookings/{bid}/partsLister les pieces assignees (alias)
GET /garages/{gid}/bookings/{bid}/attachmentsLister les pieces jointes
GET /garages/{gid}/bookings/{bid}/stagesLister les etapes du projet
POST /garages/{gid}/bookings/{bid}/stagesCreer une etape
PATCH /garages/{gid}/bookings/{bid}/stages/{sid}Modifier une etape
POST /garages/{gid}/bookings/{bid}/stages/{sid}/statusChanger le statut de l'etape
DELETE /garages/{gid}/bookings/{bid}/stages/{sid}Supprimer une etape

Techniciens​

EndpointDescription
GET /garages/{gid}/techniciansLister les techniciens
GET /garages/{gid}/technicians/{tid}/statsStatistiques de performance
GET /garages/{gid}/technicians/{tid}/bookingsReservations assignees

Services​

EndpointDescription
GET /garages/{gid}/servicesCatalogue de services
GET /garages/{gid}/services/{sid}Details du service
GET /garages/{gid}/services/{sid}/pricesTarification par type de vehicule

Inventaire​

EndpointDescription
GET /garages/{gid}/inventoryLister les articles
POST /garages/{gid}/inventoryCreer un article d'inventaire
GET /garages/{gid}/inventory/{iid}Details de l'article
PATCH /garages/{gid}/inventory/{iid}Modifier un article
POST /garages/{gid}/inventory/{iid}/adjustAjuster le stock (ajouter ou soustraire)
GET /garages/{gid}/inventory/low-stockArticles sous le seuil
GET /garages/{gid}/inventory/categoriesCategories avec compteurs
GET /garages/{gid}/inventory/statsStatistiques d'inventaire
GET /garages/{gid}/inventory/barcode/{code}Recherche par code-barres

Factures​

EndpointDescription
GET /garages/{gid}/invoicesLister les factures
GET /garages/{gid}/invoices/{iid}Detail de la facture

Devis​

EndpointDescription
GET /garages/{gid}/estimatesLister les devis
POST /garages/{gid}/estimatesCreer un devis
GET /garages/{gid}/estimates/{eid}Detail du devis
PATCH /garages/{gid}/estimates/{eid}Modifier un devis
POST /garages/{gid}/estimates/{eid}/sendEnvoyer un devis au client

Mises à jour des devis, conflits et expectedVersion​

Les clients de l'API publique qui modifient des devis doivent d'abord lire le devis, puis envoyer sa dernière valeur entière expectedVersion avec chaque appel PATCH. Il s'agit du jeton de modification, distinct du numéro de révision visible version. Les clients v1 existants peuvent l'omettre pendant la période de transition, mais ces requêtes ne peuvent pas détecter les modifications effectuées avant leur lancement. Une réponse 409 ESTIMATE_EDIT_CONFLICT signifie que le devis a changé ; récupérez-le à nouveau et comparez les modifications avant de réessayer. Un jeton actuel ne contourne pas les verrouillages du workflow : les devis envoyés, approuvés et remplacés renvoient 409 STATUS_TRANSITION_BLOCKED.

Bons de Commande​

EndpointDescription
GET /garages/{gid}/purchase-ordersLister les bons de commande
GET /garages/{gid}/purchase-orders/{pid}Detail du bon de commande
GET /garages/{gid}/purchase-orders/statsStatistiques d'approvisionnement

Baies​

EndpointDescription
GET /garages/{gid}/baysLister les baies avec statut actuel

Webhooks​

EndpointDescription
GET /garages/{gid}/webhooksLister vos abonnements webhook
POST /garages/{gid}/webhooksCreer un abonnement webhook
PATCH /garages/{gid}/webhooks/{wid}Modifier un webhook
DELETE /garages/{gid}/webhooks/{wid}Supprimer un webhook
POST /garages/{gid}/webhooks/{wid}/testEnvoyer un evenement de test
GET /garages/{gid}/webhooks/{wid}/deliveriesConsulter l'historique de livraison

Bientot Disponible​

  • OAuth 2.0 -- Authentification tierce pour les integrations marketplace

Besoin d'Aide ?​

  • Demander une cle API : Contactez votre administrateur AutoGMS
  • Problemes de cles (rotation, revocation) : Contactez votre administrateur AutoGMS
  • Support general : Envoyez un email a support@myautogms.com