API de rendez-vous
L’API de rendez-vous fournit des points de terminaison permettant d’interagir avec l’application de réservation de rendez-vous. Utilisez cette API pour réserver et replanifier des rendez-vous, vérifier les créneaux de rendez-vous disponibles et extraire les détails de configuration de réservation de rendez-vous.
Avant d’utiliser cette API, la configuration de Prise de rendez-vous et la configuration de service doivent être configurées. En outre, une tâche pour laquelle le rendez-vous est pris doit déjà exister. Pour en savoir plus, consultez Configuring Appointment Booking.
L’API de rendez-vous nécessite le module d’extension Prise de rendez-vous (com.snc.appointment_booking) et est fournie dans l’espace de noms sn_apptmnt_booking . Pour accéder à cette API, vous devez disposer du rôle snc_internal.
Rendez-vous : GET /sn_apptmnt_booking/appointment/calendar
Renvoie la plage horaire pour laquelle vous pouvez prendre rendez-vous. Les résultats de retour respectent le délai et le nombre maximal de dates futures pouvant être réservées configurés dans la configuration du service de réservation de rendez-vous.
Pour plus d’informations sur la configuration des délais et des dates futures de réservation maximales, reportez-vous à la section Create or modify an application configuration for Appointment Booking.
Vous devez disposer du rôle snc_internal ou snc_external pour accéder à ce point de terminaison.
Format d'URL
URL versionnée : /api/sn_apptmnt_booking/{api_version}/appointment/calendar
URL par défaut : /api/sn_apptmnt_booking/appointment/calendar
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| catalog_id | Requis. Sys_id du créateur d’enregistrement configuré avec une configuration de service de réservation de rendez-vous. Table : Créateur d’enregistrement [sc_cat_item_producer] Type de données : chaîne |
| emplacement | Requis. Sys_id du lieu du rendez-vous. Table : Emplacement [cmn_location] Type de données : chaîne |
| opened_for | Requis. Sys_id de l’utilisateur pour lequel le rendez-vous est réservé. Table : Utilisateur [sys_user] Type de données : chaîne |
| Nom | Description |
|---|---|
| Aucun |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 400 | Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de réponse
| Nom | Description |
|---|---|
| résultat | Informations concernant les résultats de la demande de point de terminaison. Type de données : objet |
| result.range_end | Fin de la plage dans laquelle les rendez-vous peuvent être réservés.
Type de données : chaîne Format : fuseau horaire du rendez-vous au format date/heure interne. |
| result.range_start | Début de la plage dans laquelle les rendez-vous peuvent être réservés.
Type de données : chaîne Format : fuseau horaire du rendez-vous au format date/heure interne. |
Demande cURL
L’exemple de code suivant montre comment appeler ce point de terminaison.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/calendar?catalog_id=e4c1116b3b810300ce8a4d72f3efc40f&location=32e8499cdb2d2200d75270f5bf9619d6&opened_for=6816f79cc0a8016401c5a33be04be441" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'
Résultat :
{
"result": {
"range_start": "2023-02-08 03:52:27",
"range_end": "2023-02-21 23:52:27"
}
}
Rendez-vous : GET /sn_apptmnt_booking/appointment/configuration
Renvoie la configuration définie dans une configuration de service de Prise de rendez-vous spécifiée.
En outre, elle renvoie les traductions et les préférences de date et d’heure de l’utilisateur requises pour afficher les créneaux sur les widgets de réservation de rendez-vous.
Vous devez disposer du rôle snc_internal ou snc_external pour accéder à ce point de terminaison.
Format d'URL
URL versionnée : /api/sn_apptmnt_booking/{api_version}/appointment/configuration
URL par défaut : /api/sn_apptmnt_booking/appointment/configuration
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| catalog_id | Requis. Sys_id du créateur d’enregistrement configuré avec la configuration du service de Prise de rendez-vous. Type de données : chaîne Table : Créateur d’enregistrement [sc_cat_item_producer] |
| Nom | Description |
|---|---|
| Aucun |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 400 | Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de réponse
| Nom | Description |
|---|---|
| résultat | Résultats de la demande de point de terminaison. Type de données : objet |
| résultat.actif | Marqueur indiquant si la configuration du service pour l’ID de catalogue associé est active. Valeurs possibles :
Type de données : booléennes |
| result.active_string | Représentation textuelle de l’état de la configuration de service pour l’ID de catalogue associé. Type de données : chaîne |
| result.advanced_calendar_view_portal | Marqueur indiquant si la vue de calendrier avancée s’affiche sur le portail ou affiche la vue de base. Pour plus d’informations sur la vue Calendrier avancée, reportez-vous à la section Create or modify an application configuration for Appointment Booking. Valeurs possibles :
Type de données : booléennes |
| result.auto_acceptance | Marqueur indiquant si le rendez-vous passe automatiquement à l’état Accepté. Valeurs possibles :
Type de données : booléennes |
| result.locale_language | Paramètre de langue de l’utilisateur. Type de données : chaîne Format : code de langue ISO 639.1 |
| result.service_config | Détails sur la configuration du service. Type de données : objet |
| result.service_config.active | Marqueur indiquant l’état actif de la configuration du service de Prise de rendez-vous. Valeurs possibles :
Type de données : booléennes |
| result.service_config.chaîne_active | Représentation textuelle de l’état de la configuration du service de réservation de rendez-vous. Type de données : chaîne |
| result.service_config.appointment_booking_config | Sys_id de la configuration du service Prise de rendez-vous pour l’ID de catalogue associé. Type de données : chaîne Table : Configuration de service de Prise de rendez-vous [sn_apptmnt_booking_service_config] |
| result.service_config.appointment_duration | Durée du rendez-vous. Type de données : chaîne Unité : Minutes |
| result.service_config.appointments_per_bookable_slot | Nombre de rendez-vous qui peuvent être réservés pour le créneau associé. Type de données : chaîne |
| result.service_config.bookable_days | Valeurs séparées par des virgules représentant les jours où les rendez-vous peuvent être réservés. Les jours sont représentés par des entiers où Lundi = 1 et Dimanche = 7. Type de données : chaîne |
| result.service_config.cancel_by_time | Durée minimale avant le début d’un rendez-vous pendant laquelle un utilisateur peut annuler le rendez-vous. Par exemple, si vous avez un rendez-vous réservé pour 13h00 et qu’il y a une heure d’annulation de 2 heures, vous devez annuler le rendez-vous au plus tard à 10h59. Format : Cette valeur est la différence de date et d’heure par rapport à « 1970-01-01 00:00:00 ». Ainsi, si la valeur renvoyée est « 1970-01-01 04:00:00 », cela signifie que la salle doit être annulée quatre heures avant le début de la réunion. Type de données : chaîne |
| result.service_config.default_timezone | Configuration du fuseau horaire dans lequel les rendez-vous sont réservés. Valeurs possibles :
Type de données : chaîne |
| result.service_config.enable_advanced_config | Marqueur indiquant si les configurations de prise de rendez-vous et les règles de prise de rendez-vous sont prises en compte lors de la prise de rendez-vous. Pour en savoir plus, consultez Create appointment booking advanced configuration. Valeurs possibles :
Type de données : booléennes |
| mappage result.service_config.champ_champ | Détails sur les variables de catalogue mappées à l’emplacement et aux valeurs de contact utilisées pour prendre rendez-vous. Type de données : objet |
| result.service_config.field_mapping.contact | Nom de la variable de catalogue qui contient la valeur de contact. Type de données : chaîne |
| result.service_config.mappage_champ.contactRPVariable | Détails sur les variables du catalogue d’emplacement, les données. Type de données : objet |
| result.service_config.mappage_champ.contactRPVariable.displayName | Nom d’affichage de la variable de catalogue de contacts. Type de données : chaîne |
| result.service_config.mappage_champ.contactRPVariable.label | Étiquette de la variable de catalogue de contacts. Type de données : chaîne |
| result.service_config.mappage_champ.contactRPVariable.name | Nom de la variable de catalogue de contacts. Type de données : chaîne |
| result.service_config.field_mapping.emplacement | Nom de la variable de catalogue qui contient la valeur d’emplacement. Type de données : chaîne |
| result.service_config.mappage_champ.locationRPVariable | Détails sur les variables du catalogue d’emplacement, les données. Type de données : objet |
| result.service_config.mappage_champ.emplacementRPVariable.displayName | Nom d’affichage de la variable de catalogue d’emplacement. Type de données : chaîne |
| result.service_config.mappage_champ.emplacementRPVariable.étiquette | Étiquette de la variable de catalogue d’emplacements. Type de données : chaîne |
| result.service_config.mappage_champ.locationRPVariable.name | Nom de la variable de catalogue de l’emplacement. Type de données : chaîne |
| result.service_config. future_bookable_max_days | Nombre maximal de jours dans le futur où un rendez-vous peut être réservé. Type de données : chaîne |
| result.service_config.délai_délai | Durée minimale avant le début d’un rendez-vous pendant laquelle un utilisateur peut réserver le rendez-vous. Par exemple, si vous souhaitez prendre rendez-vous à 13h00 avec un délai de 2 heures, vous devez prendre le rendez-vous au plus tard à 10h59. Format : Cette valeur est la différence de date et d’heure par rapport à « 1970-01-01 00:00:00 ». Ainsi, si la valeur retournée est « 1970-01-01 04:00:00 », cela signifie que la salle doit être réservée quatre heures avant le début de la réunion. Type de données : chaîne |
| result.service_config.obligatoire | Indicateur indiquant si le rendez-vous est obligatoire. Valeurs possibles :
Type de données : chaîne |
| result.service_config.use_slot_end_time_as | Indicateur indiquant quand un agent arrivera ou terminera le travail planifié pour le rendez-vous associé. Valeurs possibles :
Type de données : chaîne |
| result.service_config.durée_travail | Durée nécessaire pour travailler sur le rendez-vous. La durée du travail est configurée dans la configuration du service de réservation de rendez-vous. Pour en savoir plus, consultez Create or modify service configuration for Appointment Booking. Type de données : chaîne Unité : Minutes |
| result.task_table | Nom de la table pour laquelle le rendez-vous peut être réservé. Configuré dans la configuration du service de réservation de rendez-vous. Type de données : chaîne |
| résultat.traductions | Paires nom-valeur des traductions de texte utilisées par le widget de réservation de rendez-vous. Contient des valeurs traduites pour les actions, les messages, les jours et les mois. Type de données : objet |
| result.userDateFormatOptions | Décrit les options de format de date nécessaires pour afficher les objets de date JS. Ces valeurs sont définies dans des constantes de prise de rendez-vous qui ne sont pas modifiables. Type de données : objet |
| result.userDateFormatOptions.day | Format de date du jour. Type de données : chaîne Format : numérique (valeurs ou 1-31) |
| résultat.userDateFormatOptions.mois | Format de date du mois. Type de données : chaîne Format : court (valeurs le janvier, février, mars, etc.) |
| résultat.utilisateurDateFormatOptions.semaine | Format de date de la semaine. Type de données : chaîne Format : numérique (valeurs de 1 à 5) |
| résultat.userDateFormatOptions.weekday | Format de date du jour de la semaine. Type de données : chaîne Format : court (valeurs du lundi, du mardi, du mercredi, etc.) |
| résultat.utilisationRR | Valeur de la propriété sn_apptmnt_booking.use_read_replica_from_ui. Cette valeur définit s’il faut utiliser la base de données de réplication en lecture pour récupérer les créneaux de rendez-vous lorsque la requête est exécutée à partir de l’interface utilisateur. Valeurs possibles :
Type de données : booléennes |
| résultat.userTimeFormat | Décrit le format d’heure de l’utilisateur. L’utilisateur est la personne qui effectue la demande de point de terminaison. S’il est effectué via la plateforme, il s’agit d’un agent. S’il est effectué via le portail, il s’agit d’un client. Type de données : objet |
| résultat.formattempsutilisateur.type | Type de format d’heure. Valeurs possibles :
Type de données : chaîne |
| résultat.formattempsutilisateur.valeur | Format d’heure préféré, tel que « HH :mm :ss ». Type de données : chaîne |
| result.userTimeFormatOptions | Décrit les options de format d’heure nécessaires pour afficher les objets de temps JS. Ces valeurs sont définies dans les constantes de prise de rendez-vous qui ne peuvent pas être modifiées. Type de données : objet |
| résultat.userTimeFormatOptions.hour | Format pour heures. Format : numérique (valeurs 1 à 12) |
| résultat.userTimeFormatOptions.hourCycle | Format du cycle d’heures. La seule valeur possible est h23. |
| résultat.userTimeFormatOptions.minute | Format pour minutes. Format : numérique (valeurs comprises entre 1 et 60) |
| result.view_scale | Vue configurée dans la configuration du service. Valeurs possibles :
Type de données : chaîne |
Demande cURL
L’exemple de code suivant montre comment appeler ce point de terminaison.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/configuration?catalog_id=e4c1116b3b810300ce8a4d72f3efc40f" \
--request GET \
--header "Accept:application/json" \
--user ‘username':'password'
Réponse :
{
"result": {
"active": true,
"activeString": "true"
"view_scale": "day",
"auto_acceptance": true,
"task_table": "wm_order",
"advanced_calendar_view_portal": false,
"service_config": {
"appointment_booking_config": "deb1d2fd3b033200ce8a4d72f3efc4c2",
"future_bookable_max_days": "14",
"appointments_per_bookable_slot": "20",
"bookable_days": "1,2,3,4,5",
"active": true,
"activeString": "true",
"mandatory": "1",
"lead_time": "1970-01-01 04:00:00",
"cancel_by_time": "1970-01-01 04:00:00",
"appointment_duration": "120",
"default_timezone": "location",
"work_duration": "60",
"enable_advanced_config": true,
"field_mapping": {
"location": "location"
"opened_for": "contact",
"locationRPVariable": {
"name": "location",
"label": "Location",
"displayName": "location"
},
"contactRPVariable": {
"name": "contact",
"label": "Contact",
"displayName": "contact"
}
},
"use_slot_end_time_as": ""
},
"translations": {
"submit_btn_text": "Select",
"cancel_btn_text": "Cancel",
"calendar_prev_text": "Previous",
"select_appointment_calendar_text": "Select Appointment Calendar",
"calendar_next_text": "Next",
"previous_btn_text": "Previous day",
"next_btn_text": "Next day",
"date_input_placeholder_text": "Pick a date",
"show_calendar_btn_text": "Show Calendar",
"app_window_btn_text_start_time": "Start time",
"app_window_btn_text_end_time": "End time",
"appointment_window_aria_label_start_text": "Available appointment window ",
"no_appointment": "No appointments",
"time_zone": "Time zone",
"selected_window": "The window which has been selected is ",
"day_names": {
"1": "Monday",
"2": "Tuesday",
"3": "Wednesday",
"4": "Thursday",
"5": "Friday",
"6": "Saturday",
"7": "Sunday"
},
"days": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"daysShort": [
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
],
"daysMin": [
"Su",
"Mo",
"Tu",
"We",
"Th",
"Fr",
"Sa"
],
"months": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"monthsShort": [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
],
"today": "Today",
"clear": "Clear",
"language": "en",
"arrive_by_msg": "The agent will arrive within the selected slot."
},
"useRR": true,
"locale_language": "en",
"userTimeFormat": {
"value": "HH:mm:ss",
"type": "24hr"
},
"userDateFormatOptions": {
"weekday": "short",
"year": "numeric",
"month": "short",
"day": "numeric"
},
"userTimeFormatOptions": {
"hour": "numeric",
"minute": "numeric",
"hourCycle": "h23"
}
}
}
Rendez-vous : GET /sn_apptmnt_booking/appointment/execute_rule_conditions
Renvoie l’sys_id de la règle de configuration de service Prise de rendez-vous qui correspond à une sys_id de tâche spécifiée ou à un ensemble de données d’élément de catalogue spécifiées.
L’ID de tâche ou les données d’élément de catalogue transmis sont évalués par rapport aux règles définies pour une configuration de service. L’sys_id de la première règle pour laquelle ces conditions correspondent est renvoyée. Vous devez ensuite transmettre cette règle sys_id aux demandes de disponibilité ultérieures pour extraire les emplacements corrects, qui sont définis dans la règle.
Vous devez disposer du rôle snc_internal ou snc_external pour accéder à ce point de terminaison.
Format d'URL
URL versionnée : /api/sn_apptmnt_booking/{api_version}/appointment/execute_rule_conditions
URL par défaut : /api/sn_apptmnt_booking/appointment/execute_rule_conditions
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| ID catalogue | Requis. Sys_id du créateur d’enregistrement configuré avec la configuration du service de Prise de rendez-vous. Type de données : chaîne Table : Créateur d’enregistrement [sc_cat_item_producer] |
| otherEntrées | Requis si le taskId paramètre n’est pas spécifié. Paires nom-valeur des variables d’élément de catalogue à comparer aux règles définies pour une configuration de service. Par exemple : Type de données : objet |
| taskId | Requis si le otherInputs paramètre n’est pas spécifié. Sys_id de l’enregistrement de tâche pour lequel le rendez-vous est réservé. Situé dans la table de tâches pour laquelle le rendez-vous est réservé. Le catalogId correspond à une configuration de réservation de rendez-vous particulière et chaque configuration dispose d’une table de tâches sur laquelle le rendez-vous est réservé. Type de données : chaîne |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| Content-Type | Format de données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 400 | Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de réponse
| Nom | Description |
|---|---|
| résultat | Description des informations renvoyées par le point de terminaison. Type de données : objet |
| résultat.dedicatedCapacity | Marqueur indiquant si la règle associée dispose d’une capacité dédiée. Pour plus d’informations sur la capacité dédiée, reportez-vous à la section Create service configuration rules for a service configuration. Valeurs possibles :
Type de données : booléennes |
| résultat.futureMaxBookableDays | Nombre maximal de jours dans le futur pour lesquels un rendez-vous avec la règle de correspondance peut être réservé. Type de données : chaîne |
| result.ruleId | Sys_id de la règle de configuration du service Prise de rendez-vous qui correspond aux taskId paramètres OU otherInputs transmis dans la demande. Type de données : chaîne Table : Règle de configuration de service [sn_apptmnt_booking_config_rule] |
| result.ruleName | Nom de la règle qui correspondait aux paramètres transmis. Type de données : chaîne |
Demande cURL
L’exemple de code suivant montre comment utiliser le taskId paramètre pour effectuer la demande de comparaison de règles.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/execute_rule_conditions" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"catalogId\": \"e4c1116b3b810300ce8a4d72f3efc40f\",
\"taskId\": \"ce1f397c43b861105e0dbcba6ab8f298\"}" \
--user 'username':'password'
Réponse :
{
"result": {
"ruleId": "f7d5d98f437c21105e0dbcba6ab8f2fc",
"ruleName": "Priority 1 rule",
"dedicatedCapacity": true,
"futureMaxBookableDays": "14"
}
}
Demande cURL
L’exemple de code suivant montre comment utiliser le otherInputs paramètre pour effectuer la demande de comparaison de règles.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/execute_rule_conditions" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"catalogId\": \"e4c1116b3b810300ce8a4d72f3efc40f\",
\"otherInputs\": {
\"u_sn_point_of_sale_variable_set\": \"true\",
\"short_description\": \"Point-of-Sale Installation\",
\"contact\": \"6816f79cc0a8016401c5a33be04be441\",
\"description\": \"Install new point-of-sale system with cash tray\",
\"location\": \"32e8499cdb2d2200d75270f5bf9619d6\"
}
}" \
--user 'username':'password'
Réponse :
{
"result": {
"ruleId": " 1d1bb72b4334a1105e0dbcba6ab8f275",
"ruleName": "Lake View SC rule",
"dedicatedCapacity": false,
"futureMaxBookableDays": "21"
}
}
Rendez-vous : POST/sn_apptmnt_booking/rendez-vous/rendez-vous
Vous permet de réserver et de replanifier des rendez-vous pour une Gestion des services sur site tâche.
Pour plus d’informations sur les tâches, reportez-vous à Gestion des services sur site la section Configuring Appointment Booking.
Format d'URL
URL versionnée : /api/sn_apptmnt_booking/{api_version}/appointment/appointment
URL par défaut : /api/sn_apptmnt_booking/appointment/appointment
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| date de fin réelle | Requis. Date et heure de fin du créneau de rendez-vous dans le fuseau horaire du rendez-vous. Type de date : chaîne Format : AAAA-MM-jj HH :mm :ss |
| actualStartDate | Requis. Date et heure de début du créneau de rendez-vous dans le fuseau horaire du rendez-vous. Type de date : chaîne Format : AAAA-MM-jj HH :mm :ss |
| ID catalogue | Sys_id du créateur d’enregistrement configuré pour la configuration de service de Prise de rendez-vous. Si vous ne transmettez pas ce paramètre, le point de terminaison tentera de discerner ces informations à partir des taskId paramètres et taskTable . Si ce n’est pas le cas, le point de terminaison échoue et une erreur est renvoyée. Type de date : chaîne Table : champ Élément de catalogue de la table Configuration du service Prise de rendez-vous [sn_apptmnt_booking_service_config]. |
| endDateUTC | Requis. Date et heure de fin du créneau de rendez-vous dans le fuseau horaire UTC. Type de date : chaîne Format : AAAA-MM-jj HH :mm :ss |
| emplacement | Requis. Sys_id de l’enregistrement du lieu associé au rendez-vous. Type de date : chaîne Table : Emplacement [cmn_location] |
| openedFor | Requis. Sys_id de l’utilisateur pour lequel le rendez-vous est réservé. Type de date : chaîne Table : Utilisateur [sys_user] |
| replanifier | Requis. Marqueur indiquant si le rendez-vous est replanifié. Valeurs valides :
Type de données : booléennes |
| service_cofig_rule | Si le rendez-vous est pris selon une règle, l’sys_id de la règle de configuration de service. Type de date : chaîne Table : Règle de configuration de service [sn_apptmnt_booking_config_rule] |
| startDateUTC | Requis. Date et heure de début du créneau de rendez-vous dans le fuseau horaire UTC. Type de date : chaîne Format : AAAA-MM-jj HH :mm :ss |
| taskId | Requis. Sys_id de l’enregistrement de tâche pour lequel le rendez-vous est réservé. Type de date : chaîne Table : définie dans le taskTable paramètre. |
| taskTable | Requis. Nom de la table contenant l’enregistrement de tâche pour lequel le rendez-vous est réservé. Type de date : chaîne |
| fuseau horaire | Requis. Fuseau horaire à utiliser lors de la réservation ou de la mise à jour du créneau de rendez-vous spécifié. Format : format pays/ville ou région, tel que États-Unis/Est Type de date : chaîne |
| validate_request | Marqueur indiquant s’il faut valider la demande de rendez-vous. Si l’une des validations échoue, le point de terminaison échoue et renvoie un message d’erreur décrivant le problème. Les validations suivantes sont effectuées :
Valeurs valides :
Type de données : booléennes Valeur par défaut : false |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| Content-Type | Format de données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de réponse
| Nom | Description |
|---|---|
| résultat | Informations concernant les résultats de la demande de point de terminaison. Type de données : objet |
| résultat.données | Sys_id de l’enregistrement de rendez-vous qui a été créé ou replanifié. Type de données : chaîne |
| résultat.message | Message qui explique si la demande de rendez-vous a été planifiée ou a échoué. Par exemple, les réponses d’erreur peuvent inclure :
Type de données : chaîne |
| résultat.raison | Informations supplémentaires sur les résultats de la demande de rendez-vous. Type de données : chaîne |
| Résultat.Réussite | Marqueur indiquant si la demande a abouti. Valeurs possibles :
Type de données : booléennes |
Demande cURL
L’exemple suivant montre comment créer une réservation de rendez-vous pour une tâche dans la table Commande de travaux [wm_order].
curl "https://instance.servicenow.com/api/sn_apptmnt_booking/appointment/appointment" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"startDateUTC\": \"2023-02-01 20:00:00\",
\"endDateUTC\": \"2023-02-01 22:00:00\",
\"actualStartDate\": \"2023-02-01 15:00:00\",
\"actualEndDate\": \"2023-02-01 17:00:00\",
\"taskTable\": \"wm_order\",
\"location\": \"32e8499cdb2d2200d75270f5bf9619d6\",
\"catalogId\": \"e4c1116b3b810300ce8a4d72f3efc40f\",
\"openedFor\": \"ddce70866f9331003b3c498f5d3ee417\"
\"taskId\": \"ce1f397c43b861105e0dbcba6ab8f298\",
\"reschedule\": false,
\"service_configuration_rule\": \"\",
\"timezone\": \"US/Eastern\"
}" \
--user 'username':'password'
Réponse :
{
"result": {
"success": true,
"message": "Your appointment has been scheduled successfully.",
"reason": "Appointment created!",
"data": "7a5f393c43b861105e0dbcba6ab8f29f"
}
}
Rendez-vous : POST/sn_apptmnt_booking/rendez-vous/disponibilité
Renvoie les créneaux qui ont été configurés dans la configuration du service de Prise de rendez-vous ainsi que leur disponibilité.
Si des configurations avancées sont activées pour la configuration du service, le point de terminaison les respecte et renvoie les données conformément aux règles et à la configuration avancée. Vous pouvez également utiliser ce point de terminaison pour trouver le premier emplacement disponible en transmettant le paramètre ou get_next_available_day_data le get_next_available_slot paramètre dans le corps de la demande comme vrai.
Vous devez disposer du rôle snc_internal ou snc_external pour accéder à ce point de terminaison.
Format d'URL
URL versionnée : /api/sn_apptmnt_booking/{api_version}/appointment/availability
URL par défaut : /api/sn_apptmnt_booking/appointment/availability
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| catalog_id | Sys_id du créateur d’enregistrement configuré pour la configuration de service de Prise de rendez-vous. Si vous ne transmettez pas ce paramètre, le point de terminaison tentera de discerner ces informations à partir des taskId paramètres et task_table . Si ce n’est pas le cas, le point de terminaison échoue et une erreur est renvoyée. Type de données : chaîne Table : dans le champ Élément de catalogue de l’enregistrement connexe de la table Configuration du service Prise de rendez-vous [sn_apptmnt_booking_service_config]. |
| end_date | Requis. Date et heure de fin auxquelles récupérer les rendez-vous. Type de données : chaîne Format : fuseau horaire UTC et au format AAAA-MM-jj HH :mm :ss |
| fetch_days_slot | Marqueur indiquant s’il faut renvoyer le premier créneau disponible de chaque jour pour la plage de dates demandée. Valeurs valides :
Type de données : booléennes Valeur par défaut : false |
| full_day | Requis. Marqueur indiquant s’il faut retourner tous les rendez-vous pour la plage de dates spécifiée réussie, quelles que soient les valeurs de temps dans les dates de début et de fin. Valeurs valides :
Type de données : booléennes |
| get_next_available_slot | Marqueur indiquant s’il faut renvoyer le premier créneau de rendez-vous disponible avec la réponse, même s’il ne fait pas partie des paramètres et end_date des créneaux start_date transmis. Valeurs valides :
Type de données : booléennes Valeur par défaut : false |
| limite | Nombre maximum de rendez-vous à renvoyer. Type de données : nombre Valeur par défaut : valeur spécifiée dans la propriété sn_apptmnt_booking .max_appointments_ retournée ou 1000 si la propriété est vide. |
| emplacement | Requis. Sys_id de l’enregistrement du lieu associé au rendez-vous. Type de données : chaîne Table : Emplacement [cmn_location] |
| opened_for | Requis. Sys_id de l’utilisateur pour lequel le rendez-vous est réservé. Type de données : chaîne Table : Utilisateur [sys_user] |
| otherEntrées | Paires nom-valeur de toutes les autres valeurs nécessaires pour calculer la disponibilité dans la méthode scriptée. Ces valeurs sont généralement des variables d’éléments de catalogue. Toutefois, si vous personnalisez votre application de réservation, vous pouvez transmettre toutes les valeurs nécessaires à votre implémentation. Par exemple : Type de données : objet |
| service_config_rule | Sys_id de la règle de configuration de service à utiliser pour calculer les créneaux de rendez-vous et la disponibilité. Type de données : chaîne Table : Règle de configuration de service [sn_apptmnt_booking_config_rule] |
| start_date | Requis. Date et heure de début pour lesquelles récupérer les rendez-vous. Type de données : chaîne Format : fuseau horaire UTC et au format AAAA-MM-jj HH :mm :ss |
| taskId | Sys_id de l’enregistrement de tâche pour lequel le rendez-vous est réservé. Type de date : chaîne Table : définie dans le taskTable paramètre. |
| task_table | Requis. Nom de la table contenant l’enregistrement de tâche pour lequel le rendez-vous est réservé. Type de données : chaîne |
| use_read_replica | Marqueur indiquant s’il faut utiliser la réplication en lecture de la base de données lors de l’extraction des créneaux de rendez-vous et de leur disponibilité. Valeurs valides :
Valeur par défaut : false |
| vue | Requis. Point d’origine de la demande. Valeurs valides : (sensibles à la casse)
Type de données : chaîne |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| Content-Type | Format de données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 400 | Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de réponse
| Nom | Description |
|---|---|
| résultat | Détails sur les rendez-vous qui correspondent à la demande. Type de données : objet |
| résultat.disponibilité | Liste des créneaux de rendez-vous qui répondent à la demande spécifiée. Type de données : tableau d’objets |
| résultat.disponibilité.disponible | Marqueur indiquant si le créneau horaire associé est disponible. Valeurs possibles :
Type de données : booléennes |
| result.availability.end_date | Date et heure de fin du rendez-vous associé. Le fuseau horaire est basé sur la valeur du time_zone paramètre. Type de données : chaîne Format : JJ-MM-AAAA hh :mm :ss |
| result.availability.end_date_display | Affichez la date et l’heure de fin du rendez-vous associé. Le fuseau horaire est basé sur la valeur du time_zone_display_value paramètre. Type de données : chaîne Format : format de date/heure de l’utilisateur demandeur. |
| result.availability.end_dateUTC | Date et heure de fin du rendez-vous associé (heure UTC). Type de données : chaîne Format : JJ-MM-AAAA hh :mm :ss |
| result.availability.start_date | Date et heure de début du rendez-vous associé. Le fuseau horaire est basé sur la valeur du time_zone paramètre. Type de données : chaîne Format : JJ-MM-AAAA hh :mm :ss |
| result.availability.start_date_display | Affichez la date et l’heure de début du rendez-vous associé. Le fuseau horaire est basé sur la valeur du time_zone_display_value paramètre. Type de données : chaîne Format : format de date/heure de l’utilisateur demandeur. |
| result.availability.start_dateUTC | Date et heure de début du rendez-vous associé (heure UTC). Type de données : chaîne Format : JJ-MM-AAAA hh :mm :ss |
| result.has_more | Marqueur indiquant s’il existe plus de créneaux de rendez-vous à extraire après avoir renvoyé la limite. Valeurs possibles :
Type de données : booléennes |
| result.next_available_slot | Si le get_next_available_slot paramètre a été transmis en tant que vrai, détails sur le premier créneau disponible, quelles que soient les dates de début et de fin. Type de données : objet |
| result.next_available_slot.disponible | Marqueur indiquant si le créneau horaire associé est disponible. Valeurs possibles :
Type de données : booléennes |
| result.next_available_slot.end_date | Date et heure de fin du rendez-vous associé. Le fuseau horaire est basé sur la valeur du time_zone paramètre. Type de données : chaîne Format : JJ-MM-AAAA hh :mm :ss |
| result.next_available_slot.end_date_display | Affichez la date et l’heure de fin du rendez-vous associé. Le fuseau horaire est basé sur la valeur du time_zone_display_value paramètre. Type de données : chaîne |
| result.next_available_slot.end_dateUTC | Date et heure de fin du rendez-vous associé (heure UTC). Type de données : chaîne Format : JJ-MM-AAAA hh :mm :ss |
| result.next_available_slot.date_début | Date et heure de début du rendez-vous associé. Le fuseau horaire est basé sur la valeur du time_zone paramètre. Type de données : chaîne Format : JJ-MM-AAAA hh :mm :ss |
| result.next_available_slot.start_date_display | Affichez la date et l’heure de début du rendez-vous associé. Le fuseau horaire est basé sur la valeur du time_zone_display_value paramètre. Type de données : chaîne |
| result.next_available_slot.start_dateUTC | Date et heure de début du rendez-vous associé (heure UTC). Type de données : chaîne Format : JJ-MM-AAAA hh :mm :ss |
| result.no_appt_available | Marqueur indiquant s’il existe plus de créneaux de rendez-vous disponibles pour la date et l’heure spécifiées. Valeurs possibles :
Type de données : booléennes |
| Résultat.Réussite | Marqueur indiquant si l’appel du point de terminaison a réussi. Valeurs possibles :
Type de données : booléennes |
| result.time_zone | Fuseau horaire dans lequel les créneaux de rendez-vous ont été rendus. En fonction des valeurs de la configuration du service de réservation de rendez-vous. Type de données : chaîne |
| result.time_zone_display_value | Affichez le fuseau horaire dans lequel les créneaux de rendez-vous ont été rendus. En fonction des valeurs de la configuration du service de réservation de rendez-vous. Type de données : chaîne |
Demande cURL
L’exemple de code suivant montre comment appeler ce point de terminaison.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/availability" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"start_date\": \"2023-02-05 05:00:00\",
\"end_date\": \"2023-02-07 04:59:59\",
\"location\": \"32e8499cdb2d2200d75270f5bf9619d6\",
\"catalog_id\": \"e4c1116b3b810300ce8a4d72f3efc40f\",
\"opened_for\": \"6816f79cc0a8016401c5a33be04be441\",
\"full_day\": false,
\"task_table\": \"wm_order\",
\"view\": \"portal\",
\"get_next_available_slot\": true,
\"use_read_replica\": true,
\"service_config_rule\": \"f7d5d98f437c21105e0dbcba6ab8f2fc\"
}" \
--user 'username':'password
Réponse :
{
"result": {
"success": true,
"availability": [
{
"start_date": "2023-02-06 09:00:00",
"end_date": "2023-02-06 11:00:00",
"start_date_display": "09:00",
"end_date_display": "11:00",
"start_dateUTC": "2023-02-06 14:00:00",
"end_dateUTC": "2023-02-06 16:00:00",
"available": false
},
{
"start_date": "2023-02-06 13:00:00",
"end_date": "2023-02-06 15:00:00",
"start_date_display": "13:00",
"end_date_display": "15:00",
"start_dateUTC": "2023-02-06 18:00:00",
"end_dateUTC": "2023-02-06 20:00:00",
"available": false
},
{
"start_date": "2023-02-06 15:00:00",
"end_date": "2023-02-06 17:00:00",
"start_date_display": "15:00",
"end_date_display": "17:00",
"start_dateUTC": "2023-02-06 20:00:00",
"end_dateUTC": "2023-02-06 22:00:00",
"available": false
}
],
"has_more": false,
"no_appt_available": true,
"time_zone": "US/Eastern",
"time_zone_display_value": "US/Eastern",
"next_available_slot": {
"start_date": "2023-02-10 13:00:00",
"end_date": "2023-02-10 15:00:00",
"start_date_display": "13:00",
"end_date_display": "15:00",
"start_dateUTC": "2023-02-10 18:00:00",
"end_dateUTC": "2023-02-10 20:00:00",
"available": true
}