Openframe API

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 8 min. de leitura
  • . openframe A API fornece endpoints que fornecem a Central de contato como serviço (CCaaS) a capacidade de criar e atualizar registros de interação sem usar o Manipulador de operações.

    Use esta API para criar registros de interação para rastrear chamadas telefônicas do agente. Depois que um registro de interação é criado, a interação pode ser exibida automaticamente no Espaço configurável do CSM quando um agente recebe uma chamada telefônica.

    Para acessar esta API, o plug-in com.sn_openframe_store deve ser instalado na instância e o usuário chamador deve ter a função sn_openframe_api_user ou sn_openframe_user. . openframe A API é executada no sn_openframe namespace.

    Para obter informações adicionais sobre registros de interação de voz do CSM, consulte CSM voice interaction record page.

    Openframe - PATCH /openframe/voice-interaction/

    Atualiza o registro de interação especificado na tabela Interaction [interaction]. Os provedores de Contact Center as a Service (CCaaS) podem usar esses registros para rastrear chamadas telefônicas.

    Formato de URL

    URL com controle de versão: /api/now/openframe/

    URL padrão: /api/now/openframe/voice-interaction/

    Nota:
    As versões disponíveis são especificadas em REST API Explorer . Para REST APIs com script, há informações adicionais de versão no Formulário de serviço REST com script .

    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

    interactionSysId Sys_id do registro de interação a ser atualizado. Este valor é retornado pelo Criar interação de voz/POST endpoint.

    Tipo de dados: Cadeia de caracteres

    Tabela: Interação [interaction]

    Tabela 2. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 3. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    interação Obrigatório. Detalhes da interação de voz. Pelo menos um parâmetro deve ser passado.

    Tipo de dados: Objeto

    "interaction": {
      "additionalParams": {Object},
      "callbackPhoneNumber": "String",
      "clientSessionId": "String",
      "inboundId": "String",
      "userPhoneNumber": "String"
    }
    Interaction.additionalParams Pares nome-valor dos campos de registro de interação associados e seus respectivos valores.
    Por exemplo:
    "additionalParams": {
      "direction": "inbound",
      "short_description": "New outbound call",
      "assigned_to": "a8f98bb0eb32010045e1a5115206fe3a"
    }

    Tipo de dados: Objeto

    Padrão: Nenhum

    interaction.callbackPhoneNumber Número de telefone de retorno de chamada do chamador. Este é o número que o agente usa para entrar em contato com o solicitante caso a chamada seja descartada.

    Tipo de dados: Cadeia de caracteres

    Formato: E.164

    Padrão: Nenhum

    Interaction.clientSessionId Identificador exclusivo do registro em um sistema externo usado para rastrear esta chamada telefônica. Essas informações vinculam os registros entre os dois sistemas.

    Tipo de dados: Cadeia de caracteres

    Padrão: Nenhum

    interaction.inboundId Identificador exclusivo do provedor de aplicações para o serviço de voz.

    Tabela: Campo ID de entrada na tabela Aplicação de canal do provedor [sys_cs_provider_application].

    Padrão: Nenhum

    interaction.userPhoneNumber Número de telefone do usuário que fez a chamada associada à interação de voz.

    Tipo de dados: Cadeia de caracteres

    Formato: E.164

    InteractionContext Variáveis de contexto de interação a serem definidas. Pares nome-valor das variáveis de contexto de interação a serem salvas no registro de interação. Esses valores são determinados por CCaaS.
    Por exemplo:
    "interactionContext":{
      "devicetype": "genesys",
      "requester_session_language": "en-US"
    }

    Tipo de dados: Objeto

    Padrão: Nenhum

    PhoneLogs Pares nome-valor dos logs de telefone para criar e associar a uma chamada. Você pode especificar qualquer campo na tabela Log de telefone [sn_open_frame_phone_log].
    Por exemplo:
    "phoneLogs":[
      {
        "agent": "String",
        "call_id": "String",
        "start_time": "String"
      }
    ]

    Tipo de dados: Matriz de objetos

    Padrão: Nenhum

    RelatedRecords Registros relacionados à chamada.
    Tipo de dados: Matriz de objetos
    "relatedRecords":[
      {
        "documentId": "String",
        "documentTable": "String"
      }
    ]

    Padrão: Nenhum

    RelatedRecords.documentId Sys_id do registro relacionado.

    Tipo de dados: Cadeia de caracteres

    Tabela: Especificada em relatedRecords.documentTableparâmetro.

    RelatedRecords.documentTable Nome da tabela que contém o registro relacionado.

    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.
    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 (JSON ou XML)

    Nome Descrição
    status Status da atualização do registro.
    Valores possíveis:
    • SUCESSO: O registro de interação foi atualizado com sucesso.
    • FALHA: O registro de interação não foi atualizado.

    Solicitação de curl

    O exemplo de código a seguir mostra como atualizar o registro de interação com o sys_id 12961fff7fb2d2102d0cd3cf8c8c86652b.

    curl "http://instance.service-now.com/api/now/openframe/voice-interaction/12961fff7fb2d2102d0cd3cf8c86652b" \
    --request PATCH \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"interaction\":{
          \"additionalParams\":{
             \"direction\":\"inbound\",
             \"short_description\":\"New Poonam outbound call\",
             \"assigned_to\":\"a8f98bb0eb32010045e1a5115206fe3a\"
          }
       },
       \"interactionContext\":{
          \"devicetype\":\"genesys\",
          \"requester_session_language\":\"en-US\"
       },
       \"phoneLogs\":[
          {
             \"call_id\":\"2323223\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          },
          {
             \"call_id\":\"33535353\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          },
          {
             \"call_id\":\"1997654\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          }
       ],
       \"relatedRecords\":[
          {
             \"documentTable\":\"csm_consumer\",
             \"documentId\":\"59e788fbdb1b1200b6075200cf9619d2\"
          },
          {
             \"documentTable\":\"sys_user\",
             \"documentId\":\"62826bf03710200044e0bfc8bcbe5df1\"
          }
       ]
    }" \
    --user 'username':'pasword'
    

    Resposta:

    {
      "result": {
        "status": "SUCCESS"
      }
    }
    

    Openframe - POST /openframe/voice-interaction

    Cria um registro de interação na tabela Interaction [interaction] quando um agente aceita uma chamada. Os provedores de Contact Center as a Service (CCaaS) podem usar esses registros para rastrear chamadas telefônicas.

    Use este endpoint para fornecer uma experiência consistente para os agentes, semelhante a outros canais nativos, como bate-papo e caso, ao aceitar chamadas telefônicas.

    Formato de URL

    URL com controle de versão: /api/now/openframe/

    URL padrão: /api/now/openframe/voice-interaction

    Nota:
    As versões disponíveis são especificadas em REST API Explorer . Para REST APIs com script, há informações adicionais de versão no Formulário de serviço REST com script .

    Parâmetros de solicitação compatíveis

    Tabela 7. 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

    Tabela 8. Parâmetros de consulta
    Nome Descrição
    Nenhum(a)
    Tabela 9. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    interação Obrigatório. Detalhes da interação de voz. Pelo menos um parâmetro deve ser passado.
    Tipo de dados: Objeto
    "interaction": {
      "additionalParams": {Object},
      "callbackPhoneNumber": "String",
      "clientSessionId": "String",
      "inboundId": "String",
      "userPhoneNumber": "String"
    }
    Interaction.additionalParams Pares nome-valor dos campos de registro de interação associados e seus respectivos valores.
    Por exemplo:
    "additionalParams": {
      "direction": "inbound",
      "short_description": "New outbound call",
      "assigned_to": "a8f98bb0eb32010045e1a5115206fe3a"
    }

    Tipo de dados: Objeto

    Padrão: Nenhum

    interaction.callbackPhoneNumber Número de telefone de retorno de chamada do chamador. Este é o número que o agente usa para entrar em contato com o solicitante caso a chamada seja descartada.

    Tipo de dados: Cadeia de caracteres

    Formato: E.164

    Padrão: Nenhum

    Interaction.clientSessionId Identificador exclusivo do registro em um sistema externo usado para rastrear esta chamada telefônica. Essas informações vinculam os registros entre os dois sistemas.

    Tipo de dados: Cadeia de caracteres

    Padrão: Nenhum

    interaction.inboundId Identificador exclusivo do provedor de aplicações para o serviço de voz.

    Tabela: Campo ID de entrada na tabela Aplicação de canal do provedor [sys_cs_provider_application].

    Padrão: Nenhum

    interaction.userPhoneNumber Obrigatório. Número de telefone do usuário que fez a chamada associada à interação de voz.

    Tipo de dados: Cadeia de caracteres

    Formato: E.164

    InteractionContext Variáveis de contexto de interação a serem definidas. Pares nome-valor das variáveis de contexto de interação a serem salvas no registro de interação. Esses valores são determinados por CCaaS.
    Por exemplo:
    "interactionContext":{
      "devicetype": "genesys",
      "requester_session_language": "en-US"
    }

    Tipo de dados: Objeto

    Padrão: Nenhum

    PhoneLogs Pares nome-valor dos logs de telefone para criar e associar a uma chamada. Você pode especificar qualquer campo na tabela Log de telefone [sn_open_frame_phone_log].
    Por exemplo:
    "phoneLogs":[
      {
        "agent": "String",
        "call_id": "String",
        "start_time": "String"
      }
    ]

    Tipo de dados: Matriz de objetos

    Padrão: Nenhum

    RelatedRecords Registros relacionados à chamada.
    Tipo de dados: Matriz de objetos
    "relatedRecords":[
      {
        "documentId": "String",
        "documentTable": "String"
      }
    ]

    Padrão: Nenhum

    RelatedRecords.documentId Sys_id do registro relacionado.

    Tipo de dados: Cadeia de caracteres

    Tabela: Especificada em relatedRecords.documentTableparâmetro.

    RelatedRecords.documentTable Nome da tabela que contém o registro relacionado.

    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 10. 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 11. 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 12. Códigos de status
    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 (JSON ou XML)

    Nome Descrição
    número Retornado somente em caso de sucesso. Número da interação de voz recém-criada.

    Tipo de dados: Cadeia de caracteres

    status Status da criação do registro.
    Valores possíveis:
    • SUCESSO: O registro de interação foi criado com sucesso.
    • FALHA: O registro de interação não foi criado.
    sysId Retornado somente em caso de sucesso. Sys_id do registro de interação de voz recém-criado.

    Tabela: Interação [interaction]

    Solicitação de curl

    O exemplo de código a seguir mostra como criar um novo registro de interação.

    curl "http://instance.service-now.com/api/now/openframe/voice-interaction" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
       \"interaction\":{
          \"userPhoneNumber\":\"+1303506536\",
          \"clientSessionId\":\"a545t65678\",
          \"callbackPhoneNumber\":\"+14089965744\",
          \"additionalParams\":{
             \"direction\":\"inbound\",
             \"short_description\":\"New outbound call\",
             \"assigned_to\":\"a8f98bb0eb32010045e1a5115206fe3a\"
          }
       },
       \"interactionContext\":{
          \"devicetype\":\"genesys\",
          \"requester_session_language\":\"en-US\"
       },
       \"phoneLogs\":[
          {
             \"call_id\":\"2323223\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          },
          {
             \"call_id\":\"33535353\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          },
          {
             \"call_id\":\"1997654\",
             \"agent\":\"a8f98bb0eb32010045e1a5115206fe3a\",
             \"start_time\":\"2024-11-04 21:45:00\"
          }
       ],
       \"relatedRecords\":[
          {
             \"documentTable\":\"csm_consumer\",
             \"documentId\":\"59e788fbdb1b1200b6075200cf9619d2\"
          },
          {
             \"documentTable\":\"sys_user\",
             \"documentId\":\"62826bf03710200044e0bfc8bcbe5df1\"
          }
       ]
    }" \
    --user 'username':'password'
    

    Resposta:

    {
      "result": {
        "status": "SUCCESS",
        "sysId": "12961fff7fb2d2102d0cd3cf8c86652b",
        "number": "IMS0000052"
      }
    }