Aller au contenu principal

SDK TypeScript et Python

En bref

Les SDK officiels Ontologie vous permettent d'integrer la plateforme dans vos applications sans manipuler directement l'API REST. Ils offrent un typage complet, une gestion automatique de l'authentification et des methodes intuitives pour chaque fonctionnalite.

Packages disponibles

PackageLangageDescription
@ontologie/sdk-clientTypeScriptClient HTTP avec typage complet
@ontologie/sdk-typesTypeScriptTypes et schemas partages
@ontologie/reactTypeScriptHooks React pour les applications frontend
@ontologie/oauthTypeScriptUtilitaires pour le flux OAuth2 PKCE
@ontologie/cliTypeScriptCLI et generateur de types depuis votre ontologie
ontologiePythonClient Python avec typage (Pydantic)

Installation

TypeScript

npm install @ontologie/sdk-client @ontologie/sdk-types

Python

pip install ontologie

Authentification

Les SDK gerent l'authentification automatiquement. Fournissez votre cle API et votre workspace ID :

TypeScript

import { createClient } from '@ontologie/sdk-client';

const client = createClient({
baseUrl: 'https://api.ontologie-growthsystemes.com',
apiKey: process.env.ONTOLOGIE_API_KEY,
workspaceId: process.env.ONTOLOGIE_WORKSPACE_ID,
});

Python

from ontologie import OntologieClient

client = OntologieClient(
api_key="votre_cle_api",
workspace_id="votre_workspace_id",
)

Exemples d'utilisation

Lister les entites

// TypeScript
const entities = await client.ontology.nodes.list({
limit: 50,
entityType: 'concept',
});

for (const entity of entities.data) {
console.log(entity.name, entity.entityType);
}
# Python
entities = client.nodes.list(limit=50, entity_type="concept")

for entity in entities.data:
print(entity.name, entity.entity_type)

Creer une entite

// TypeScript
const node = await client.ontology.nodes.create({
name: 'Mon Entite',
entityType: 'concept',
properties: { description: 'Description de l\'entite' },
});

Executer une commande

// TypeScript
const result = await client.commands.execute({
type: 'UPDATE_NODE',
payload: {
id: 'uuid-de-lentite',
name: 'Nouveau Nom',
},
expectedVersion: 3,
});

Hooks React

Le package @ontologie/react fournit des hooks pour integrer Ontologie dans vos applications React :

import { useNodes, useNode } from '@ontologie/react';

function EntityList() {
const { data: nodes, isLoading } = useNodes({ entityType: 'concept' });

if (isLoading) return <p>Chargement...</p>;

return (
<ul>
{nodes.map(node => (
<li key={node.id}>{node.name}</li>
))}
</ul>
);
}

Les hooks gerent automatiquement le cache, le rafraichissement et les etats de chargement.

Gestion des erreurs

Les SDK levent des exceptions typees pour faciliter le diagnostic :

import { OntologieError, AuthenticationError, ValidationError } from '@ontologie/sdk-client';

try {
await client.ontology.nodes.create({ name: '', entityType: 'concept' });
} catch (error) {
if (error instanceof ValidationError) {
console.error('Champs invalides :', error.details);
} else if (error instanceof AuthenticationError) {
console.error('Cle API invalide');
}
}

Documentation interactive

Le Portail Client propose une documentation interactive avec :

  • Sandbox : testez les endpoints directement dans le navigateur
  • Exemples par langage : snippets TypeScript et Python pour chaque endpoint
  • Schemas : schemas de requete et de reponse navigables

Acces : portal.growthsystemes.com

Voir aussi

Besoin d'aide ?

Ecrivez-nous : Support et contact.