TulipTulip Docs
Démarrage rapide

Conventions API

Formats de données, authentification, géolocalisation, pagination, structure des réponses et codes HTTP.

Authentification

Toutes les requêtes vers l'API Tulip nécessitent une clé API transmise via le header key.

curl -X GET https://api.mytulip.io/v2/contracts \
  -H "key: YOUR_API_KEY" \
  -H "Content-Type: application/json"

Il n'y a pas de token Bearer. L'authentification repose uniquement sur le header key. Consultez la page Authentification pour obtenir vos clés sandbox et production.

URL de base

Toutes les requêtes sont faites sur :

https://api.mytulip.io/v2

Format des dates

Toutes les dates sont au format ISO 8601 en UTC :

2024-01-15T14:30:00.000Z

Le suffixe Z indique UTC. Toutes les dates retournées par l'API sont en UTC.

Pays supportés

L'API Tulip supporte les pays suivants, identifiés par leur code ISO 3166-1 alpha-2 (2 lettres) :

CodePays
FRFrance métropolitaine
BEBelgique
ITItalie
RELa Réunion

Le champ country utilise ces codes dans les objets company, individual et les requêtes Géo.

Le code RE désigne La Réunion. Les codes postaux réunionnais commencent par 974.

Normalisation des villes

Les noms de villes doivent être transmis dans un format normalisé en majuscules, tel que retourné par l'API Géo.

FormatExemple
CorrectPARIS-1ER-ARRONDISSEMENT
CorrectLYON-2EME-ARRONDISSEMENT
CorrectSAINT-DENIS
IncorrectParis
Incorrectparis 1er
IncorrectSaint Denis

L'API rejette les noms de villes non normalisés. Utilisez toujours l'API Géo pour récupérer le nom normalisé avant de l'envoyer dans vos requêtes.

Validation ville / code postal

La validation des couples ville + code postal est effectuée contre la base de données Géo de Tulip. En cas de valeur invalide :

Entreprise (company) :

CodeDescription
1106Code postal manquant ou invalide
1107Ville manquante ou invalide
1108Pays manquant ou invalide

Particulier (individual) :

CodeDescription
1403Code postal manquant
1407Code postal invalide
1404Ville manquante
1408Ville invalide
1406Pays manquant
1409Pays invalide

API Géo

L'API Géo permet de récupérer les noms de villes normalisés et de valider les codes postaux. Deux endpoints sont disponibles — sans authentification.

Recherche par pays et code postal

curl -X GET https://api.mytulip.io/v2/geo/FR/75001

Retourne les villes correspondant à un code postal dans un pays donné :

{
  "success": true,
  "data": [
    {
      "city": "PARIS-1ER-ARRONDISSEMENT",
      "zipcode": "75001",
      "country": "FR"
    }
  ]
}

Suggestions de villes

curl -X GET "https://api.mytulip.io/v2/geo/suggestions?query=saint-den"

Retourne des suggestions avec un score de confiance, utile pour l'auto-complétion :

{
  "success": true,
  "data": {
    "cities": [
      {
        "ville": "SAINT-DENIS",
        "zipcode": "93200",
        "confidence": 0.95
      },
      {
        "ville": "SAINT-DENIS",
        "zipcode": "97400",
        "confidence": 0.90
      }
    ]
  }
}

L'endpoint de suggestions est idéal pour implémenter une auto-complétion côté client. Le champ confidence (de 0 à 1) indique la pertinence du résultat.

Structure des réponses

Succès (format standard)

{
  "success": true,
  "data": {
    "id": "claim_abc123",
    "status": "open",
    "created_at": "2024-01-15T14:30:00.000Z"
  }
}

Succès (format contrats)

Les endpoints de contrats utilisent un format spécifique avec status et execution_id :

{
  "status": "success",
  "execution_id": "exec_7f3a2b9e",
  "contract": {
    "cid": "01CFV26E8TS0U",
    "uid": "1b0b2b3b4b5b",
    "status": "open",
    "contract_type": "LCD"
  }
}

L'execution_id est un identifiant unique généré pour chaque appel API. Communiquez-le au support Tulip pour faciliter le diagnostic d'un problème.

Erreur

{
  "success": false,
  "error": {
    "code": 1050,
    "message": "The contract started more than 4 hours ago."
  }
}

Les messages d'erreur sont toujours en anglais. Consultez le guide des erreurs pour la liste complète.

Pagination

Les endpoints de liste supportent la pagination par offset :

ParamètreTypeDescription
limitnumberNombre de résultats par page (défaut : 20, max : 100)
offset ou skipnumberNombre de résultats à ignorer
curl -X GET "https://api.mytulip.io/v2/claims?userId=user_123&limit=10&offset=20" \
  -H "key: YOUR_API_KEY"

La réponse inclut les métadonnées de pagination :

{
  "success": true,
  "data": [...],
  "pagination": {
    "total": 45,
    "offset": 20,
    "limit": 10
  }
}

Types de contenu

DirectionContent-Type
Requêtes (JSON)application/json
Upload de documentsmultipart/form-data
Réponsestoujours application/json

Codes HTTP

CodeSignificationAction recommandée
200Succès
201Ressource créée
400Erreur de validationConsultez error.code et error.message
401Clé API manquante ou invalideVérifiez le header key
403Permissions insuffisantes (code 98888)Vérifiez les droits de votre clé API
404Ressource non trouvéeVérifiez l'identifiant
429Rate limit atteintRéessayez avec backoff exponentiel
500Erreur serveurRéessayez avec backoff ; contactez le support avec l'execution_id

Que pensez-vous de cette page ?

Sur cette page