Ir para o conteúdo

Página de Registro de Auditoria no Jitterbit Management Console

Visão Geral

Propósito Obter logs de atividade do usuário do Harmony
Localização Menu do portal Harmony > Management Console > Registro de Auditoria
Acesso à página Usuários com permissão de Admin papel

Introdução

Você pode recuperar os logs de atividade do usuário do Harmony que ocorrem no Management Console, API Manager, e Integration Studio, e usuários externos acessando a página do API Portal:

Tabela de registro de auditoria

Como alternativa à visualização dos logs de auditoria nesta página, você pode recuperar logs de auditoria usando uma API REST. A API do serviço de log de auditoria é descrita mais adiante nesta página.

Nota

Os logs de auditoria são retidos por 30 dias após a atividade do usuário ocorrer.

Pré-requisitos

Para habilitar e visualizar logs de auditoria, você deve ser membro de um papel com permissão de Admin na organização.

Habilitar registro de auditoria

O controle para habilitar ou desabilitar o registro de auditoria é sincronizado entre estas duas páginas do Management Console:

  • Esta página: Selecione Registro de Auditoria Desativado para ativar ou Registro de Auditoria Ativado para desativar o registro de auditoria para a [organização atualmente ativa]:

    Cabeçalho da página 1a

    Cabeçalho da página 1b

  • Página de [Organizações]: Selecione a organização apropriada na tabela. No painel Políticas da Organização, selecione a aba Gerenciamento de API, em seguida, selecione Ativar registro de auditoria para ativar ou desativar o registro de auditoria para a organização.

Cabeçalho da página de Registro de Auditoria

O cabeçalho na parte superior da página inclui uma barra de pesquisa e ícone de filtro, filtros de data e hora, e opções adicionais:

Cabeçalho da página 2

Para filtrar logs, use a barra de pesquisa:

Barra de pesquisa

Existem várias maneiras de usar a barra de pesquisa:

  • Seleção de filtro único: Clique na barra de pesquisa vazia para abrir uma lista dos seguintes tipos de campo selecionáveis e valores disponíveis para cada um:

    • Nome de usuário
    • Ação
    • Ambiente

    Clique em um valor de campo para filtrar os logs por esse campo.

    Clique novamente na barra de pesquisa para abrir o diálogo de seleção de múltiplos filtros.

  • Seleção de múltiplos filtros: Clique no ícone Filtro para abrir o diálogo de seleção de múltiplos filtros:

    Diálogo de filtro

    Você pode usar isso para filtrar logs por um ou mais dos seguintes campos-chave:

    • Nome de usuário: Abra o menu e, em seguida, selecione um nome de usuário.

    • Ação: Abra o menu e, em seguida, selecione uma das seguintes ações:

      • Criar

      • Excluir

      • Consultar

      • Atualizar

    • Informações da atividade: Digite uma string de pesquisa.

    • Ambiente: Abra o menu e, em seguida, selecione um ambiente.

    • Descrição da atividade: Digite uma string de pesquisa.

Clique no botão Pesquisar para aplicar o filtro ou Redefinir para remover o filtro.

  • Entrada de sintaxe de filtro: Quando a barra de pesquisa está vazia, você pode inserir chaves e valores de pesquisa diretamente na barra de pesquisa. Ela possui um recurso de previsão que sugere termos e valores disponíveis.

    Quando você usa os filtros único e múltiplo, o conjunto equivalente de chaves e valores de pesquisa é inserido na barra de pesquisa. Você pode usar a consulta como está ou editá-la antes de enviar.

    Você deve terminar cada par chave/valor de pesquisa com um ponto e vírgula, e pode usar apenas um de cada por consulta. As chaves e valores de pesquisa permitidos são os seguintes:

    • username=<USERNAME>, onde <USERNAME> é um nome de login do Harmony.

    • action=<ACTION>, onde <ACTION> é um dos create, delete, query ou update.

    • activityInfo=<ACTIVITY_INFO>, onde <ACTIVITY_INFO> é qualquer string que apareça na coluna Informações da Atividade.

    • environmentName=<ENVIRONMENT_NAME>, onde <ENVIRONMENT_NAME> é um nome de ambiente válido.

    • activity=<ACTIVITY>, onde <ACTIVITY> é qualquer string que apareça na coluna Descrição da Atividade.

    Exemplos
    Consulta de termo único: username
    username=example@jbexample.com;
    
    Consulta de termo único: action
    action=query;
    
    Consulta de termo único: environmentName
    environmentName=production;
    
    Consulta de termo único: activity
    activity=two factor;
    
    Consulta de termo único: activityInfo
    activityInfo=test;
    
    Consulta de múltiplos termos
    username=example@jbexample.com;action=Create;environmentName=Example Env A;activity=organization;
    

