Skip to Content
Nouvelle documentation Applite - JS SDK, Dart SDK & REST API
Dart 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.

final response = await client.multiService.fieldTemplate.list( ListFieldTemplatesParams( appId: 'app_id', apiKey: 'user_api_key', ), ); // Afficher les modèles disponibles for (final template in response.data) { print('${template.label} (${template.type.name})'); }

create

Crée un nouveau modèle de champ.

// Créer un modèle de type SELECT avec options final response = await client.multiService.fieldTemplate.create( CreateFieldTemplateParams( appId: 'app_id', apiKey: 'user_api_key', ref: 'delivery_zone', label: 'Zone de livraison', description: 'Sélectionnez votre zone', type: FieldType.select, required: true, options: [ FieldOptionInput( label: 'Zone 1 - Centre', value: 'zone_1', price: 1000, ), FieldOptionInput( label: 'Zone 2 - Périphérie', value: 'zone_2', price: 2000, ), ], ), ); print('Modèle créé: ${response.data.id}');
// Créer un modèle de type NUMBER avec contraintes final response = await client.multiService.fieldTemplate.create( CreateFieldTemplateParams( appId: 'app_id', apiKey: 'user_api_key', ref: 'quantity', label: 'Quantité', type: FieldType.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.

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

delete

Supprime un modèle de champ.

final response = await client.multiService.fieldTemplate.delete( DeleteFieldTemplateParams( appId: 'app_id', apiKey: 'user_api_key', id: 'template_789', ), ); print('Modèle supprimé');

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

Types de champs

EnumValeur JSONDescription
FieldType.textTEXTTexte libre
FieldType.numberNUMBERValeur numérique
FieldType.selectSELECTListe à choix unique
FieldType.multipleSelectMULTIPLE_SELECTListe à choix multiples
FieldType.emailEMAILAdresse email
FieldType.phonePHONENuméro de téléphone
FieldType.dateDATEDate
FieldType.addressADDRESSAdresse 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