Aller au contenu principal

Tulip API (v2)

Download OpenAPI specification:Download

Renters

Lister les loueurs

Ce endpoint permet de récupérer la liste des loueurs disponibles.

Authorizations:
Auth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Ajouter un loueur

Ce endpoint permet d’ajouter un loueur à une clé API existante.

Authorizations:
Auth
Request Body schema: application/json
string

Responses

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
{
  • "status": "success"
}

Récupérer un loueur

Ce endpoint permet de récupérer les informations d'un loueur spécifique.

Authorizations:
Auth
path Parameters
renterId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "renter": {
    }
}

Products

Lister les produits

Ce endpoint permet de récupérer la liste des produits disponibles.

Authorizations:
Auth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Créer un produit

Ce endpoint permet de créer un nouveau produit.

Authorizations:
Auth
Request Body schema: application/json
uid
required
string <uuid>

Unique identifier for the product

product_type
required
string (ProductType)
Enum: "bike" "wintersports" "watersports" "event" "high-tech" "small-tools"
title
required
string
description
string
required
object
purchased_date
string <date-time>
value_excl
required
number <decimal> (ProductValueExcl)

Prix du matériel en excluant les taxes

Responses

Request samples

Content type
application/json
{
  • "uid": "07cc67f4-45d6-494b-adac-09b5cbc7e2b5",
  • "product_type": "bike",
  • "title": "string",
  • "description": "string",
  • "data": {
    },
  • "purchased_date": "2019-08-24T14:15:22Z",
  • "value_excl": 1000
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "product": {
    }
}

Récupérer un produit

Ce endpoint permet de récupérer les informations d’un produit spécifique.

Authorizations:
Auth
path Parameters
productId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "product": {
    }
}

Mettre à jour un produit

Ce endpoint permet de mettre à jour un produit existant.

Authorizations:
Auth
path Parameters
productId
required
string
Request Body schema: application/json
uid
string <uuid>

Unique identifier for the product

product_type
string (ProductType)
Enum: "bike" "wintersports" "watersports" "event" "high-tech" "small-tools"
title
string
description
string
object
purchased_date
string <date-time>
value_excl
number <decimal> (ProductValueExcl)

Prix du matériel en excluant les taxes

Responses

Request samples

Content type
application/json
{
  • "uid": "07cc67f4-45d6-494b-adac-09b5cbc7e2b5",
  • "product_type": "bike",
  • "title": "string",
  • "description": "string",
  • "data": {
    },
  • "purchased_date": "2019-08-24T14:15:22Z",
  • "value_excl": 1000
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "product": {
    }
}

Supprimer un produit

Ce endpoint permet de supprimer un produit.

Authorizations:
Auth
path Parameters
productId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "success"
}

Contracts

Récupérer un ensemble de contrats

Ce endpoint permet de récupérer un ensemble de contrats

Authorizations:
Auth
query Parameters
uid
required
string (UserId)
Examples: uid=A1234567890

L'identifiant unique de l'utilisateur

skip
number (PaginationSkip)

Le nombre de résultats à ignorer

limit
number (PaginationLimit)

Le nombre de résultats à retourner

test
boolean (ContractTest)
Examples: test=true

Indique si le contrat est en test.

  • true: Le contrat est en test
  • false: Le contrat est en production

Responses

Response samples

Content type
application/json
{
  • "contracts": [
    ],
  • "status": "success",
  • "execution_id": "1234567890"
}

Créer un contrat

Ce endpoint permet de créer un contrat. Si le paramètre preview est à true, ceci ne créera pas le contrat mais retournera un contrat prévisualisé.

Authorizations:
Auth
query Parameters
preview
boolean (Preview)
Examples: preview=false

Prévisualisation d'une requête.

  • true : Prévisualisation de la requête sans modification des données
  • false : Prévisualisation de la requête avec modification des données

Par défaut la valeur est false

Cette fonctionnalité peut être utilisée pour consulter une tarification sans créer de contrat

Request Body schema: application/json
uid
required
string (UserId)

L'identifiant unique de l'utilisateur

start_date
string <ISO8601 AAAA-MM-JJTHH:MM:SS,ss-/+FF:ff> (Date)

Une date au format ISO 8601

end_date
required
string <ISO8601 AAAA-MM-JJTHH:MM:SS,ss-/+FF:ff> (Date)

Une date au format ISO 8601