Filtros de data e hora

Por padrão, os dados do log de auditoria dos últimos dois dias são exibidos na tabela de logs de auditoria.

Para alterar o período, clique no ícone de calendário na barra de intervalo de datas:

Barra de intervalo de datas

Um seletor de data é aberto onde você pode definir as datas de início e fim para o período de exibição, usando intervalos de datas relativos ou absolutos:

Filtro de data de auditoria

Filtro de data de auditoria

Para redefinir o período para o padrão, clique no ícone de redefinição da barra de intervalo de datas.

O idioma do seu navegador determina como as datas são exibidas.

Opções adicionais

À direita dos filtros de data e hora estão os seguintes controles:

  • Atualizar: Atualiza os dados da tabela.

  • Configurações de colunas: Abra a gaveta de configurações de colunas:

    Configurações de colunas

    Use isso para alterar a disposição e a visibilidade das colunas. A gaveta possui os seguintes controles:

    • Mostrar Todas: Torna todas as colunas visíveis.
    • Mover: Arraste e solte para mudar a posição da coluna em relação às outras.
    • Ocultar: A coluna está visível. Clique para ocultá-la.
    • Mostrar: A coluna está oculta. Clique para mostrá-la.
    • Salvar: Salva as colunas.
    • Cancelar: Fecha a gaveta de colunas sem salvar as alterações.
  • Baixar: Clique para baixar um arquivo ZIP contendo um arquivo CSV com os dados do log de auditoria atual com base nos filtros e critérios de pesquisa aplicados.

Quando há mais de 100 operações, elas são divididas em páginas de 100 cada. Você pode navegar por elas usando esses botões de navegação na parte inferior da tabela:

Paginação de auditoria

  • Primeira página: Vá para a primeira página.

  • Página anterior: Vá para a página anterior.

  • Próxima página: Vá para a próxima página.

  • Última página: Vá para a última página.

Visualizar logs de auditoria

Cada linha na tabela de logs de auditoria exibe dados de registro de auditoria de atividades e logins que ocorrem no Console de Gerenciamento, API Manager e Integration Studio:

Tabela de registro de auditoria

  • Nome de usuário: O nome de usuário do usuário que está realizando a atividade.

  • Ação: A ação realizada pelo usuário, uma das Criar, Excluir, Atualizar ou Consultar:

    • Criar: Indica que o usuário criou novos dados no conteúdo de uma página no Console de Gerenciamento, uma API no API Manager ou um projeto no Integration Studio. Por exemplo, criar um novo agente no Console de Gerenciamento ou implantar um projeto no Integration Studio seria uma ação de Criar.

    • Excluir: Indica que o usuário excluiu dados do conteúdo de uma página no Console de Gerenciamento, uma API no API Manager ou um projeto no Integration Studio. Por exemplo, excluir um agente no Console de Gerenciamento ou excluir um projeto do Integration Studio seria uma ação de Excluir.

    • Atualizar: Indica que o usuário atualizou o conteúdo de uma página no Console de Gerenciamento, uma API no API Manager ou um projeto no Integration Studio. Por exemplo, mudar o nome de um agente no Console de Gerenciamento seria uma ação de Atualizar.

    • Consultar: Indica que o usuário visualizou o conteúdo de uma página no Console de Gerenciamento, uma API no API Manager ou um projeto no Integration Studio. Por exemplo, visualizar a lista de projetos no Integration Studio seria uma ação de Consultar.

  • Informações da Atividade: Quando uma ação de implantação ocorre, esta coluna exibe os nomes do projeto do Integration Studio e da operação afetados. Quando um projeto é implantado, o nome do projeto é exibido. Quando uma única operação é implantada, o nome do projeto que contém a operação e o nome da operação são exibidos. Quando um perfil de segurança do API Manager é adicionado ou removido, a alteração é exibida. Quando um papel de usuário é alterado, a alteração é exibida.

  • Hora: O carimbo de data/hora da atividade. Os horários são exibidos no fuso horário do seu navegador.

  • ID do Ambiente: O ID do ambiente ou ambientes onde a atividade ocorre.

  • Nome do Ambiente: O nome do ambiente onde a atividade ocorre.

  • Descrição da Atividade: Uma descrição da atividade. Se nenhuma descrição estiver disponível, a URL do endpoint é exibida.

