L'API TimeTonic permet de récupérer les lignes d'une table en les filtrant directement dans la requête. Pour cela, vous utilisez la fonction getTableValues avec le paramètre filterRowIds (aussi appelé filtered rows).
Rendez-vous sur la page de la documentation API ici
Vous devez disposer d'une clé API (Sesskey) et des identifiants numériques des colonnes (field_id), récupérables via getTableValues. L'utilisateur associé à la clé doit avoir accès à la table visée.
Méthode 1 : réutiliser une vue déjà filtrée
La façon la plus simple consiste à pointer vers une vue existante de TimeTonic dont les filtres sont déjà configurés. Dans filterRowIds, passez l'identifiant de la vue comme valeur de applyViewFilters :
{ "applyViewFilters": 12345 }
- Quand j'ouvre une fiche dans Timetonic, l'URL contient l'ID de la vue
Méthode 2 : définir son propre filtre (filterGroup)
Si vous ne souhaitez pas dépendre d'une vue, passez dans applyViewFilters un objet filterGroup.
Un filterGroup contient un opérateur (and ou or) et une liste de filtres. Chaque filtre cible une colonne (field_id) avec un prédicat et une valeur (operand).
Exemple : récupérer les lignes dont la colonne 1735324 (de type date) est postérieure au 1ᵉʳ mai 2020.
{
"applyViewFilters": {
"filterGroup": {
"operator": "and",
"filters": [
{
"id": "tmpId",
"field_id": "1735324",
"filter_type": "date",
"json": { "predicate": "after", "operand": "2020-05-01" }
}
]
}
}
}
Les balises
filterGroup, filters et json sont obligatoires. La clé id est un identifiant arbitraire et unique du filtre : pour un filtre temporaire, utilisez la valeur tmpId. Le filter_type reprend le type de la colonne ciblée (voir le tableau de référence plus bas).
rowInfosLength: 0. Vérifiez les noms de balises et les identifiants de colonnes avant de conclure que la table ne contient aucune donnée.Méthode 3 : combiner ET et OU (groupes imbriqués)
Un filtre peut lui-même être un filterGroup : donnez-lui filter_type: "filterGroup" et son propre opérateur. Vous obtenez ainsi des combinaisons de conditions ET et OU à plusieurs niveaux.
Exemple : récupérer les lignes où (la colonne 5555 vaut 3654) ET (la colonne 12345 vaut 789 OU 543) ET (la colonne 3214 est postérieure ou égale à une date).
{
"applyViewFilters": {
"filterGroup": {
"operator": "and",
"filters": [
{
"id": "tmpId",
"field_id": 5555,
"filter_type": "int",
"json": { "predicate": "equals", "operand": 3654 }
},
{
"filter_type": "filterGroup",
"operator": "or",
"filters": [
{ "id": "tmpId", "field_id": 12345, "json": { "predicate": "is", "operand": "789" } },
{ "id": "tmpId", "field_id": 12345, "json": { "predicate": "is", "operand": "543" } }
]
},
{
"id": "tmpId",
"field_id": 3214,
"filter_type": "date",
"json": { "predicate": "on or after", "operand": "2026-01-01" }
}
]
}
}
}
Le groupe racine applique l'opérateur and à ses trois éléments. Le deuxième élément est lui-même un groupe avec l'opérateur or : ses deux conditions sont alternatives. Cette imbrication peut être répétée pour construire des logiques plus fines.
Référence : opérateurs et prédicats
Un opérateur relie les filtres d'un groupe. Un prédicat définit la condition appliquée à une colonne, selon son type.
Type de colonne et filter_type
Le filter_type à indiquer dépend du type de la colonne TimeTonic ciblée :
Principaux prédicats par famille
Le prédicat applicable dépend du filter_type de la colonne. Les principales familles :
offset (numéro de page) et maxRows (nombre de lignes par page). Le paramètre format: rows retourne les valeurs par ligne plutôt que par colonne.Aller plus loin
Obtenir les valeurs d'une table
Récupérez les colonnes et les lignes d'une table avec getTableValues.
Aller plus loin
Exemple de création, d'update et de recherche
Collection Postman prête à l'emploi pour getTableValues et createOrUpdateTableRow.
Aller plus loin
Présentation de l'API
Clé API, accès et principes de base de l'API TimeTonic.