contract_type
required
string (ContractType)
Enum: "LCD" "LMD" "LLD"

Le type de contrat.

  • LCD: Le contrat est un contrat de location courte durée
  • LMD: Le contrat est un contrat de location moyenne durée
  • LLD: Le contrat est un contrat de location longue durée
options
required
Array of strings (ContractOption)
Items Enum: "assistance" "assistance_standard" "assistance_premium" "break" "company" "home_to_work" "individual" "ia" "loa" "pro" "rc" "sharing" "theft" "transporter" "no_deductible" "client_theft"
object (ContractCompany)

Informations sur la société associée au contrat.

La compagnie est optionnelle mais requise si le contrat est de type LLD ou LMD > 5 mois et doit être renseignée dans les options

object (ContractIndividual)

Informations sur le client associé au contrat

L'individu est optionnelle mais requise si le contrat est de type LLD ou LMD > 5 mois et doit être renseignée dans les options

test
boolean (ContractTest)

Indique si le contrat est en test.

  • true: Le contrat est en test
  • false: Le contrat est en production
required
Array of ProductDefinedInBody (object) or ProductFromCatalog (object)

Responses

Request samples

Content type
application/json
Example
{
  • "contract_type": "LLD",
  • "uid": "qBaWdy6r3Lc3GkXTn374dFrnoN22",
  • "start_date": "2022-11-24T15:01:54.747Z",
  • "end_date": "2023-11-24T15:01:54.747Z",
  • "options": [
    ],
  • "products": [
    ],
  • "company": {
    }
}

Response samples

Content type
application/json
{
  • "contract": {
    },
  • "status": "success",
  • "execution_id": "1234567890"
}

Récupérer un contrat

Ce endpoint permet de récupérer un contrat

Authorizations:
Auth
path Parameters
contractId
required
string (ContractId)
Examples: 01CFV26E8TS0U

L'identifiant unique du contrat

Responses

Response samples

Content type
application/json
{
  • "contract": {
    },
  • "status": "success",
  • "execution_id": "1234567890"
}

Résiler un contrat

Ce endpoint permet de résilier ou annuler un contrat. Si le paramètre preview est à true, ceci ne résiliera pas le contrat mais retournera un contrat prévisualisé.

Si le contrat a démarré depuis peu, il sera annulé.

Authorizations:
Auth
path Parameters
contractId
required
string (ContractId)
Examples: 01CFV26E8TS0U

L'identifiant unique du contrat

query Parameters
preview
boolean (Preview)
Examples: preview=false

Prévisualisation d'une requête.

  • true : Prévisualisation de la requête sans modification des données
  • false : Prévisualisation de la requête avec modification des données

Par défaut la valeur est false

Cette fonctionnalité peut être utilisée pour consulter une tarification sans créer de contrat

Request Body schema: application/json
reason
required
string (TerminateContractReason)

Les raisons de résiliation

end_date
string <ISO8601 AAAA-MM-JJTHH:MM:SS,ss-/+FF:ff>

La date de fin du contrat. Si non fournie, le contrat sera résilié au moment de la résiliation.

Vous pouvez également fournir une date de fin pour le contrat, ce qui permet de résiler le contrat à une date future.

La date ne peut être supérieure à la date de fin du contrat.

Responses

Request samples

Content type
application/json
{
  • "reason": "Le client a changé d'avis, le contrat n'est plus nécessaire, etc.",
  • "end_date": "2025-01-01T00:00:00.000Z"
}

Response samples

Content type
application/json
{
  • "contract": {
    },
  • "status": "success",
  • "execution_id": "1234567890"
}

Mettre à jour un contrat

Ce endpoint permet de mettre à jour un contrat. Si le paramètre preview est à true, ceci ne mettra pas à jour le contrat mais retournera un contrat prévisualisé.

Authorizations:
Auth
path Parameters
contractId
required
string (ContractId)
Examples: 01CFV26E8TS0U

L'identifiant unique du contrat

query Parameters
preview
boolean (Preview)
Examples: preview=false

Prévisualisation d'une requête.

  • true : Prévisualisation de la requête sans modification des données
  • false : Prévisualisation de la requête avec modification des données

Par défaut la valeur est false

Cette fonctionnalité peut être utilisée pour consulter une tarification sans créer de contrat