API do serviço de log de auditoria

Como alternativa à visualização de logs de auditoria na página Registro de Auditoria do Console de Gerenciamento, você pode recuperar logs de auditoria usando uma API REST. Isso requer o uso de utilitários de linha de comando, como curl, ou aplicativos como Postman.

Para usar a API do Serviço de Log de Auditoria, após habilitar o registro de auditoria para a organização (descrito anteriormente nesta página), siga estas etapas:

  1. Recupere um token de autenticação usando a API do Controlador de Serviço de Usuário. Este token é necessário para usar a API do Serviço de Log de Auditoria.

  2. Recupere logs usando a API do Serviço de Log de Auditoria.

Recuperar um token de autenticação

Recuperar um token de autenticação requer o uso da API do Controlador de Serviço de Usuário.

Importante

Se sua organização Harmony tiver a TFA habilitada, esta solicitação falhará. Recuperar o token de autenticação requer duas solicitações diferentes.

Um exemplo de solicitação mostrando o login na região NA e a recuperação do token de autorização:

Usando curl
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "alice@jbexample.com",
    "password": "Jitterbit4Ever!"
}'

URL Base

A URL base depende da região em que a organização está localizada:

Região URL Base
NA https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login
EMEA https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/user/login
APAC https://apac.jitterbit.com/jitterbit-cloud-restful-service/user/login

Cabeçalhos

Esses cabeçalhos são obrigatórios:

Cabeçalho Obrigatório Exemplo Descrição
Content-Type Obrigatório 'Content-Type: application/json' Indica o formato que será enviado na solicitação.

Parâmetros do corpo

Esses parâmetros obrigatórios são passados no corpo da solicitação:

Parâmetro Obrigatório Obrigatório Tipo Exemplo Descrição
email Obrigatório String alice@jbexample.com Nome de usuário do Harmony (endereço de email) com um papel com permissão Admin na organização
password Obrigatório String Jitterbit4Ever! Senha do usuário do Harmony

Corpo da resposta

O corpo da resposta retornada contém uma lista das organizações com as quais o usuário está associado, além do token de autenticação ("authenticationToken"). Este token é necessário para a autorização subsequente com a API de Registro de Auditoria. Neste exemplo, o token de autenticação é "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4". O ID da organização é mostrado como "123456" para a primeira organização à qual este usuário pertence. Um exemplo da resposta:

Response Body
{
  "status": true,
  "operation": "User login",
  "authenticationToken": "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4",
  "serverUrl": "https://na-east.jitterbit.com",
  "cloudAppsUrl": "https://na-east.jitterbit.com",
  "orgAttrs": [
    {
      "orgId": "123456",
      "orgName": "JB Example Company",
      "orgZoneUrl": "https://na-east.jitterbit.com"
    },
    {
      "orgId": "20970",
      "orgName": "example@jbexample.com",
      "orgZoneUrl": "https://na-east.jitterbit.com"
    }
  ],
  "defaultOrgId": "123456",
  "sessionTimeoutInSeconds": 14400
}

Recuperar um token de autenticação com TFA habilitado

Se a organização do usuário no Harmony tiver a autenticação de dois fatores (TFA) habilitada, a recuperação do token de autenticação requer duas solicitações usando a API do User Service Controller:

  1. Recuperar um código TFA

  2. Usar o código TFA para recuperar um token de autenticação

Recuperar um código TFA

Um código TFA válido é necessário para recuperar um token de autenticação quando a TFA está habilitada. Um exemplo de solicitação mostrando o login na região NA e a solicitação de um código TFA:

Using curl
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "alice@jbexample.com",
    "password": "Jitterbit4Ever!",
    "deviceId": "abcd"
}'
URL Base

A URL base depende da região em que a organização está localizada:

Região URL Base
NA https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login
EMEA https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/user/login
APAC https://apac.jitterbit.com/jitterbit-cloud-restful-service/user/login
Cabeçalhos

Esses cabeçalhos são necessários:

