URL de base
https://www.kolirys.fr/api/{TOKEN_USER}/{TOKEN_SECRET}/{COMMAND}
Automatisez la facturation et la gestion clients depuis votre ERP, votre site ou vos scripts. Authentification par jetons, réponses JSON, sans système de crédits.
L'API Kolirys expose un point d'entrée unique en POST. Chaque action est déclenchée par le nom de commande dans l'URL. Les réponses sont toujours renvoyées en JSON.
URL de base
https://www.kolirys.fr/api/{TOKEN_USER}/{TOKEN_SECRET}/{COMMAND}
Méthode
POST
Content-Type
application/json
Commandes disponibles
6 — clients, documents, PDF
Deux jetons privés identifient votre compte. Ils sont disponibles dans votre espace membre Kolirys : Mon compte → API (réservé aux comptes éligibles à l'API).
TOKEN_USER et TOKEN_SECRET doivent être transmis dans l'URL. Ne les exposez jamais côté client (navigateur, application mobile publique). Appelez l'API depuis votre serveur.
Le corps de la requête contient un objet JSON avec une clé options. Selon la commande, options est soit un identifiant numérique, soit une chaîne JSON sérialisée.
{
"options": "{\"typeDocument\":\"INVOICE\",\"lines\":[{\"TITLE\":\"Prestation\",\"PRICE_UNIT\":100,\"QUANTITY\":1,\"VAT\":20}]}"
}{
"options": 12345
}// Configuration $TOKEN_USER = 'VOTRE_TOKEN_USER'; $TOKEN_SECRET = 'VOTRE_TOKEN_SECRET'; $COMMAND = 'GetCustomers'; $OPTIONS = []; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://www.kolirys.fr/api/{$TOKEN_USER}/{$TOKEN_SECRET}/{$COMMAND}", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => json_encode([ 'options' => json_encode($OPTIONS) ]), CURLOPT_HTTPHEADER => ['Content-Type: application/json'], ]); $response = json_decode(curl_exec($curl), true); curl_close($curl); if ($response['Success']) { // Traitement OK } else { // $response['ErrorMessage'] }
Toutes les commandes renvoient la même enveloppe JSON. En cas de succès, Data contient le résultat métier.
{
"Success": true,
"ErrorMessage": null,
"Data": { ... }
}{
"Success": false,
"ErrorMessage": "Les jetons sont invalides.",
"ErrorType": "INVALID_TOKEN"
}| ErrorType | Signification |
|---|---|
INVALID_TOKEN | Jetons incorrects ou inconnus. |
NO_SUBSCRIBE | Compte non éligible à l'API. |
NO_OPTIONS | Paramètre options manquant. |
REQUEST_ERROR | Requête mal formée ou commande inconnue. |
REQUEST_GENERATE_DOCUMENT_FAILED | Paramètres document incomplets. |
REQUEST_GENERATE_DOCUMENT_TYPE_FAILED | typeDocument doit être INVOICE, QUOTATION ou CREDIT. |
REQUEST_CREATE_CUSTOMER_FAILED | Champs client obligatoires manquants. |
CUSTOMER_NO_EXIST | Client introuvable pour ce compte. |
DOCUMENT_NO_EXIST | Document introuvable ou non validé. |
Crée un devis, une facture ou un avoir avec ses lignes. Le document est enregistré en brouillon sauf si vous demandez la finalisation.
options| Champ | Type | Description |
|---|---|---|
typeDocument requis | string | INVOICE (facture), QUOTATION (devis), CREDIT (avoir) |
numberDocument | string | Numéro personnalisé (facultatif) |
customText1 / customText2 | string | Textes libres sur le document |
customerID | int | ID d'un client existant |
finalizeDocument | bool | true pour valider et générer le PDF (défaut : false) |
sendToCustomer | bool | Envoi e-mail au client si document finalisé |
lines[] | array | Lignes du document (voir ci-dessous) |
lines[])| Champ | Description |
|---|---|
TITLE | Libellé / description |
REFERENCE | Référence article |
PRICE_UNIT | Prix unitaire HT |
QUANTITY | Quantité |
DISCOUNT | Remise en % |
VAT | Taux de TVA en % |
TYPE | 1 = prestation de service · 2 = vente de marchandise |
{
"typeDocument": "INVOICE",
"numberDocument": "F-2026-0042",
"customerID": 23,
"finalizeDocument": false,
"lines": [
{
"TITLE": "Main d'œuvre peinture",
"REFERENCE": "MO-001",
"PRICE_UNIT": 34.95,
"QUANTITY": 12,
"DISCOUNT": 10,
"VAT": 20,
"TYPE": 1
}
]
}Data{
"UrlDocument": "https://www.kolirys.fr/document/create/invoice",
"ID": 98765,
"Generated": false,
"Sended": false,
"ErrorsGeneration": null
}Crée un client particulier ou professionnel dans votre carnet d'adresses Kolirys.
options| Champ | Description |
|---|---|
typeCustomer requis | 1 = particulier · 2 = professionnel |
firstName / lastName | Obligatoires si particulier |
companyName / companySiret | Obligatoires si professionnel |
mail, phone, adress, zip, city, country | Facultatifs |
tvaNumber | Numéro de TVA intracommunautaire (facultatif) |
{
"typeCustomer": 2,
"companyName": "Acme SARL",
"companySiret": "12345678900012",
"mail": "contact@acme.fr",
"city": "Lyon"
}Data{ "ID_Customer": 456 }Liste tous vos clients, avec filtres de recherche optionnels (correspondance partielle).
options facultatifFiltres disponibles : firstName, lastName, companyName, companySiret, mail, phone, adress, zip, city, country, typeCustomer, tvaNumber.
{ "mail": "@acme.fr" }Data{
"Customers": [
{
"id": 456,
"firstName": null,
"lastName": null,
"companyName": "Acme SARL",
"mail": "contact@acme.fr",
"typeCustomer": 2
}
]
}Met à jour les informations d'un client existant.
options| Champ | Description |
|---|---|
customer_id requis | Identifiant du client à modifier |
| Autres champs client | Seuls les champs fournis sont mis à jour |
{
"customer_id": 456,
"phone": "06 12 34 56 78",
"city": "Paris"
}{ "Success": true, "Data": null }Supprime définitivement un client à partir de son identifiant.
optionsIdentifiant numérique du client (ex. : 456).
{ "options": 456 }Retourne l'URL publique du PDF d'un document déjà validé.
optionsIdentifiant numérique du document (ex. : 98765).
Data{
"URL": "https://www.kolirys.fr/uploads/documents/...",
"TIMESTAMP_DOCUMENT": "2026-06-11",
"NUMBER_DOCUMENT": "F-2026-0042",
"TYPE_DOCUMENT": "invoice"
}