Ressources
SDKs et clients API
Générer un client API à partir de la spécification OpenAPI de Tulip.
Tulip ne fournit pas de SDK officiel pour le moment. L'API REST est conçue pour être appelée directement depuis n'importe quel langage via des requêtes HTTP standard.
Appels directs
Aucune dépendance n'est nécessaire. Utilisez le client HTTP de votre langage :
const response = await fetch('https://api.mytulip.io/v2/contracts', {
method: 'POST',
headers: {
'key': process.env.TULIP_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
uid: 'user_123',
contract_type: 'LCD',
options: ['break', 'theft'],
start_date: '2026-04-01T08:00:00.000Z',
end_date: '2026-04-03T18:00:00.000Z',
products: [{ product_id: 'prod_001', data: { user_name: 'Jean Dupont', product_marked: 'MARK-001' } }],
}),
});
const { contract } = await response.json();import requests
import os
response = requests.post(
'https://api.mytulip.io/v2/contracts',
headers={'key': os.environ['TULIP_API_KEY']},
json={
'uid': 'user_123',
'contract_type': 'LCD',
'options': ['break', 'theft'],
'start_date': '2026-04-01T08:00:00.000Z',
'end_date': '2026-04-03T18:00:00.000Z',
'products': [{'product_id': 'prod_001', 'data': {'user_name': 'Jean Dupont', 'product_marked': 'MARK-001'}}],
}
)
contract = response.json()['contract']$ch = curl_init('https://api.mytulip.io/v2/contracts');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'key: ' . getenv('TULIP_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'uid' => 'user_123',
'contract_type' => 'LCD',
'options' => ['break', 'theft'],
'start_date' => '2026-04-01T08:00:00.000Z',
'end_date' => '2026-04-03T18:00:00.000Z',
'products' => [['product_id' => 'prod_001', 'data' => ['user_name' => 'Jean Dupont', 'product_marked' => 'MARK-001']]],
]),
]);
$response = json_decode(curl_exec($ch), true);
$contract = $response['contract'];Génération d'un client typé
Si vous souhaitez bénéficier de types et d'autocomplétion, vous pouvez générer un client à partir de la spécification OpenAPI de Tulip :
https://docs.mytulip.io/openapi.jsonOutils recommandés
| Outil | Langages | Installation |
|---|---|---|
| OpenAPI Generator | 50+ langages (TypeScript, Python, PHP, Java, Go, etc.) | npm install @openapitools/openapi-generator-cli -g |
| openapi-typescript | TypeScript (types uniquement) | npx openapi-typescript https://docs.mytulip.io/openapi.json -o tulip-api.d.ts |
| openapi-fetch | TypeScript (client typé + fetch) | npm install openapi-fetch |
Exemple avec openapi-typescript + openapi-fetch
# 1. Générer les types
npx openapi-typescript https://docs.mytulip.io/openapi.json -o src/tulip-api.d.ts
# 2. Installer le client
npm install openapi-fetchimport createClient from 'openapi-fetch';
import type { paths } from './tulip-api';
const client = createClient<paths>({
baseUrl: 'https://api.mytulip.io/v2',
headers: { key: process.env.TULIP_API_KEY },
});
// Autocomplétion et validation de types
const { data, error } = await client.GET('/contracts/{contractId}', {
params: { path: { contractId: '01JQXK8VN4TZMW3' } },
});La combinaison openapi-typescript + openapi-fetch offre une expérience proche d'un SDK officiel : types générés automatiquement, autocomplétion dans l'IDE, et validation à la compilation — sans dépendance tierce spécifique à Tulip.
Que pensez-vous de cette page ?