Racinage
English

Opérations

API et connecteurs

Derniere mise a jour 2026-07-30T20:30:47+00:00

Les offres Family, Max et Lifetime peuvent exposer des enregistrements familiaux sélectionnés avec des clés API CRUDSSF limitées et des webhooks sortants signes.

Modele d’accès

Activez l’API depuis Gérer > API et connecteurs. Un gestionnaire choisit les ressources, puis crée des clés API pour les outils externes. Les super-admins peuvent suivre l’usage, suspendre une API familiale, révoquer les clés et tester les webhooks depuis admin7839 > API et connecteurs.

  • Authentifier les requêtes avec Authorization: Bearer VOTRE_CLE_API.
  • Les clés sont hachées en base et la clé complète n’est affichée qu’une fois.
  • Chaque requête reste limitée aux ressources, opérations et au family_long_id sélectionnés.
  • Les clés’existantes restent limitées a lecture/recherche/tri/filtre. Accordez création, modification et suppression uniquement aux intégrations de confiance.
  • Le forfait Lite ne peut pas activer l’API.

Ressources et formats

La première 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 intégrations, csv pour les tableurs, html pour une vue imprimable et pdf pour un instantané léger. Les médias sont renvoyes comme URL; les documents protégés passent par le endpoint fichier authentifié avec la même clé.

Recherche, tri et filtre passent par la requête: ?search=Ada, ?sort=created_at&direction=asc et ?filter[gender]=F. La création 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 métadonnées; récupérez ensuite le record complet si votre intégration 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 publiques sur le port 443 lorsque les ressources activées changent. Les destinations privées, réservées, locales, non résolues ou redirigées sont refusées. Vérifiez la signature avec le secret du webhook et l’en-tête 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.

API de messagerie connectée v1

Racinage Free utilise une autorisation d’appareil dans le navigateur. L’application Windows ne reçoit jamais le mot de passe hébergé, le code à deux facteurs, les identifiants de base de données ni la session générale du compte. L’utilisateur valide l’appareil sur racinage.com, puis le client reçoit un accès limité de courte durée et un jeton de renouvellement rotatif.

  • Les routes utilisent des identifiants opaques, des révisions, des curseurs UTC, des clés d’idempotence, des téléversements reprenables et un flux SSE de récupération.
  • Le client chiffre l’historique mis en cache et la file hors ligne ordonnée de textes et fichiers pour l’utilisateur Windows actuel.
  • Chaque reconnexion vérifie à nouveau l’état du compte, le quota, les accès, les blocages sociaux et la politique des pièces jointes. Les refus restent visibles comme conflits.
  • La déconnexion révoque le jeton de l’appareil et retire son jeton protégé du profil Windows.

Notes développeurs

L’implémentation se trouvé 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, créez une nouvelle route /api/v2.