Cabeçalho Necessário Exemplo Descrição
Content-Type Necessário 'Content-Type: application/json' Indica o formato que será enviado na solicitação.
Parâmetros do corpo

Esses parâmetros obrigatórios são passados no corpo da solicitação:

Parâmetro Obrigatório Necessário Tipo Exemplo Descrição
email Necessário String alice@jbexample.com Nome de usuário do Harmony (endereço de email) com um papel com permissão de Admin na organização
password Necessário String Jitterbit4Ever! Senha do usuário do Harmony
deviceId Necessário String abcd Identificador que será usado para confirmar o código TFA na próxima solicitação
Corpo da resposta

O corpo da resposta retornada contém uma mensagem de erro indicando que um código TFA foi enviado para o endereço de email do usuário.

Corpo da Resposta
{
  "status": false,
  "operation": "User login",
  "errorCode": "VALIDATE_TFA_LOGIN_EMAIL",
  "errorMessage": "Validate your login with authentication code. An email from Jitterbit with the code was sent to you.",
  "authenticationToken": null,
  "serverUrl": "https://na-east.jitterbit.com",
  "orgAttrs": [],
  "defaultOrgId": null
}

Use o código TFA para recuperar um token de autenticação

O código TFA enviado para o endereço de email do usuário pode agora ser usado na segunda solicitação para recuperar o token de autenticação. Um exemplo de solicitação mostrando o login na região NA com um código TFA e a recuperação do token de autorização:

Usando curl
curl --location --request PUT 'https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login/tfacode' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "alice@jbexample.com",
    "password": "Jitterbit4Ever!",
    "code": "112233",
    "deviceId": "abcd"
}'
URL base

A URL base depende da região em que a organização está localizada:

Região URL Base
NA https://na-east.jitterbit.com/jitterbit-cloud-restful-service/user/login/tfacode
EMEA https://emea-west.jitterbit.com/jitterbit-cloud-restful-service/user/login/tfacode
APAC https://apac.jitterbit.com/jitterbit-cloud-restful-service/user/login/tfacode
Cabeçalhos

Esses cabeçalhos são obrigatórios:

Cabeçalho Obrigatório Exemplo Descrição
Content-Type Obrigatório 'Content-Type: application/json' Indica o formato que será enviado na solicitação.
Parâmetros do corpo

Esses parâmetros obrigatórios são passados no corpo da solicitação:

Parâmetro Obrigatório Obrigatório Tipo Exemplo Descrição
email Obrigatório String alice@jbexample.com Nome de usuário do Harmony (endereço de email) com um papel com permissão Admin na organização
password Obrigatório String Jitterbit4Ever! Senha do usuário do Harmony
code Obrigatório String 112233 Código TFA enviado para o email do usuário do Harmony
deviceId Obrigatório String abcd Identificador enviado para gerar o código TFA na solicitação anterior
Corpo da resposta

O corpo da resposta retornada contém uma lista das organizações com as quais o usuário está associado, além do token de autenticação ("authenticationToken"). Este token é necessário para a autorização subsequente com a API de Registro de Auditoria. Neste exemplo, o token de autenticação é "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4". O ID da organização é mostrado como "123456" para a primeira organização à qual este usuário pertence. Um exemplo da resposta:

Corpo da Resposta
{
  "status": true,
  "operation": "User login",
  "authenticationToken": "1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4",
  "serverUrl": "https://na-east.jitterbit.com",
  "cloudAppsUrl": "https://na-east.jitterbit.com",
  "orgAttrs": [
    {
      "orgId": "123456",
      "orgName": "JB Example Company",
      "orgZoneUrl": "https://na-east.jitterbit.com"
    },
    {
      "orgId": "654321",
      "orgName": "example@jbexample.com",
      "orgZoneUrl": "https://na-east.jitterbit.com"
    }
  ],
  "defaultOrgId": "123456",
  "sessionTimeoutInSeconds": 14400
}

Recuperar logs de auditoria

Uma vez que você tenha o token de autenticação, o ID da organização e um período de tempo de seu interesse, você pode recuperar os logs de auditoria. Um exemplo mostrando a recuperação de todos os registros a partir de 1º de janeiro de 2021 e incluindo a versão detalhada dos registros:

