API REST – Requêtes et interrogation #
Query — Interroger la base de données #
Cette opération permet d’effectuer une requête SELECT. La requête doit suivre un format spécifique et présente certaines limitations :
- Un seul type d’entité par requête (pas de JOIN)
- Maximum 100 résultats par requête (utilisez
LIMITetOFFSETpour paginer) - Les clauses
WHERE,ORDER BYetLIMITsont facultatives - La requête doit être URL-encodée
GET
https://apps.kafinea.com/{instance}/webservice.php
| Paramètre | Type | Requis | Description |
|---|---|---|---|
operation |
string | oui | Doit être query |
sessionName |
string | oui | Identifiant de session |
query |
string | oui | Requête SQL (URL-encodée) |
Exemple curl :
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=query&sessionName=YOUR_SESSION_ID&query=SELECT%20*%20FROM%20Contacts%20WHERE%20lastname%3D'Dupont'%20LIMIT%2010%20;"
Format de la requête #
SELECT * | ColumnsList | count(*)
FROM ModuleName
WHERE Conditions
ORDER BY ColumnsList
LIMIT Offset, Limit ;
Important : le point-virgule final est obligatoire.
Détails :
| Élément | Description |
|---|---|
ColumnsList |
Liste de noms de champs séparés par des virgules |
ModuleName |
Nom du module de l’entité |
Conditions |
Séparées par AND ou OR, traitées de gauche à droite. Pas de regroupement avec parenthèses. |
Offset |
Entier (facultatif) |
Limit |
Entier |
Types de conditions disponibles :
| Type | Syntaxe | Exemple |
|---|---|---|
| Opérateur | <, >, <=, >=, !=, = |
lastname = 'Dupont' |
| IN | IN(val1, val2, ...) |
industry IN('Tech', 'Finance') |
| LIKE | LIKE 'pattern' |
lastname LIKE '%dup%' |
Query Related — Interroger les listes connexes #
Cette opération permet d’obtenir les entités des listes connexes d’une entité spécifique. La requête suit le même format que query, mais sans point-virgule final.
GET
https://apps.kafinea.com/{instance}/webservice.php
| Paramètre | Type | Requis | Description |
|---|---|---|---|
operation |
string | oui | Doit être query_related |
sessionName |
string | oui | Identifiant de session |
id |
string | oui | ID Webservice de l’entité parente |
relatedLabel |
string | oui | Nom du module lié |
query |
string | oui | Requête SQL (URL-encodée, sans ; final) |
Exemple curl :
curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=query_related&sessionName=YOUR_SESSION_ID&id=21x3456&relatedLabel=Documents&query=SELECT%20*%20FROM%20Documents%20WHERE%20filesize%20%3E%2010000"
Exemple de requête :
SELECT * FROM Documents WHERE filesize > 10000