Racinage
English

Operations

API et connecteurs

Derniere mise a jour 2026-07-05 08:42

Les offres Family, Max et Lifetime peuvent exposer des enregistrements familiaux selectionnes avec des cles API CRUDSSF limitees et des webhooks sortants signes.

Modele d acces

Activez l API depuis Gerer > API et connecteurs. Un gestionnaire choisit les ressources, puis cree des cles API pour les outils externes. Les super-admins peuvent suivre l usage, suspendre une API familiale, revoquer les cles et tester les webhooks depuis admin7839 > API et connecteurs.

  • Authentifier les requetes avec Authorization: Bearer VOTRE_CLE_API.
  • Les cles sont hachees en base et la cle complete n est affichee qu une fois.
  • Chaque requete reste limitee aux ressources, operations et au family_long_id selectionnes.
  • Les cles existantes restent limitees a lecture/recherche/tri/filtre. Accordez creation, modification et suppression uniquement aux integrations de confiance.
  • Le forfait Lite ne peut pas activer l API.

Ressources et formats

La premiere version est /api/v1. Les ressources sont trees, persons, gallery, events, projects, finances, documents, history et all.

curl -H "Authorization: Bearer VOTRE_CLE_API" \
  "https://racinage.com/api/v1/persons?format=json"

curl -H "Authorization: Bearer VOTRE_CLE_API" \
  "https://racinage.com/api/v1/events?format=csv"

curl -H "Authorization: Bearer VOTRE_CLE_API" \
  "https://racinage.com/api/v1/all?format=pdf"

curl -L -H "Authorization: Bearer VOTRE_CLE_API" \
  "https://racinage.com/api/v1/documents/ID_DOCUMENT/file"

curl -X POST -H "Authorization: Bearer VOTRE_CLE_API" \
  -H "Content-Type: application/json" \
  -d '{"first_name":"Ada","last_name":"Lovelace","gender":"F"}' \
  "https://racinage.com/api/v1/persons"

curl -X PATCH -H "Authorization: Bearer VOTRE_CLE_API" \
  -H "Content-Type: application/json" \
  -d '{"last_name":"Byron"}' \
  "https://racinage.com/api/v1/persons/ID_PERSONNE"

curl -X DELETE -H "Authorization: Bearer VOTRE_CLE_API" \
  "https://racinage.com/api/v1/persons/ID_PERSONNE"

Utilisez json pour les integrations, csv pour les tableurs, html pour une vue imprimable et pdf pour un instantane leger. Les medias sont renvoyes comme URL; les documents proteges passent par le endpoint fichier authentifie avec la meme cle.

Recherche, tri et filtre passent par la requete: ?search=Ada, ?sort=created_at&direction=asc et ?filter[gender]=F. La creation galerie/document accepte file_base64, original_name et mime_type optionnel.

Mises a jour continues

Le flux Server-Sent Events envoie les changements avec peu de charge serveur. Le flux contient des metadonnees; recuperez ensuite le record complet si votre integration en a besoin.

curl -N -H "Authorization: Bearer VOTRE_CLE_API" \
  "https://racinage.com/api/v1/events/stream"

Webhooks

Les webhooks envoient du JSON vers des URL HTTPS lorsque les ressources activees changent. Verifiez la signature avec le secret du webhook et l en-tete X-Racinage-Timestamp.

signed_payload = timestamp + "." + raw_body
expected = "sha256=" + hmac_sha256(webhook_secret, signed_payload)

Les en-tetes incluent X-Racinage-Event, X-Racinage-Delivery, X-Racinage-Timestamp et X-Racinage-Signature.

Notes developpeurs

L implementation se trouve dans includes/api_functions.php, la route dans core/router.php, et le schema de production dans database/2026_07_05_api_connectors.sql. Pour tout changement incompatible, creez une nouvelle route /api/v2.