Request Body schema: application/json
start_date
string <ISO8601 AAAA-MM-JJTHH:MM:SS,ss-/+FF:ff>

La date de début du contrat. Si non fournie, la date de début du contrat sera inchangée.

La date ne peut être supérieure à la date de fin du contrat.

Si le contrat a démarré depuis plus de 1h, la date de début ne peut être modifiée.

end_date
string <ISO8601 AAAA-MM-JJTHH:MM:SS,ss-/+FF:ff>

La date de fin du contrat. Si non fournie, la date de fin du contrat sera inchangée.

La date de fin ne peut pas être inférieure ou supérieure à la durée du contrat type.

object

Les produits du contrat. Si non fourni, les produits du contrat seront inchangés.

La modification d'un produit crée un nouveau produit, l'ancien produit aura sont statut has_been_replaced et contiendra l'identifiant (ContractProductId) dans la propriété replaced_by du nouveau produit.

object

Les informations de l'entreprise. Si non fourni, les informations de l'entreprise seront inchangées.

Si le contrat a commencé depuis plus de 1h, cette propriété ne peuvent être modifiées.

object

Les informations du particulier. Si non fourni, les informations du particulier seront inchangées.

Si le contrat a commencé depuis plus de 1h, cette propriété ne peuvent être modifiées.

Responses

Request samples

Content type
application/json
Example
{
  • "products": {
    }
}

Response samples

Content type
application/json
{
  • "contract": {
    },
  • "status": "success",
  • "execution_id": "1234567890"
}

Ajouter un produit à un contrat

Ce endpoint permet d'ajouter un produit à un contrat.

Authorizations:
Auth
path Parameters
contractId
required
string (ContractId)
Examples: 01CFV26E8TS0U

L'identifiant unique du contrat

query Parameters
preview
boolean (Preview)
Examples: preview=false

Prévisualisation d'une requête.

  • true : Prévisualisation de la requête sans modification des données
  • false : Prévisualisation de la requête avec modification des données

Par défaut la valeur est false

Cette fonctionnalité peut être utilisée pour consulter une tarification sans créer de contrat

Request Body schema: application/json
start_date
required
string <ISO8601 AAAA-MM-JJTHH:MM:SS,ss-/+FF:ff>

La date de début du nouveau produit.

La date ne peut être supérieure à la date de fin du contrat.

La date ne peut être inférieure à la date de début du contrat ou dans le passé.

required
Array of objects (ProductFromCatalog)

Responses

Request samples

Content type
application/json
{
  • "start_date": "2025-01-01T00:00:00.000Z",
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "contract": {
    },
  • "status": "success",
  • "execution_id": "1234567890"
}

Supprimer un produit d'un contrat

Ce endpoint permet de supprimer un produit d'un contrat.

Authorizations:
Auth
path Parameters
contractId
required
string (ContractId)
Examples: 01CFV26E8TS0U

L'identifiant unique du contrat

query Parameters
preview
boolean (Preview)
Examples: preview=false

Prévisualisation d'une requête.

  • true : Prévisualisation de la requête sans modification des données
  • false : Prévisualisation de la requête avec modification des données

Par défaut la valeur est false

Cette fonctionnalité peut être utilisée pour consulter une tarification sans créer de contrat

Request Body schema: application/json
reason
required
string (TerminateContractReason)

Les raisons de résiliation

end_date
string <ISO8601 AAAA-MM-JJTHH:MM:SS,ss-/+FF:ff>

La date de fin du contrat. Si non fournie, le contrat sera résilié au moment de la résiliation.

Vous pouvez également fournir une date de fin pour le contrat, ce qui permet de résiler le contrat à une date future.

La date ne peut être supérieure à la date de fin du contrat.

products
required
Array of strings (ContractProductId)

Responses

Request samples

Content type
application/json
{
  • "reason": "Le client a changé d'avis, le contrat n'est plus nécessaire, etc.",
  • "end_date": "2025-01-01T00:00:00.000Z",
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "contract": {
    },
  • "status": "success",
  • "execution_id": "1234567890"
}

Geo

Récupérer les villes par code postal

Ce endpoint permet de récupérer les villes par code postal.

Authorizations:
Auth
path Parameters
zipcode
required
string (GeoZipcode)
Examples: 75001

Le code postal

Responses

Response samples

Content type
application/json
{
  • "cities": [
    ],
  • "status": "success",
  • "execution_id": "1234567890"
}