Usando curl
curl --request POST 'https://api.na.jitterbit.com/v1/auditlog?detail=true' \
--header 'accept: application/json' \
--header 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "queryParams": {
        "organization_id": "123456"
    },
    "range": {
        "fromTimestamp": "2021-01-01T00:00:00.000Z",
        "toTimeStamp": "9999-01-01T00:00:00.000Z"
    }
}'

Nota

Se presente na saída do log, senhas, frases de senha e tokens de autenticação são sobrescritos com asteriscos para mascará-los.

URL Base

A URL base depende da região em que a organização está localizada:

Região URL Base
NA https://api.na.jitterbit.com/v1/auditlog
EMEA https://api.emea.jitterbit.com/v1/auditlog
APAC https://api.apac.jitterbit.com/v1/auditlog

Endpoints

O Serviço de Registro de Auditoria possui estes endpoints (APIs) disponíveis:

Endpoint Cabeçalho accept Opcional Descrição
auditlog 'accept: application/json' Retorna logs de auditoria em formato JSON
auditlog/download 'accept: application/zip' Retorna logs de auditoria em um formato CSV comprimido (ZIP) com o formato de nome de arquivo audit-log_YYYY_MM_DD_HH_MM_SS.zip

Parâmetros de URL

Esses parâmetros podem ser passados na URL:

Parâmetro Obrigatório Tipo Exemplo Descrição
detail Opcional Boolean detail=true Indica se o user_id do usuário que está realizando a ação deve ser retornado nos dados. Por padrão, isso é false.

Cabeçalhos

Esses cabeçalhos podem ser usados na solicitação:

Cabeçalho Obrigatório Exemplo Descrição
accept Opcional 'accept: application/json'
'accept: application/zip'
Indica o formato que será aceito na resposta: um de json ou zip. Se usado, deve corresponder ao endpoint conforme mostrado acima.
authToken Obrigatório 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4' Passa o token de autorização (authenticationToken) retornado pela API do Controlador de Serviço de Usuário.
Content-Type Obrigatório 'Content-Type: application/json' Indica o formato que será enviado na solicitação.

Parâmetros do corpo

Esses parâmetros podem ser passados no corpo da solicitação:

Parâmetro Chave Obrigatório Tipo Exemplo Descrição
queryParams Não aplicável Obrigatório Mapa "queryParams": {
"organization_id": "123456"
}
Os parâmetros de consulta usados ao pesquisar no banco de dados de logs de auditoria; os termos de consulta são combinados com um operador AND.
queryParams organization_id Obrigatório String 123456 ID da organização Harmony. A organização deve estar localizada na região que corresponde à URL base.
queryParams organization_name Opcional String JB Example Company Nome da organização.
queryParams operation_name Opcional String /jitterbit-cloud-restful-service/... O nome (URL) da operação (a chamada da API para Harmony) que foi registrada.
queryParams action Opcional String QUERY A ação realizada pela operação.
queryParams action_timestamp Opcional String 2021-01-01T00:00:00.000Z Data de início, no formato yyyy-MM-ddTHH:mm:ss.sssZ.
queryParams environment_ids Opcional Array [132510, 132520, 132530] Lista de IDs de ambiente separados por vírgula a serem usados na consulta.
queryParams environment_names Opcional Array ["Development", "QA"] Lista de nomes de ambiente separados por vírgula a serem usados na consulta.
range Não aplicável Obrigatório Mapa "range": {
"fromTimestamp": "2021-01-01T00:00:00.000Z",
"toTimeStamp": "9999-01-01T00:00:00.000Z"
}
O intervalo de tempo dos logs de auditoria que devem ser retornados. Especifique uma data no futuro para retornar todos os logs. Os logs são retidos por trinta dias. Embora você possa especificar uma data no passado e no futuro, apenas os logs dos últimos trinta dias de atividade estão disponíveis.
range fromTimestamp Obrigatório String 2021-01-01T00:00:00.000Z Data de início, no formato yyyy-MM-ddTHH:mm:ss.sssZ.
range toTimestamp Obrigatório String 2022-01-01T00:00:00.000Z Data de término, no formato yyyy-MM-ddTHH:mm:ss.sssZ.

Exemplo

Este exemplo utiliza o endpoint auditlog/download para recuperar todos os registros da organização 123456, com uma ação de QUERY, a partir de 1º de janeiro de 2023, incluindo a versão detalhada dos registros, e baixados como CSV em um formato de arquivo comprimido (ZIP) para um arquivo de saída:

