Appointment API
. Compromisso A API fornece endpoints para interagir com a aplicação de reserva de compromisso. Use esta API para reservar e reagendar compromissos, verificar os slots de compromisso disponíveis e buscar detalhes de configuração de reserva de compromisso.
Antes de usar esta API, a Configuração de agendamento de compromisso e a Configuração de serviço devem ser configuradas. Uma tarefa para a qual o compromisso está sendo reservado já deve existir. Para obter informações adicionais, confira Configuring Appointment Booking.
. Compromisso A API requer o plug-in Agendamento (com.snc.appointment_booking) e é fornecida em sn_apptmnt_booking namespace. Para acessar esta API, você deve ter a função snc_internal.
Compromisso - OBTENHA /sn_apptmnt_booking/appointment/calendar
Retorna o intervalo de tempo para o qual você pode reservar compromissos. Os resultados de retorno respeitam o lead time e as datas máximas futuras reserváveis configuradas na configuração do serviço de reserva de compromisso.
Para obter informações adicionais sobre o prazo de entrega e a configuração de datas futuras máximas reserváveis, consulte Create or modify an application configuration for Appointment Booking.
Você deve ter a função snc_internal ou snc_external para acessar este endpoint.
Formato de URL
URL com controle de versão: /api/sn_apptmnt_booking//appointment/calendar
URL padrão: /api/sn_apptmnt_booking/appointment/calendar
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| catalog_id | Obrigatório. Sys_id do produtor de registro configurado com uma configuração de serviço de reserva de compromisso. Tabela: Produtor de registro [sc_cat_item_producer] Tipo de dados: Cadeia de caracteres |
| local | Obrigatório. Sys_id do local do compromisso. Tabela: Local [cmn_location] Tipo de dados: Cadeia de caracteres |
| opened_for | Obrigatório. Sys_id do usuário para o qual o compromisso está sendo reservado. Tabela: Usuário [sys_user] Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 400 | Solicitação Incorreta. Um tipo de solicitação incorreto ou uma solicitação malformada foi detectada. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta
| Nome | Descrição |
|---|---|
| resultado | Informações sobre os resultados da solicitação de endpoint. Tipo de dados: Objeto |
| range_end.result.range_end | Fim do intervalo no qual os compromissos podem ser agendados.
Tipo de dados: Cadeia de caracteres Fuso horário do compromisso no formato de data e hora interno. |
| range_start.result.range_start | Início do intervalo no qual os compromissos podem ser agendados.
Tipo de dados: Cadeia de caracteres Fuso horário do compromisso no formato de data e hora interno. |
Solicitação de curl
O exemplo de código a seguir mostra como chamar este endpoint.
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'
Resultado:
{
"result": {
"range_start": "2023-02-08 03:52:27",
"range_end": "2023-02-21 23:52:27"
}
}
Compromisso - OBTENHA /sn_apptmnt_booking/appointment/configuration
Retorna a configuração definida em uma Configuração de serviço de agendamento de compromisso especificada.
Além disso, ele retorna as traduções e as preferências de data e hora do usuário necessárias para renderizar os slots nos widgets de reserva de compromisso.
Você deve ter a função snc_internal ou snc_external para acessar este endpoint.
Formato de URL
URL com controle de versão: /api/sn_apptmnt_booking//appointment/configuration
URL padrão: /api/sn_apptmnt_booking/appointment/configuration
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| catalog_id | Obrigatório. Sys_id do produtor de registro configurado com a configuração do serviço de reserva de compromisso. Tipo de dados: Cadeia de caracteres Tabela: Produtor de registro [sc_cat_item_producer] |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 400 | Solicitação Incorreta. Um tipo de solicitação incorreto ou uma solicitação malformada foi detectada. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta
| Nome | Descrição |
|---|---|
| resultado | Resultados da solicitação de endpoint. Tipo de dados: Objeto |
| resultado.ativo | Sinalizador que indica se a configuração do serviço para o ID do catálogo associado está ativa. Valores possíveis:
Tipo de dados: Booliano |
| result.active_string | Representação em texto do status da configuração do serviço para o ID do catálogo associado. Tipo de dados: Cadeia de caracteres |
| advanced_calendar_view_portal | Sinalizador que indica se a exibição de calendário avançada é exibida no portal ou exibe a exibição de base. Para obter informações adicionais sobre a exibição avançada do calendário, consulte Create or modify an application configuration for Appointment Booking. Valores possíveis:
Tipo de dados: Booliano |
| result.auto_acceptance | Sinalizador que indica se o compromisso faz a transição automaticamente para o estado Aceito. Valores possíveis:
Tipo de dados: Booliano |
| result.locale_language | Configuração de idioma do usuário. Tipo de dados: Cadeia de caracteres Formato: Código de idioma ISO 639,1 |
| result.service_config | Detalhes sobre a configuração do serviço. Tipo de dados: Objeto |
| result.service_config.active | Sinalizador que indica o status ativo da configuração do serviço de reserva de compromisso. Valores possíveis:
Tipo de dados: Booliano |
| result.service_config.active_string | Representação em texto do status da configuração do serviço de reserva de compromisso. Tipo de dados: Cadeia de caracteres |
| result.service_config.appointment_booking_config | Sys_id da configuração do serviço de reserva de compromisso para o ID do catálogo associado. Tipo de dados: Cadeia de caracteres Configuração do serviço de agendamento de compromisso [sn_apptmnt_booking_service_config] |
| result.service_config.appointment_duration | Duração do compromisso. Tipo de dados: Cadeia de caracteres Unidade: Minutos |
| result.service_config.appointments_per_bookable_slot | Número de compromissos que podem ser reservados para o slot associado. Tipo de dados: Cadeia de caracteres |
| result.service_config.bookable_days | Valores separados por vírgulas que representam os dias em que os compromissos podem ser reservados. Os dias são representados como números inteiros em que segunda-feira é 1 e domingo é 7. Tipo de dados: Cadeia de caracteres |
| result.service_config.cancel_by_time | Tempo mínimo antes do início de um compromisso que um usuário pode cancelar o compromisso. Por exemplo, se você tiver um compromisso reservado para 1:00pm e houver um cancelamento de 2 horas por hora, deverá cancelar o compromisso até às 10:59 horas. Formato: Este valor é a diferença de data e hora de "1970-01-01 00:00:00". Se o valor retornado for "1970-01-01 04:00:00, isso significa que a sala deve ser cancelada quatro horas antes do início da reunião. Tipo de dados: Cadeia de caracteres |
| result.service_config.default_timezone | Configuração de fuso horário em que os compromissos estão reservados. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| result.service_config.enable_advanced_config | Sinalizador que indica se as configurações de reserva de compromisso e as regras de reserva de compromisso são consideradas ao reservar compromissos. Para obter informações adicionais, confira Create appointment booking advanced configuration. Valores possíveis:
Tipo de dados: Booliano |
| result.service_config.field_mapping | Detalhes sobre as variáveis do catálogo mapeadas para os valores de local e contato usados para reservar o compromisso. Tipo de dados: Objeto |
| result.service_config.field_mapping.contact | Nome da variável do catálogo que contém o valor do contato. Tipo de dados: Cadeia de caracteres |
| result.service_config.field_mapping.ContactRPVariable | Detalhes sobre os dados de variáveis do catálogo de locais. Tipo de dados: Objeto |
| result.service_config.field_mapping.ContactRPVariable.displayName | Nome de exibição da variável do catálogo de contatos. Tipo de dados: Cadeia de caracteres |
| result.service_config.field_mapping.ContactRPVariable.label | Rótulo da variável do catálogo de contatos. Tipo de dados: Cadeia de caracteres |
| result.service_config.field_mapping.contactRPVariable.name | Nome da variável do catálogo de contatos. Tipo de dados: Cadeia de caracteres |
| result.service_config.field_mapping.location | Nome da variável do catálogo que contém o valor do local. Tipo de dados: Cadeia de caracteres |
| result.service_config.field_mapping.LocationRPVariable | Detalhes sobre os dados de variáveis do catálogo de locais. Tipo de dados: Objeto |
| result.service_config.field_mapping.LocationRPVariable.displayName | Nome de exibição da variável do catálogo de local. Tipo de dados: Cadeia de caracteres |
| result.service_config.field_mapping.LocationRPVariable.label | Rótulo da variável do catálogo de local. Tipo de dados: Cadeia de caracteres |
| result.service_config.field_mapping.locationRPVariable.name | Nome da variável do catálogo de local. Tipo de dados: Cadeia de caracteres |
| result.service_config.future_bookable_max_days | Número máximo de dias no futuro que um compromisso pode ser reservado. Tipo de dados: Cadeia de caracteres |
| result.service_config.lead_time | Tempo mínimo antes do início de um compromisso que um usuário pode agendar o compromisso. Por exemplo, se você quiser marcar um compromisso às 1:00pm e houver um lead time de 2 horas, deverá agendar o compromisso até às 10:59 da manhã. Formato: Este valor é a diferença de data e hora de "1970-01-01 00:00:00". Se o valor retornado for "1970-01-01 04:00:00, isso significa que a sala deve ser reservada quatro horas antes do início da reunião. Tipo de dados: Cadeia de caracteres |
| result.service_config.mandatory | Indicador para se o compromisso é obrigatório. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| result.service_config.use_slot_end_time_as | Indicador de quando um agente chegará ou concluirá o trabalho programado para o compromisso associado. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| result.service_config.work_duration | Tempo necessário para trabalhar no compromisso. A duração do trabalho é configurada na configuração do serviço de reserva de compromisso. Para obter informações adicionais, confira Create or modify service configuration for Appointment Booking. Tipo de dados: Cadeia de caracteres Unidade: Minutos |
| result.task_table | Nome da tabela para a qual o compromisso pode ser reservado. Configurado na configuração do serviço de reserva de compromisso. Tipo de dados: Cadeia de caracteres |
| resultado.traduções | Pares nome-valor de traduções de texto usados pelo widget de reserva de compromisso. Contém valores traduzidos para ações, mensagens, dias e meses. Tipo de dados: Objeto |
| result.userDateFormatOptions | Descreve as opções de formato de data necessárias para renderizar objetos de data JS. Esses valores são definidos em constantes de reserva de compromisso que não são modificáveis. Tipo de dados: Objeto |
| result.userDateFormatOptions.day | Formato de data do dia. Tipo de dados: Cadeia de caracteres Formato: Numérico (valores ou 1-31) |
| result.userDateFormatOptions.month | Formato de data do mês. Tipo de dados: Cadeia de caracteres Formato: Curto (valores em jan, fev, mar e assim por diante) |
| result.userDateFormatOptions.week | Formato de data da semana. Tipo de dados: Cadeia de caracteres Formato: Numérico (valores de 1 a 5) |
| result.userDateFormatOptions.weekday | Formato de data do dia da semana. Tipo de dados: Cadeia de caracteres Formato: Curto (valores de seg, ter, qua e assim por diante) |
| result.useRR | Valor da propriedade sn_apptmnt_booking.use_read_replica_from_ui. Este valor define se o banco de dados de réplica de leitura deve ser usado para buscar slots de compromisso quando a consulta é realizada na IU. Valores possíveis:
Tipo de dados: Booliano |
| result.userTimeFormat | Descreve o formato de hora do usuário. O usuário é a pessoa que faz a solicitação de endpoint. Se feito por meio da plataforma, é um agente. Se feito por meio do portal, é um cliente. Tipo de dados: Objeto |
| result.userTimeFormat.type | Tipo de formato de hora. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| result.userTimeFormat.value | Formato de hora preferencial, como "HH:mm:ss". Tipo de dados: Cadeia de caracteres |
| result.userTimeFormatOptions | Descreve as opções de formato de hora necessárias para renderizar objetos de tempo JS. Esses valores são definidos nas constantes de reserva de compromisso que não podem ser modificadas. Tipo de dados: Objeto |
| result.userTimeFormatOptions.hour | Formato para horas. Formato: Numérico (valores de 1 a 12) |
| result.userTimeFormatOptions.hourCycle | Formato do ciclo de horas. Somente o valor possível é h23 . |
| result.userTimeFormatOptions.minute | Formato para minutos. Formato: Numérico (valores de 1 a 60) |
| resultado.view_scale | Exibição configurada na configuração de serviço. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
Solicitação de curl
O exemplo de código a seguir mostra como chamar este endpoint.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/configuration?catalog_id=e4c1116b3b810300ce8a4d72f3efc40f" \
--request GET \
--header "Accept:application/json" \
--user ‘username':'password'
Resposta:
{
"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"
}
}
}
Compromisso - OBTENHA /sn_apptmnt_booking/appointment/execute_rule_conditions
Retorna o sys_id da regra de configuração do serviço de reserva de compromisso que corresponde a um sys_id de tarefa especificado ou a um conjunto de dados de item do catálogo especificado.
O ID da tarefa ou os dados do item do catálogo aprovados são avaliados em relação às regras definidas para uma configuração de serviço. O sys_id da primeira regra para a qual essas condições correspondem é retornado. Em seguida, você deve passar esta regra sys_id para solicitações de disponibilidade subsequentes para buscar os slots corretos, que são definidos na regra.
Você deve ter a função snc_internal ou snc_external para acessar este endpoint.
Formato de URL
URL com controle de versão: /api/sn_apptmnt_booking//appointment/execute_rule_conditions
URL padrão: /api/sn_apptmnt_booking/appointment/execute_rule_conditions
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| CatalogId | Obrigatório. Sys_id do produtor de registro configurado com a configuração do serviço de reserva de compromisso. Tipo de dados: Cadeia de caracteres Tabela: Produtor de registro [sc_cat_item_producer] |
| OutrosInputs | Necessário se taskIdo parâmetro não foi especificado. Pares nome-valor de variáveis de item do catálogo para comparar com as regras definidas para uma configuração de serviço. Por exemplo: Tipo de dados: Objeto |
| taskId | Necessário se otherInputso parâmetro não foi especificado. Sys_id do registro da tarefa para o qual o compromisso está sendo reservado. Localizado na tabela de tarefas para a qual o compromisso está sendo reservado. . catalogIdcorresponde a uma configuração de reserva de compromisso específica e cada configuração tem uma tabela de tarefas na qual o compromisso é reservado. Tipo de dados: Cadeia de caracteres |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 400 | Solicitação Incorreta. Um tipo de solicitação incorreto ou uma solicitação malformada foi detectada. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta
| Nome | Descrição |
|---|---|
| resultado | Descrição das informações retornadas pelo endpoint. Tipo de dados: Objeto |
| result.dedicatedCapacity | Sinalizador que indica se a regra associada tem capacidade dedicada. Para obter informações adicionais sobre capacidade dedicada, consulte Create service configuration rules for a service configuration. Valores possíveis:
Tipo de dados: Booliano |
| Result.futureMaxBookableDays | Número máximo de dias no futuro para os quais um compromisso com a regra de correspondência pode ser reservado. Tipo de dados: Cadeia de caracteres |
| result.ruleId | Sys_id da regra de configuração do serviço de reserva de compromisso que corresponde a. taskIdou otherInputsparâmetros passados na solicitação. Tipo de dados: Cadeia de caracteres Tabela: Regra de configuração de serviço [sn_apptmnt_booking_config_rule] |
| result.ruleName | Nome da regra que correspondeu aos parâmetros aprovados. Tipo de dados: Cadeia de caracteres |
Solicitação de curl
O exemplo de código a seguir mostra como usar o. taskIdparâmetro para fazer a solicitação de comparação de regra.
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'
Resposta:
{
"result": {
"ruleId": "f7d5d98f437c21105e0dbcba6ab8f2fc",
"ruleName": "Priority 1 rule",
"dedicatedCapacity": true,
"futureMaxBookableDays": "14"
}
}
Solicitação de curl
O exemplo de código a seguir mostra como usar o. otherInputsparâmetro para fazer a solicitação de comparação de regra.
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'
Resposta:
{
"result": {
"ruleId": " 1d1bb72b4334a1105e0dbcba6ab8f275",
"ruleName": "Lake View SC rule",
"dedicatedCapacity": false,
"futureMaxBookableDays": "21"
}
}
Compromisso - PUBLICAR /sn_apptmnt_booking/appointment/appointment
Permite que você reserve e reprograme compromissos para um Gestão de serviços de campo tarefa.
Para obter informações adicionais sobre Gestão de serviços de campo tarefas, consulte Configuring Appointment Booking.
Formato de URL
URL com controle de versão: /api/sn_apptmnt_booking//appointment/appointment
URL padrão: /api/sn_apptmnt_booking/appointment/appointment
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| AtualEndDate | Obrigatório. Data e hora de término do intervalo de compromisso no fuso horário do compromisso. Tipo de data: Cadeia de caracteres Formato: AAAA-MM-dd HH:mm:ss |
| AtualStartDate | Obrigatório. Data e hora de início do intervalo de compromisso no fuso horário do compromisso. Tipo de data: Cadeia de caracteres Formato: AAAA-MM-dd HH:mm:ss |
| CatalogId | Sys_id do produtor de registro configurado para a configuração do serviço de reserva de compromisso. Se você não passar este parâmetro, o endpoint tentará distinguir essas informações do taskIde. taskTableparâmetros. Se não for possível, o endpoint falhará e um erro será retornado. Tipo de data: Cadeia de caracteres Tabela: O campo Item do catálogo da tabela Configuração do serviço de agendamentos [sn_apptmnt_booking_service_config]. |
| EndDateUTC | Obrigatório. Data e hora de término do intervalo de compromisso no fuso horário UTC. Tipo de data: Cadeia de caracteres Formato: AAAA-MM-dd HH:mm:ss |
| local | Obrigatório. Sys_id do registro de local relacionado ao compromisso. Tipo de data: Cadeia de caracteres Tabela: Local [cmn_location] |
| Aberto para | Obrigatório. Sys_id do usuário para o qual o compromisso está sendo reservado. Tipo de data: Cadeia de caracteres Tabela: Usuário [sys_user] |
| reprogramar | Obrigatório. Sinalizador que indica se o compromisso está sendo reprogramado. Valores válidos:
Tipo de dados: Booliano |
| service_coconfig_rule | Se o compromisso estiver sendo reservado em uma regra, o sys_id da regra de configuração de serviço. Tipo de data: Cadeia de caracteres Tabela: Regra de configuração de serviço [sn_apptmnt_booking_config_rule] |
| StartDateUTC | Obrigatório. Data e hora de início do intervalo de compromisso no fuso horário UTC. Tipo de data: Cadeia de caracteres Formato: AAAA-MM-dd HH:mm:ss |
| taskId | Obrigatório. Sys_id do registro da tarefa para o qual o compromisso está sendo reservado. Tipo de data: Cadeia de caracteres Tabela: Definida em taskTableparâmetro. |
| taskTable | Obrigatório. Nome da tabela que contém o registro da tarefa para a qual o compromisso está sendo reservado. Tipo de data: Cadeia de caracteres |
| fuso horário | Obrigatório. Fuso horário a ser usado ao reservar ou atualizar o intervalo de compromisso especificado. Formato: Formato de país/cidade ou área, como EUA/Leste Tipo de data: Cadeia de caracteres |
| validate_request | Sinalizador que indica se a solicitação de compromisso deve ser validada. Se qualquer uma das validações falhar, o endpoint falhará e retornará uma mensagem de erro que descreve o problema. As seguintes validações são realizadas:
Valores válidos:
Tipo de dados: Booliano Padrão: falso |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta
| Nome | Descrição |
|---|---|
| resultado | Informações sobre os resultados da solicitação de endpoint. Tipo de dados: Objeto |
| result.data | Sys_id do registro de compromisso que foi criado ou reprogramado. Tipo de dados: Cadeia de caracteres |
| resultado.mensagem | Mensagem que explica se a solicitação de compromisso foi programada ou falhou. Por exemplo, as respostas de erro podem incluir:
Tipo de dados: Cadeia de caracteres |
| motivo.resultado | Informações adicionais sobre os resultados da solicitação de compromisso. Tipo de dados: Cadeia de caracteres |
| resultado.sucesso | Sinalizador que indica se a solicitação foi bem-sucedida. Valores possíveis:
Tipo de dados: Booliano |
Solicitação de curl
O exemplo a seguir mostra como criar um novo agendamento de compromisso para uma tarefa na tabela Ordem de serviço [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'
Resposta:
{
"result": {
"success": true,
"message": "Your appointment has been scheduled successfully.",
"reason": "Appointment created!",
"data": "7a5f393c43b861105e0dbcba6ab8f29f"
}
}
Compromisso - PUBLICAR /sn_apptmnt_booking/appointment/availability
Retorna os slots que foram configurados na configuração do serviço de reserva de compromisso junto com sua disponibilidade.
Se as configurações avançadas estiverem habilitadas para a configuração do serviço, o endpoint respeitará essas configurações e retornará os dados de acordo com as regras e a configuração avançada. Você também pode usar este endpoint para encontrar o primeiro slot disponível passando por get_next_available_slotparâmetro ou get_next_available_day_dataparâmetro no corpo da solicitação como verdadeiro .
Você deve ter a função snc_internal ou snc_external para acessar este endpoint.
Formato de URL
URL com controle de versão: /api/sn_apptmnt_booking//appointment/availability
URL padrão: /api/sn_apptmnt_booking/appointment/availability
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessado. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| catalog_id | Sys_id do produtor de registro configurado para a configuração do serviço de reserva de compromisso. Se você não passar este parâmetro, o endpoint tentará distinguir essas informações do taskIde. task_tableparâmetros. Se não for possível, o endpoint falhará e um erro será retornado. Tipo de dados: Cadeia de caracteres Tabela: No campo Item do catálogo no registro relacionado da tabela Configuração do serviço de reserva de compromisso [sn_apptmnt_booking_service_config]. |
| end_date | Obrigatório. Data e hora de término das quais buscar compromissos. Tipo de dados: Cadeia de caracteres Formato: Fuso horário UTC e no formato AAAA-MM-dd HH:mm:ss |
| fetch_days_slot | Sinalizador que indica se o primeiro intervalo disponível deve ser retornado em cada dia para o intervalo de datas solicitado. Valores válidos:
Tipo de dados: Booliano Padrão: falso |
| full_day | Obrigatório. Sinalizador que indica se todos os compromissos do intervalo de datas especificado devem ser retornados, independentemente dos valores de tempo nas datas de início e término. Valores válidos:
Tipo de dados: Booliano |
| get_next_available_slot | Sinalizador que indica se o primeiro intervalo de compromisso disponível deve ser retornado com a resposta, mesmo que ela não faça parte da aprovação start_datee. end_dateparâmetros. Valores válidos:
Tipo de dados: Booliano Padrão: falso |
| limite | Número máximo de compromissos a serem retornados. Tipo de dados: Número Valor especificado na propriedade sn_apptmnt_booking .max_appointments_ retornado ou 1000 se a propriedade estiver vazia. |
| local | Obrigatório. Sys_id do registro de local associado ao compromisso. Tipo de dados: Cadeia de caracteres Tabela: Local [cmn_location] |
| opened_for | Obrigatório. Sys_id do usuário para o qual o compromisso está sendo reservado. Tipo de dados: Cadeia de caracteres Tabela: Usuário [sys_user] |
| OutrosInputs | Pares nome-valor de quaisquer outros valores necessários para calcular a disponibilidade no método com script. Normalmente, esses valores são variáveis de item do catálogo. No entanto, se você personalizar sua aplicação de reserva, poderá passar todos os valores necessários para sua implementação. Por exemplo: Tipo de dados: Objeto |
| service_config_rule | Sys_id da regra de configuração de serviço a ser usada para calcular os slots de compromisso e a disponibilidade. Tipo de dados: Cadeia de caracteres Tabela: Regra de configuração de serviço [sn_apptmnt_booking_config_rule] |
| start_date | Obrigatório. Data e hora de início das quais buscar compromissos. Tipo de dados: Cadeia de caracteres Formato: Fuso horário UTC e no formato AAAA-MM-dd HH:mm:ss |
| taskId | Sys_id do registro da tarefa para o qual o compromisso está sendo reservado. Tipo de data: Cadeia de caracteres Tabela: Definida em taskTableparâmetro. |
| task_table | Obrigatório. Nome da tabela que contém o registro da tarefa para a qual o compromisso está sendo reservado. Tipo de dados: Cadeia de caracteres |
| use_read_replica | Sinalizador que indica se a réplica de leitura do banco de dados deve ser usada ao buscar os slots de compromisso e sua disponibilidade. Valores válidos:
Padrão: falso |
| exibição | Obrigatório. Ponto de origem da solicitação. Valores válidos: (Diferencia maiúsculas de minúsculas)
Tipo de dados: Cadeia de caracteres |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da REST API .
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 400 | Solicitação Incorreta. Um tipo de solicitação incorreto ou uma solicitação malformada foi detectada. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta
| Nome | Descrição |
|---|---|
| resultado | Detalhes sobre os compromissos que correspondem à solicitação. Tipo de dados: Objeto |
| resultado.disponibilidade | Lista de slots de compromisso que atendem à solicitação especificada. Tipo de dados: Matriz de objetos |
| resultado.disponibilidade.disponível | Sinalizador que indica se o intervalo de tempo associado está disponível. Valores possíveis:
Tipo de dados: Booliano |
| result.availability.end_date | Data e hora de término do compromisso associado. O fuso horário é baseado no valor em time_zoneparâmetro. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| resultado.availability.end_date_display | Exibir data e hora de término do compromisso associado. O fuso horário é baseado no valor em time_zone_display_valueparâmetro. Tipo de dados: Cadeia de caracteres Formato: Formato de data e hora do usuário solicitante. |
| Result.availability.end_dateUTC | Data e hora de término do compromisso associado no horário UTC. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| result.availability.start_date | Data e hora de início do compromisso associado. O fuso horário é baseado no valor em time_zoneparâmetro. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| result.availability.start_date_display | Exibir data e hora de início do compromisso associado. O fuso horário é baseado no valor em time_zone_display_valueparâmetro. Tipo de dados: Cadeia de caracteres Formato: Formato de data e hora do usuário solicitante. |
| Result.availability.start_dateUTC | Data e hora de início do compromisso associado no horário UTC. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| resultado.has_more | Sinalizador que indica se há mais slots de compromisso para buscar depois de retornar o limite. Valores possíveis:
Tipo de dados: Booliano |
| resultado.next_available_slot | . get_next_available_sloto parâmetro foi passado como verdadeiro, detalhes sobre o primeiro slot disponível, independentemente das datas de início e término aprovadas. Tipo de dados: Objeto |
| resultado.next_available_slot.available | Sinalizador que indica se o intervalo de tempo associado está disponível. Valores possíveis:
Tipo de dados: Booliano |
| resultado.next_available_slot.end_date | Data e hora de término do compromisso associado. O fuso horário é baseado no valor em time_zoneparâmetro. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| resultado.next_available_slot.end_date_display | Exibir data e hora de término do compromisso associado. O fuso horário é baseado no valor em time_zone_display_valueparâmetro. Tipo de dados: Cadeia de caracteres |
| Resultado.next_available_slot.end_dateUTC | Data e hora de término do compromisso associado no horário UTC. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| resultado.next_available_slot.start_date | Data e hora de início do compromisso associado. O fuso horário é baseado no valor em time_zoneparâmetro. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| resultado.next_available_slot.start_date_display | Exibir data e hora de início do compromisso associado. O fuso horário é baseado no valor em time_zone_display_valueparâmetro. Tipo de dados: Cadeia de caracteres |
| Resultado.next_available_slot.start_dateUTC | Data e hora de início do compromisso associado no horário UTC. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| result.no_appt_available | Sinalizador que indica se há mais slots de compromisso disponíveis para a data e hora especificadas. Valores possíveis:
Tipo de dados: Booliano |
| resultado.sucesso | Sinalizador que indica se a chamada de endpoint foi bem-sucedida. Valores possíveis:
Tipo de dados: Booliano |
| resultado.time_zone | Fuso horário no qual os slots de compromisso foram renderizados. Com base nos valores na configuração do serviço de reserva de compromisso. Tipo de dados: Cadeia de caracteres |
| resultado.time_zone_display_value | Exiba o fuso horário no qual os slots de compromisso foram renderizados. Com base nos valores na configuração do serviço de reserva de compromisso. Tipo de dados: Cadeia de caracteres |
Solicitação de curl
O exemplo de código a seguir mostra como chamar este endpoint.
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
Resposta:
{
"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
}