C'est dans le workflow que l'on va pouvoir procéder à l'enregistrement dans un agenda, pour prendre, annuler ou encore déplacer une ou plusieurs réservations, grâce à une action webservice.

Enregistrer un rendez-vous ou une inscription

L'action webservice doit être configurée en POST. L'URL à utiliser dans cet appel, en considérant que le champ présentant le choix avait comme identifiant event, sera :

{{ form_var_event_fillslot_url }}.

L'appel webservice doit inclure les «â€ŻDonnées à envoyer dans le corps de la requête » suivantes :

Clef Valeur  Description
label {{ form_name }} Le libellé qui sera affiché dans les plages réservées dans les agendas en vue back-office
user_first_name variable du formulaire ou 
de l'utilisateur connecté

Prénon de l'usager qui, s'il est défini viendra s'afficher dans la plage réservée à la suite de label

user_last_name idem Nom de l'usager qui, s'il est défini viendra s'afficher dans la plage réservée à la suite de label
user_email idem L’adresse électronique de l’usager, nécessaire pour que les rappels par email fonctionnent.
user_phone_number idem Le numéro de téléphone mobile de l’usager, nécessaire pour que les rappels par SMS fonctionnent.
backoffice_url {{ form_url_backoffice }} Permet d'ajouter un lien sur le libellé de la réservation dans l'agenda vers la demande en backoffice
user_display_label   Le libellé qui sera présenté à l'usager (par exemple «â€ŻRendez-vous passeport ») dans le cas de la génération d'un fichier ics (cf. le tutoriel dédié).
form_url   Optionnel mais permet de passer l'adresse de la demande, ce qui ajoutera un bouton "Modifier ou annuler le rendez-vous" dans les courriels de rappel.
cancel_callback_url   Optionnel mais à utiliser pour permettre l'annulation depuis l'agenda.
waiting_list_callback_url   Optionnel mais à utiliser pour permettre le passage d'un événement de la liste d'attente à la liste principale depuis l'agenda
Il est possible d'ajouter n'importe quel couple donnée/valeur dans l'appel webservice. La donnée pourra être utilisée ensuite pour configurer un filtre dans l'écran de pointage. Par exemple, si j'utilise regime: "végétarien", je pourrais dans les paramètres de l'écran de pointage indiquer regime comme filtre. Cela permettra d'avoir dans l'écran de pointage un bouton radio pour chaque valeur associée à la donnée regime (Végétarien, Allergique, etc.). Ces boutons radio permettent de n'afficher que les réservations concernées.

L'appel ne doit pas reprendre intégralement  les données de la demande (l'option « Envoyer les données du formulaire » doit rester décochée).

Attribuer un identifiant à l'appel webservice, par exemple «â€Żreservation », permettra d'utiliser les variables {{ form_workflow_wscall_reservation_response_* }} qui contiennent de nombreuses informations utiles (regardez la vue inspect d'une demande pour les voir toutes).

Annuler un rendez-vous ou une inscription

L'action webservice permettant d'annuler un enregistrement dans l'agenda se configure en POST avec l'URL :

{{ form_workflow_wscall_reservation_response_api_cancel_url }}

L'annulation ainsi configurée pourra être déclenchée par l'usager ou l'agent en fonction des choix faits dans le workflow, voir en exemple le workflow « Prise de rendez-vous » sur le catalogue des démarches.

On peut également permettre aux agents d'annuler un rendez-vous depuis l'agenda, mais cela nécessite une configuration différente et plus poussée du workflow.

Modifier un rendez-vous ou une inscription

La modification d'un enregistrement est en réalité une action d'annulation de l'enregistrement existant et une action de création d'un nouvel enregistrement. Il est tout à fait possible de faire cela avec 2 actions webservices séparés en utilisant les deux appels vu précédemment.

Mais il est possible d'utiliser un seul appel pour faciliter les choses : il fera à la fois l'annulation et le nouvel enregistrement comme sur le workflow « Prise de rendez-vous » sur le catalogue. Dans notre exemple, nous avons stocké l'identifiant du rendez-vous existant dans une donnée de traitement {{ form_var_id_rdv }}, et nous exposons la possibilité de changer l'enregistrement via une action formulaire dans le workflow qui nous donne une variable {{ form_workflow_form_IDENTIFIANT-FORMULAIRE_var_IDENTIFIANT-CHAMP-EVENT_api_fillslot_url }}.

L'action webservice est utilisée à la fois pour faire le premier enregistrement et le modifier. Elle se configure en post comme suit :

  • URL : {% firstof form_workflow_form_IDENTIFIANT-FORMULAIRE_var_IDENTIFIANT-CHAMP-EVENT_api_fillslot_url form_var_IDENTIFIANT-CHAMP-EVENT_api_fillslot_url %}
  • backoffice_url : {{form_url_backoffice|safe}}
  • cancel_booking_id : {{form_var_id_rdv|default:""}}
  • label : {{form_name|safe}}
  • user_name : {{form_user_display_name|safe}}

Aller plus loin

Un paramétrage plus avancé du workflow est possible pour faire plusieurs inscriptions d'un coup, gérer les erreurs, annuler les rendez-vous directement depuis l'agenda ou encore gérer une liste d'attente.

Vous n'avez pas trouvé ce que vous cherchez ?

Une suggestion ? Écrivez-nous !

Proposez une amélioration pour la documentation

Dernière mise à jour le 07/10/2026 14:52