Usando curl
curl --request POST 'https://api.na.jitterbit.com/v1/auditlog/download?detail=true' \
--output 'download.zip' \
--header 'accept: application/zip' \
--header 'authToken: 1_70dfe7f7-1d47-4ad5-be5d-bc4a222dd2g4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "queryParams": {
        "organization_id": "123456",
        "action": "QUERY"
    },
    "range": {
        "fromTimestamp": "2023-01-01T00:00:00.000Z",
        "toTimeStamp": "9999-01-01T00:00:00.000Z"
    }
}'

Exemplo de saída de log

Este é um fragmento de exemplo da saída JSON retornada pelo endpoint auditlog:

Corpo da Resposta
{
  "records": [
    {
      "username": "alice@jbexample.com",
      "organization_id": "123456",
      "organization_name": "JB Example Company",
      "operation_name": "/jitterbit-cloud-restful-service/user/login",
      "action": "UPDATE",
      "action_timestamp": "2023-03-23T09:59:59.999Z",
      "environment_ids": null,
      "environment_names": null,
      "sort_values": [
        1680083968484
      ],
      "user_id": null,
      "acitivity_info": null,
      "request_body": "null",
      "response_body": "null"
    },
    {
      "username": "bob@jbexample.com",
      "organization_id": "123456",
      "organization_name": "JB Example Company",
      "operation_name": "/jitterbit-cloud-restful-service/subscription/list/647330",
      "action": "QUERY",
      "action_timestamp": "2023-03-23T08:59:59.999Z",
      "environment_ids": null,
      "environment_names": null,
      "sort_values": [
          1680081692921
      ],
      "user_id": null,
      "acitivity_info": null,
      "request_body": "null",
      "response_body": "{\"subscriptions\":[{\"organizationId\":\"123321\",\"lastUpdatedBy\":\"alice@jbexample.com\",\"offeringName\":\"Jitterbit Harmony Enterprise\",\"activatedOn\":1658343482577,\"createdBy\":\"alice@jbexample.com\",\"displayExpiresOn\":1660934256000,\"lastUpdatedOn\":1658343482660,\"expiresOn\":2607705456000,\"id\":\"125521\",\"createdOn\":1658343482577,\"offeringEnumId\":\"5\"}],\"operation\":\"List Subscription by Organization\",\"status\":true}"
    },
    {
      "username": "bob@jbexample.com",
      "organization_id": "123456",
      "organization_name": "JB Example Company",
      "operation_name": "/jitterbit-cloud-restful-service/project/env/detail/654321",
      "action": "CREATE",
      "action_timestamp": "2023-03-23T07:59:59.999Z",
      "environment_ids": [
          "654321"
      ],
      "environment_names": [
          "Default Environment"
      ],
      "sort_values": [
          1679393229672
      ],
      "user_id": null,
      "acitivity_info": "Project: Salesforce to NetSuite Operation: Get Customers",
      "request_body": "null",
      "response_body": "{\"projEnvDetails\":{\"noOfConnections\":0,\"lastUpdatedBy\":\"alice@jbexample.com\",\"agentClusterId\":1,\"noOfHostedEndPoints\":0,\"appRuntime\":\"sandbox\",\"agentGroupId\":\"99999\",\"urlPrefix\":\"defaultUrlPrefix\",\"permission\":7,\"envId\":\"654321\",\"agentGroupName\":\"Production Cloud Agent Group\",\"lowestAgentVersion\":\"11.0.0.0\",\"createdOn\":1515425638817,\"orgId\":\"123456\",\"noOfScripts\":0,\"noOfProjects\":0,\"createdBy\":\"bob@jbexample.com\",\"envName\":\"Default Environment\",\"envType\":2,\"noOfFileFormats\":0,\"envDesc\":\"Default environment created by Harmony\",\"lastUpdatedOn\":1661335689017,\"noOfOperations\":0},\"operation\":\"Get detail of a Project Env\",\"status\":true}"
    },
. . .
  ]
}

Nota

Para a saída retornada de environment_ids e environment_names, uma resposta com um valor null indica que a operação não tem impacto no ambiente. Uma resposta com um único valor indica que a operação foi no nível do ambiente e impacta apenas aquele ambiente. Uma resposta com múltiplos valores indica que a operação foi no nível da organização e impacta múltiplos ambientes.