Appointment
. Compromisso A API fornece endpoints para interagir com a aplicação de agendamento de compromissos. Use esta API para agendar e reagendar compromissos, verificar slots de compromisso disponíveis e buscar detalhes de configuração de agendamento de compromissos.
Antes de usar esta API, a Configuração de agendamento de compromissos e a Configuração de serviço devem ser configuradas. Além disso, já deve existir uma tarefa para a qual o compromisso está sendo agendado. Para obter informações adicionais, confira Configuring Appointment Booking.
. Compromisso A API requer o plug-in de Agendamento (com.snc.appointment_booking) e é fornecida no 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 agendar 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 agendamento de compromissos.
Para obter informações adicionais sobre o lead time e a configuração de datas máximas futuras 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 para acessar. 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 | Necessário. Sys_id do produtor de registro configurado com uma configuração de serviço de agendamento de compromissos. Tabela: Produtor de registro [sc_cat_item_producer] Tipo de dados: Cadeia de caracteres |
| local | Necessário. SYS_id do local do compromisso. Tabela: Local [cmn_location] Tipo de dados: Cadeia de caracteres |
| opened_for | Necessá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 da REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Suporta somente 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 REST API códigos de resposta HTTP .
| Código de 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.range_end | Fim do intervalo no qual as consultas podem ser agendadas.
Tipo de dados: Cadeia de caracteres Formato: Fuso horário do compromisso no formato de data e hora interno. |
| range_start.result.range_start | Início do intervalo no qual as consultas podem ser agendadas.
Tipo de dados: Cadeia de caracteres Formato: 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 - OBTER /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 agendamento de compromissos.
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 para acessar. 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 | Necessário. Sys_id do produtor de registro configurado com a configuração do serviço de agendamento de compromissos. 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 da REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Suporta somente 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 REST API códigos de resposta HTTP .
| Código de 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 |
| resultado.active_string | Representação de texto do status da configuração do serviço para o ID do catálogo associado. Tipo de dados: Cadeia de caracteres |
| resultado.advanced_calendar_view_portal | Sinalizador que indica se a exibição avançada do calendário é exibida no portal ou exibe a exibição 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 |
| resultado.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 agendamento de compromissos. 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 agendamento de consultas. Tipo de dados: Cadeia de caracteres |
| result.service_config.appointment_booking_config | SYS_id da configuração do serviço de agendamento de compromissos para o ID do catálogo associado. Tipo de dados: Cadeia de caracteres Tabela: Configuração do serviço de agendamento de compromissos [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 agendados 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 as consultas podem ser agendadas. 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 agendado para 1:00pm e houver um cancelamento de 2 horas por hora, você deve cancelar 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". Portanto, 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 são agendados. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| result.service_config.enable_advanced_config | Sinalizador que indica se as configurações de agendamento de compromisso e as regras de agendamento de compromisso são consideradas ao agendar 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 agendar o compromisso. Tipo de dados: Objeto |
| result.service_config.field_mapping.contato | Nome da variável do catálogo que contém o valor de 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 locais. 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 uma consulta que um usuário pode agendar a consulta. Por exemplo, se você quiser agendar um compromisso às 1:00pm e houver um lead time de 2 horas, você deve 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". Portanto, 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 agendado 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 agendamento de compromissos. Para obter informações adicionais, confira Create or modify service configuration for Appointment Booking. Tipo de dados: Cadeia de caracteres Unidade: Minutos |
| task_table.task_table | Nome da tabela para a qual o compromisso pode ser reservado. Configurado na configuração do serviço de agendamento de compromissos. Tipo de dados: Cadeia de caracteres |
| resultado.traduções | Pares nome-valor de traduções de texto usados pelo widget de agendamento de consultas. 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 agendamento 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 janeiro, fevereiro, março 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 segunda, terça, quarta 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 a partir da 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 agendamento de compromissos 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) |
| view_scale.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 - OBTER /sn_apptmnt_booking/appointment/execute_rule_conditions
Retorna o sys_id da regra de configuração do serviço de agendamento de compromissos que corresponde a um sys_id de tarefa especificada 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 para acessar. 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 | Necessário. Sys_id do produtor de registro configurado com a configuração do serviço de agendamento de compromissos. Tipo de dados: Cadeia de caracteres Tabela: Produtor de registro [sc_cat_item_producer] |
| OutrosEntradas | 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 de 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 agendamento 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 da REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Suporta somente application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Suporta somente 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 REST API códigos de resposta HTTP .
| Código de 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 agendamento de compromissos 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 agendar e reagendar compromissos para um Gestão de serviços de campotarefa.
Para obter informações adicionais sobre Gestão de serviços de campotarefas, 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 para acessar. 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 | Necessá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 | Necessá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 agendamento de compromissos. Se você não passar este parâmetro, o endpoint tentará discernir 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 agendamento de compromissos [sn_apptmnt_booking_service_config]. |
| EndDateUTC | Necessá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 | Necessário. Sys_id do registro de local relacionado ao compromisso. Tipo de data: Cadeia de caracteres Tabela: Local [cmn_location] |
| Aberto para | Necessá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 | Necessário. Sinalizador que indica se o compromisso está sendo reagendado. Valores válidos:
Tipo de dados: Booliano |
| service_cofig_rule | Se o compromisso estiver sendo reservado sob 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 | Necessá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 | Necessário. Sys_id do registro de tarefa para o qual o compromisso está sendo reservado. Tipo de data: Cadeia de caracteres Tabela: Definida em taskTableparâmetro. |
| taskTable | Necessário. Nome da tabela que contém o registro de tarefa para o qual o compromisso está sendo reservado. Tipo de data: Cadeia de caracteres |
| Fuso horário | Necessá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 agendamento deve ser validada. Se alguma 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 da REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Suporta somente application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Suporta somente 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 REST API códigos de resposta HTTP .
| Código de 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 |
| resultado.dados | Sys_id do registro de compromisso que foi criado ou reagendado. Tipo de dados: Cadeia de caracteres |
| mensagem.resultado | Mensagem que explica se a solicitação de compromisso foi agendada 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 consulta. Tipo de dados: Cadeia de caracteres |
| sucesso.resultado | 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 agendamento de compromissos 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 o. 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 para acessar. 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 agendamento de compromissos. Se você não passar este parâmetro, o endpoint tentará discernir 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 agendamento de compromissos [sn_apptmnt_booking_service_config]. |
| end_date | Necessário. Data e hora de término para as 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 horário 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 | Necessário. Sinalizador que indica se todos os compromissos para o intervalo de datas especificado passados devem retornar, 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 slot 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 Padrão: Valor especificado na propriedade sn_apptmnt_booking .max_appointments_ retornado ou 1000 se a propriedade estiver vazia. |
| local | Necessário. Sys_id do registro de local associado ao compromisso. Tipo de dados: Cadeia de caracteres Tabela: Local [cmn_location] |
| opened_for | Necessá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] |
| OutrosEntradas | 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 reservas, poderá passar 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 | Necessário. Data e hora de início para as 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 de tarefa para o qual o compromisso está sendo reservado. Tipo de data: Cadeia de caracteres Tabela: Definida em taskTableparâmetro. |
| task_table | Necessário. Nome da tabela que contém o registro de tarefa para o 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 | Necessá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 da REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Suporta somente application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Suporta somente 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 REST API códigos de resposta HTTP .
| Código de 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 |
| disponibilidade.resultado | Lista de slots de compromisso que atendem à solicitação especificada. Tipo de dados: Matriz de objetos |
| disponibilidade.resultado.disponível | Sinalizador que indica se o intervalo de tempo associado está disponível. Valores possíveis:
Tipo de dados: Booliano |
| resultado.availability.end_date | Data e hora de término do compromisso associado. O fuso horário é baseado no valor no time_zoneparâmetro. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| resultado.disponibilidade.end_date_display | Exibir data e hora de término do compromisso associado. O fuso horário é baseado no valor no time_zone_display_valueparâmetro. Tipo de dados: Cadeia de caracteres Formato: O 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 |
| data_de_início.disponibilidade.resultado | Data e hora de início do compromisso associado. O fuso horário é baseado no valor no time_zoneparâmetro. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| resultado.disponibilidade.start_date_display | Exibir data e hora de início do compromisso associado. O fuso horário é baseado no valor no time_zone_display_valueparâmetro. Tipo de dados: Cadeia de caracteres Formato: O 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 após retornar o limite. Valores possíveis:
Tipo de dados: Booliano |
| 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 |
| next_available_slot.available.available | Sinalizador que indica se o intervalo de tempo associado está disponível. Valores possíveis:
Tipo de dados: Booliano |
| next_available_slot.end_date.end_date | Data e hora de término do compromisso associado. O fuso horário é baseado no valor no time_zoneparâmetro. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| next_available_slot.end_date_display.end_date_display | Exibir data e hora de término do compromisso associado. O fuso horário é baseado no valor no time_zone_display_valueparâmetro. Tipo de dados: Cadeia de caracteres |
| 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 |
| next_available_slot.start_date.start_date | Data e hora de início do compromisso associado. O fuso horário é baseado no valor no time_zoneparâmetro. Tipo de dados: Cadeia de caracteres Formato: AAAA-MM-DD hh:mm:ss |
| next_available_slot.start_date_display | Exibir data e hora de início do compromisso associado. O fuso horário é baseado no valor no time_zone_display_valueparâmetro. Tipo de dados: Cadeia de caracteres |
| 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 |
| sucesso.resultado | Sinalizador que indica se a chamada de endpoint foi bem-sucedida. Valores possíveis:
Tipo de dados: Booliano |
| time_zone.time_zone | Fuso horário em que os slots de compromisso foram renderizados. Com base nos valores na configuração do serviço de agendamento de compromissos. Tipo de dados: Cadeia de caracteres |
| time_zone_display_value.time_zone_display_value | Exiba o fuso horário em que os slots de compromisso foram renderizados. Com base nos valores na configuração do serviço de agendamento de compromissos. 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
}