API de rendez-vous
L’API de rendez-vous fournit des points de terminaison pour 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 la prise 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 réservé 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/rendez-vous/calendrier
Renvoie la plage horaire pour laquelle vous pouvez prendre rendez-vous. Les résultats de renvoi respectent le délai et le nombre maximal de dates futures pouvant être réservées configurés dans la configuration du service de Prise de rendez-vous.
Pour plus d’informations sur la configuration des délais et des dates maximales jusqu’à la réservation, consultez la section Create or modify an appointment booking application configuration.
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. 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. Situé dans la table Créateur d’enregistrement [sc_cat_item_producer]. Type de données : chaîne |
| emplacement | Requis. Sys_id du lieu (cmn_location) du rendez-vous. Situé dans la 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é. Situé dans la 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 sur 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 de 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 de 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/rendez-vous/configuration
Renvoie la configuration définie dans une configuration de service de Prise de rendez-vous spécifiée.
En outre, il renvoie les traductions et les préférences de date et d’heure de l’utilisateur nécessaires 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. 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 de service de Prise de rendez-vous. Situé dans la table Créateur d’enregistrement [sc_cat_item_producer]. 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 | Résultats de la demande de point de terminaison. Type de données : objet |
| résultat.actif | Marqueur indiquant si la configuration de service pour l’ID de catalogue associé est active. Valeurs possibles :
Type de données : booléennes |
| result.active_string | Représentation de texte de l’état de la configuration du 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 appointment booking application configuration. 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 réservation de rendez-vous. Valeurs possibles :
Type de données : booléennes |
| result.service_config.active_string | Représentation textuelle de l’état de la configuration du service de Prise de rendez-vous. Type de données : chaîne |
| result.service_config.appointment_booking_config | Sys_id de la configuration du service de Prise de rendez-vous pour l’ID de catalogue associé. Situé dans la table Configuration du service Prise de rendez-vous [sn_apptmnt_booking_service_config]. Type de données : chaîne |
| 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 pouvant ê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 | Délai minimal avant le début d’un rendez-vous pendant lequel 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 annulation de 2 heures, vous devez annuler le rendez-vous au plus tard à 10h59. Format : cette valeur correspond au décalage 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 laquelle 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 |
| result.service_config.field_mapping | Détails sur les variables de catalogue mappées à l’emplacement et aux valeurs de contact utilisées pour réserver le 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.field_mappingcontactRPVariable | Détails sur les données des variables de catalogue de l’emplacement. Type de données : objet |
| result.service_config.field_mappingcontactRPVariable.displayName | Nom d’affichage de la variable de catalogue de contacts. Type de données : chaîne |
| result.service_config.field_mappingcontactRPVariable.label | Étiquette de la variable de catalogue de contacts. Type de données : chaîne |
| result.service_config.field_mappingcontactRPVariable.name | Nom de la variable de catalogue de contact. 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.field_mappinglocationRPVariable | Détails sur les données des variables de catalogue de l’emplacement. Type de données : objet |
| result.service_config.field_mappinglocationRPVariable.displayName | Nom d’affichage de la variable de catalogue d’emplacements. Type de données : chaîne |
| result.service_config.field_mappinglocationRPVariable.label | Étiquette de la variable de catalogue d’emplacement. Type de données : chaîne |
| result.service_config.field_mappinglocationRPVariable.name | Nom de la variable de catalogue d’emplacement. Type de données : chaîne |
| result.service_config. future_bookable_max_days | Nombre maximal de jours dans le futur avant qu’un rendez-vous puisse être réservé. Type de données : chaîne |
| result.service_config.lead_time | Délai minimal avant le début d’un rendez-vous pendant lequel un utilisateur peut réserver le rendez-vous. Par exemple, si vous souhaitez prendre rendez-vous à 13h00 et qu’il y a un délai de 2 heures, vous devez réserver le rendez-vous au plus tard à 10h59. Format : cette valeur correspond au décalage 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 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_de_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 Prise de rendez-vous. Pour en savoir plus, consultez Create or modify an appointment booking service configuration. 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 Prise de rendez-vous. Type de données : chaîne |
| résultat.traductions | Paires nom-valeur de 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) |
| result.userDateFormatOptions.month | Format de date mensuelle. Type de données : chaîne Format : court (valeurs en janvier, février, mars, etc.) |
| result.userDateFormatOptions.week | Format de date hebdomadaire. Type de données : chaîne Format : numérique (valeurs de 1 à 5) |
| result.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.) |
| result.useRR | 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 extraire les créneaux de rendez-vous lorsque la requête est effectuée à partir de l’interface utilisateur. Valeurs possibles :
Type de données : booléennes |
| result.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 |
| result.userTimeFormat.type | Type de format d’heure. Valeurs possibles :
Type de données : chaîne |
| résultat.userTimeFormat.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 restituer les objets d’heure JS. Ces valeurs sont définies dans les constantes de réservation de rendez-vous qui ne peuvent pas être modifiées. Type de données : objet |
| résultat.userTimeFormatOptions.hour | Format pour les 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 les minutes. Format : numérique (valeurs de 1 à 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/rendez-vous/execute_rule_conditions
Renvoie le sys_id de la règle de configuration du service de Prise de rendez-vous qui correspond à un sys_id de tâche spécifié ou à un ensemble de données d’éléments de catalogue spécifiées.
Les données d’ID de tâche ou d’élément de catalogue transmises sont évaluées par rapport aux règles définies pour une configuration de service. La sys_id de la première règle pour laquelle ces conditions correspondent est renvoyée. Vous devez ensuite transmettre cette sys_id de règle aux demandes de disponibilité suivantes pour récupérer 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. 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 de service de Prise de rendez-vous. Situé dans la table Créateur d’enregistrement [sc_cat_item_producer]. Type de données : chaîne |
| otherInputs | Obligatoire si le taskId paramètre n’est pas spécifié. Paires nom-valeur de 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 | Obligatoire 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.dédiéeCapacité | Marqueur indiquant si la règle associée dispose d’une capacité dédiée. Pour en savoir plus sur la capacité dédiée, reportez-vous à la section Create appointment booking service configuration rules. Valeurs possibles :
Type de données : booléennes |
| result.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 de service de Prise de rendez-vous qui correspond aux taskId paramètres OU otherInputs transmis dans la demande. Situé dans la table Règle de configuration de service [sn_apptmnt_booking_config_rule]. Type de données : chaîne |
| 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 en savoir plus sur les tâches, reportez-vous Gestion des services sur site à 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. 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 |
|---|---|
| actualEndDate | 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 | Requis. Sys_id du créateur d’enregistrement configuré pour la configuration de service de Prise de rendez-vous. Le créateur d’enregistrement est défini dans le champ Élément de catalogue de l’enregistrement de configuration de service de Prise de rendez-vous connexe : table Configuration de service de Prise de rendez-vous [sn_apptmnt_booking_service_config]. Type de date : chaîne |
| 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. Situé dans la table Emplacement [cmn_location]. Type de date : chaîne |
| openedFor | Requis. Sys_id de l’utilisateur pour lequel le rendez-vous est réservé. Situé dans la table Utilisateur [sys_user]. Type de date : chaîne |
| 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 réservé en vertu d’une règle, la sys_id de la règle de configuration de service. Situé dans la table Règle de configuration de service [sn_apptmnt_booking_config_rule]. Type de date : chaîne |
| 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 dans le fuseau horaire UTC |
| taskId | Requis. Sys_id de l’enregistrement de tâche pour lequel le rendez-vous est réservé. La table contenant cette sys_id est définie dans le taskTable paramètre. Type de date : chaîne |
| Table de tâches | 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 Zone, par exemple États-Unis/Est Type de date : 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. |
| 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 sur les résultats de la demande de point de terminaison. Type de données : objet |
| données.résultats | 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 si elle a échoué. Par exemple, les réponses d’erreur peuvent inclure :
Type de données : chaîne |
| résultat.motif | Informations supplémentaires sur les résultats de la demande de rendez-vous. Type de données : chaîne |
| résultat.succès | 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 nouvelle prise 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 réservation de rendez-vous ainsi que leur disponibilité.
Si des configurations avancées sont activées pour la configuration de service, le point de terminaison respecte ces configurations et renvoie les données en fonction des règles et de 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 sur 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. 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 | Requis. Sys_id du créateur d’enregistrement configuré pour la configuration de service de Prise de rendez-vous. Le créateur d’enregistrement est défini dans le champ Élément de catalogue de l’enregistrement de configuration de service de Prise de rendez-vous connexe : table Configuration de service de Prise de rendez-vous [sn_apptmnt_booking_service_config]. Type de données : chaîne |
| end_date | Requis. Date et heure de fin pour l’extraction des rendez-vous. Type de données : chaîne Format : fuseau horaire UTC et au format interne de date et d’heure AAAA-MM-jj HH :mm :ss |
| full_day | Requis. Marqueur indiquant s’il faut renvoyer tous les rendez-vous pour la plage de dates spécifiée passée, quelles que soient les valeurs de temps des dates de début et de fin. Valeurs possibles :
Type de données : booléennes |
| get_next_available_slot | Marqueur qui indique s’il faut renvoyer le premier créneau de rendez-vous start_dateend_date disponible avec la réponse, même s’il ne fait pas partie des paramètres et des éléments transmis. Valeurs possibles :
Type de données : booléennes Valeur par défaut : false |
| limite | Nombre maximal de rendez-vous à renvoyer. Type de données : nombre Par défaut : valeur spécifiée dans la propriété renvoyée sn_apptmnt_booking .max_appointments_ ou 1 000 si la propriété est vide. |
| emplacement | Requis. Sys_id de l’enregistrement du lieu associé au rendez-vous. Situé dans la 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é. Situé dans la table Utilisateur [sys_user]. Type de données : chaîne |
| otherInputs | Paires nom-valeur de toutes les autres valeurs nécessaires pour calculer la disponibilité dans la méthode scriptée. En règle générale, ces valeurs sont 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é. Situé dans la table Règle de configuration de service [sn_apptmnt_booking_config_rule]. Type de données : chaîne |
| start_date | Requis. Date et heure de début pour lesquelles extraire les rendez-vous. Type de données : chaîne Format : fuseau horaire UTC et au format interne de date et d’heure AAAA-MM-jj HH :mm :ss |
| 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éplique 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 : (sensible à 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 : objet |
| 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 la date et de l’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 la date et de l’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 d’autres créneaux de rendez-vous à extraire après le renvoi de 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 emplacement disponible, quelles que soient les dates de début et de fin réussies. 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.date_de_fin | 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 Format: |
| 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.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.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 Format: |
| 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 d’autres 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.succès | Marqueur qui indique si l’appel de 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 Prise 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 Prise 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
}