Skip to Content
Nouvelle documentation Applite - JS SDK, Dart SDK & REST API
JavaScript SDKMulti-ServiceModèles de Champs

Modèles de Champs (FieldTemplateApi)

Le module FieldTemplateApi permet de gérer les modèles de champs réutilisables pour vos services multi-service. Les modèles définissent la structure et les contraintes de validation des données collectées lors de la création de rendez-vous.

Accès : client.multiService.fieldTemplate

Méthodes

list

Liste tous les modèles de champs de l’application.

const response = await client.multiService.fieldTemplate.list({ appId: "app_id", apiKey: "user_api_key" }); // Afficher les modèles disponibles response.data.forEach(template => { console.log(`${template.label} (${template.type})`); });

create

Crée un nouveau modèle de champ.

// Créer un modèle de type SELECT avec options const response = await client.multiService.fieldTemplate.create({ appId: "app_id", apiKey: "user_api_key", ref: "delivery_zone", label: "Zone de livraison", description: "Sélectionnez votre zone", type: "SELECT", required: true, options: [ { label: "Zone 1 - Centre", value: "zone_1", price: 1000 }, { label: "Zone 2 - Périphérie", value: "zone_2", price: 2000 } ] }); console.log(`Modèle créé: ${response.data.id}`);
// Créer un modèle de type NUMBER avec contraintes const response = await client.multiService.fieldTemplate.create({ appId: "app_id", apiKey: "user_api_key", ref: "quantity", label: "Quantité", type: "NUMBER", min: 1, max: 50, required: true, multiplier: true // Le prix sera multiplié par cette valeur });

update

Met à jour un modèle de champ existant.

const response = await client.multiService.fieldTemplate.update({ appId: "app_id", apiKey: "user_api_key", id: "template_789", label: "Zone de livraison (mise à jour)", options: [ { label: "Zone 1 - Centre-ville", value: "zone_1", price: 1500 }, { label: "Zone 2 - Banlieue", value: "zone_2", price: 2500 }, { label: "Zone 3 - Éloignée", value: "zone_3", price: 4000 } ] }); console.log(`Modèle mis à jour: ${response.data.label}`);

delete

Supprime un modèle de champ.

const response = await client.multiService.fieldTemplate.delete({ appId: "app_id", apiKey: "user_api_key", id: "template_789" }); if (response.data.deleted) { console.log("Modèle supprimé avec succès"); }

La suppression d’un modèle ne supprime pas les champs des services qui l’utilisent.

Types de champs

TypeDescriptionOptions de validation
TEXTTexte libreminLength, maxLength, regex
NUMBERValeur numériquemin, max
SELECTListe à choix uniqueoptions
MULTIPLE_SELECTListe à choix multiplesoptions
EMAILAdresse emailValidation email intégrée
PHONENuméro de téléphoneValidation téléphone intégrée
DATEDate-
ADDRESSAdresse postale-

Multiplicateur de prix

Lorsque multiplier: true, la valeur du champ multiplie le prix de base du service :

Prix total = Prix de base × Valeur du champ multiplicateur + Somme des suppléments d'options

Gestion des erreurs

Code erreurDescription
template-not-foundLe modèle n’existe pas ou n’appartient pas à l’application
not-authorizedLa clé API n’a pas les droits nécessaires
invalid-requestParamètres manquants ou invalides
Last updated on