API de trabalho de oferta do AWA

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 9 min. de leitura
  • . Trabalho de oferta do AWA A API fornece um endpoint para atribuir ou transferir itens de trabalho para os agentes.

    Esta API se destina ao uso com integrações do Contact Center as a Service (CCAAS) em que a decisão de roteamento e atribuição ocorre no sistema CCAAS externo. Esta API permite um cartão da caixa de entrada a ser mostrado a um agente no ServiceNow Espaço do agente como uma notificação para aceitar o item de trabalho.

    Esta API requer Atribuição avançada de trabalho plug-in (com.glide.awa). Para chamar esta API, você deve ter a função awa_manager ou awa_integration_user.

    Para obter mais informações sobre AWA, consulte Atribuição de trabalho avançada .

    Trabalho de oferta do AWA - PUBLICAR /now/awa/documents//document_table/document_sys_id/offer

    Atribui ou transfere itens de trabalho para agentes.

    Um item de trabalho é um único trabalho tratado por um AWA agente do início ao fim. Um item de trabalho é criado com base em um documento, como uma interação ou tarefa.

    Todos os agentes que recebem ou transferem itens de trabalho com esta API devem ter as funções awa_agent e awa_external_user.

    Formato de URL

    URL com controle de versão: /api/now//api/awa/documents//document_table/document_sys_id/offer

    URL padrão: /api/now/awa/documents/document_table/document_sys_id]/offer

    Parâmetros de solicitação compatíveis

    Tabela 1. Parâmetros de caminho
    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

    document_table Nome da tabela associada ao documento, como a tabela Interação [interaction] ou a tabela Tarefa [task].

    Tipo de dados: Cadeia de caracteres

    document_sys_id Sys_id do documento a ser roteado para o agente ou fila.

    Tipo de dados: Cadeia de caracteres

    Tabela 2. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 3. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    atribuição Necessário para novas atribuições. Objeto que contém informações sobre a atribuição.

    Tipo de dados: Objeto

    { 
       "after_timeout_presence": "String",
       "agent_sys_id": "String", 
       "allowed_to_decline": Boolean,
       "display_option": "String", 
       "enable_auto_assign": Boolean, 
       "offered_on": "String",
       "timeout": Number 
    } 
    assignment.after_timeout_presence Sys_id do estado de presença para o qual o agente alterna se for timeouto parâmetro expira.

    . timeouto parâmetro não foi passado, este parâmetro é ignorado.

    Para obter informações adicionais sobre estados de presença, consulte Configure agent presence states.

    Tipo de dados: Cadeia de caracteres

    Cadeia de caracteres vazia (o estado de presença do agente não muda).

    Tabela: Estado de presença do AWA [awa_presence_state]

    assignment.agent_sys_id Necessário para novas atribuições. Sys_id do agente disponível para receber o item de trabalho. O agente deve ter as funções awa_agent e awa_external_user.

    Para obter informações sobre como determinar se um agente está disponível, consulte Controles da caixa de entrada do agente .

    Tipo de dados: Cadeia de caracteres

    Tabela: Usuário [sys_user]

    assignment.allowed_to_decline Sinalizador que indica se os agentes têm permissão para rejeitar itens de trabalho. Se este parâmetro for verdadeiro , o cartão da caixa de entrada exibe ambos Aceitar e. Rejeitar botões no cartão da caixa de entrada.
    Valores válidos:
    • Verdadeiro/sim/1: O agente pode rejeitar itens de trabalho.
    • Falso/não/0: O agente não pode rejeitar itens de trabalho.

    Tipo de dados: Booliano

    Padrão: verdadeiro

    assignment.display_option Opção de exibição do cartão e da guia quando um item de trabalho é atribuído automaticamente.

    Este parâmetro só será válido se enable_auto_assign. verdadeiro .

    Valores válidos:
    • Card_and_tab: Exibe o cartão e a guia.
    • Card_only: Exibe somente o cartão.

    Tipo de dados: Cadeia de caracteres

    Padrão: Card_only

    assignment.enable_auto_assign Sinalizador que indica se o item de trabalho deve ser aceito automaticamente ou deve permitir que o agente aceite ou rejeite manualmente o item de trabalho.
    Valores válidos:
    • True/yes/1: Aceitar automaticamente.
    • False/no/0: Permite que o agente aceite ou rejeite manualmente.

    Tipo de dados: Booliano

    Padrão: falso

    assignment.offered_on Tempo de oferta do item de trabalho. O tempo de oferta é usado para calcular o tempo restante que o agente deixou para aceitar o item de trabalho na caixa de entrada. Isso ajuda a considerar a discrepância entre o momento em que a solicitação de API é processada e quando o sistema de roteamento de terceiros invoca a solicitação de API. Este parâmetro permite que os sistemas externos que chamam este endpoint configurem o tempo de oferta do item de trabalho para que ele permaneça sincronizado com o acompanhamento interno do sistema externo do item de trabalho.

    Por exemplo, se o item de trabalho foi oferecido em 11:30:30, o tempo limite é de 30 segundos e a hora atual é 11:30:45, o temporizador de contagem regressiva exibe 00:15 (como em 15 segundos restantes).

    Este valor é armazenado no campo offered_on no item de trabalho.

    Este parâmetro será ignorado se timeouto parâmetro não foi passado.

    Tipo de dados: Cadeia de caracteres

    Formato: Carimbo de data/hora UTC (aaaa-MM-dd'T'HH:mm:ss.SSS)

    atribution.timeout Tempo que o item de trabalho permanece na caixa de entrada do agente aguardando que o agente aceite a atribuição de trabalho.

    Tipo de dados: Número

    Unidade: segundos

    Cadeia de caracteres vazia (sem limite de tempo).

    external_segment_id Identificador externo do sistema CCAAS do segmento de chamada oferecido ao agente.

    Tipo de dados: Cadeia de caracteres

    queue_id Necessário para novas atribuições. Sys_id do registro de fila ou do identificador de fila em um sistema externo.

    Se estiver usando um queue_id de um sistema externo, ele deverá ser mapeado para o campo ID da fila do provedor (external_id) no registro awa_queue.

    Tipo de dados: Cadeia de caracteres

    Tabela: Fila [awa_queue]

    transferência Necessário para atribuições de transferência. Objeto que contém informações sobre a transferência.

    Se um valor for fornecido para este parâmetro, a atribuição será considerada uma atribuição de transferência.

    Tipo de dados: Objeto

    {
       "source_queue_id": "String",
       "target_id": "String",
       "target_type": "String",
       "transfer_type": "String"
    }
    transfer.source_queue_id Necessário para atribuições de transferência.

    Fila de origem de onde a transferência é iniciada. Sys_id do registro de fila ou do identificador de fila em um sistema externo.

    Se estiver usando um queue_id de um sistema externo, ele deverá ser mapeado para o campo ID da fila do provedor (external_id) no registro awa_queue.

    Este parâmetro é usado para criar um item de trabalho antes de iniciar a transferência se um item de trabalho ativo não for encontrado. Ele permite que as transferências sejam realizadas se a interação original tiver sido criada sem nenhum roteamento, como para chamadas de saída.

    Tipo de dados: Cadeia de caracteres

    Tabela: Fila [awa_queue]

    transfer.target_id Necessário para atribuições de transferência. Sys_id do registro de agente ou fila para o qual transferir a atribuição.
    • Se target_type. agente , target_idÉ o sys_id do registro de usuário do agente na tabela Usuário [sys_user].
    • Se target_type. fila , target_idÉ o sys_id do registro da fila na tabela Fila [awa_queue] ou o identificador da fila em um sistema externo.

    Tipo de dados: Cadeia de caracteres

    transfer.target_type Necessário para atribuições de transferência. Tipo de registro para o qual transferir a atribuição.
    Valores válidos:
    • agente
    • fila

    Tipo de dados: Cadeia de caracteres

    transfer.transfer_type Necessário para atribuições de transferência. Tipo de transferência.
    Valores válidos:
    • cego
    • consultar

    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 .

    Tabela 4. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml.

    Padrão: application/json

    Tipo de conteúdo Formato de dados do corpo da solicitação. Tipos compatíveis: application/jsonou application/xml.

    Padrão: application/json

    Tabela 5. Cabeçalhos de resposta
    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 .

    Tabela 6. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    404 Não encontrado. O item solicitado não foi encontrado.
    409 Conflito. A solicitação não pôde ser processada devido a um erro com o item de trabalho do documento fornecido ou o sys_id do agente.
    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 (JSON ou XML)

    Nome Descrição
    mensagem Mensagem de resposta com informações sobre o sucesso ou falha da atribuição.
    Valores possíveis:
    • Atribuição manual solicitada com sucesso - Sucesso.
    • O solicitante do <API_caller_sys_id> não tem a função awa_manager ou awa_integration_user - O usuário autenticado que faz a solicitação de API deve ter a função awa_manager ou awa_integration_user.
    • Item de trabalho aceito não pode ser atribuído Item de trabalho não pode ser atribuído porque ele já foi aceito por um agente. Para obter mais informações, consulte Check work items and AWA events.
    • o <agent_sys_id> não é um agente válido - O agente não tem a função awa_agent.
    • Transferência com falha - não foi possível fazer a transferência oculta para o agente - A atribuição não foi transferida porque o agente não está no estado Disponível no AWA.
    • O item de trabalho já está atribuído ao <agent_sys_id> - O item de trabalho fornecido foi atribuído a outro agente.
    • O agente não está disponível - O agente não está no estado Disponível no AWA. Para obter mais informações, consulte Controles da caixa de entrada do agente .
    • O valor do tempo limite não pode ser negativo O valor de tempo limite informado não pode ser negativo.
    • <presence_state_sys_id> não é um estado de presença válido O sys_id do estado de presença informado não existe na tabela Estado de presença do AWA [awa_presence_state].
    • O horário oferecido (<offered_on_timestamp>) deve estar no seguinte formato: aaaa-MM-dd'T'HH:mm:ss.SSS - O carimbo de data/hora offered_on fornecido deve usar o formato especificado.
    • O tempo oferecido (<offered_on_timestamp>) deve ser anterior à hora atual, caso contrário, o agente terá mais tempo para aceitar o item de trabalho - O carimbo de data/hora offered_on fornecido não pode ser anterior à hora em que a solicitação é feita.
    • O carimbo de data/hora após o tempo limite (<offered_on_timestamp >) deve ser posterior à hora atual, caso contrário, o agente não terá tempo para aceitar o item de trabalho - O carimbo de data/hora após adicionar o valor de tempo limite ao carimbo de data/hora offered_on fornecido deve ser posterior à hora em que a solicitação foi feita.
    • <display_option> não é uma opção de exibição válida Display_option fornecido deve ser um dos seguintes valores: card_only ou card_and_tab .
    • %s não é um valor booliano válido O valor booliano informado deve usar um dos seguintes formatos: sim/não , verdadeiro/falso , 1/0 .
    • O usuário não tem a função "awa_external_user" - O agente que recebe a atribuição deve ter a função awa_external_user.
    • O documento não está ativo - O documento fornecido deve estar ativo e não em um estado encerrado.
    êxito Sinalizador que indica se a atribuição foi bem-sucedida.
    Valores possíveis:
    • Verdadeiro: Atribuição bem-sucedida.
    • Falso: Atribuição malsucedida.

    Tipo de dados: Booliano

    work_item Detalhes sobre o item de trabalho criado ou atualizado.

    Tipo de dados: Objeto

    { 
       "display_name": "String",
       "document_id": "String", 
       "document_table": "String", 
       "queue": "String", 
       "sys_id": "String" 
    }
    work_item.display_name Nome de exibição do registro do documento.

    Tipo de dados: Cadeia de caracteres

    work_item.document_id Sys_id do registro do documento.

    Tipo de dados: Cadeia de caracteres

    work_item.document_table Nome da tabela associada ao documento.

    Tipo de dados: Cadeia de caracteres

    work_item.queue Sys_id do registro de fila ou do identificador de fila em um sistema externo.

    Tipo de dados: Cadeia de caracteres

    Tabela: Fila [awa_queue]

    work_item.sys_id Sys_id do item de trabalho.

    Tipo de dados: Cadeia de caracteres

    Tabela: Item de trabalho [awa_work_item]

    Solicitação de curl

    Este exemplo mostra como atribuir um item de trabalho a um agente.

    curl "https://instance.servicenow.com/api/now/awa/documents/interaction/59616aba87bd5210be070d48dabb35e6/offer" \ 
    --request POST \ 
    --header "Accept:application/json" \ 
    --header "Content-Type:application/json" \ 
    --data '{ 
        "external_segment_id": "segment_59616aba87bd5210be070d48dabb35e6", 
        "queue_id": "92f8942787851210be070d48dabb35fb", 
        "assignment": { 
            "agent_sys_id": "0d584509c323120095ccd02422d3ae5b", 
            "allowed_to_decline": "true", 
            "enable_auto_assign": "false", 
            "timeout": 30, 
            "offered_on":"2024-04-03T23:09:31.000" 
        } 
    }' 
    --user 'username':'password'

    A resposta mostra que o item de trabalho foi atribuído com sucesso ao agente. Você pode verificar o resultado no campo Atribuído a do registro Item de trabalho [awa_work_item].

    { 
       "result": { 
          "work_item": { 
             "display_name": "Interaction: IMS0000221", 
             "sys_id": "bfa3a27e87bd5210be070d48dabb3588", 
             "document_id": "59616aba87bd5210be070d48dabb35e6", 
             "document_table": "interaction", 
             "queue": "92f8942787851210be070d48dabb35fb" 
          }, 
          "success": true, 
          "message": "Manual assignment successfully requested." 
       } 
    }