Como trabalhar com a API de limitação

Introdução

Journey OrchestrationAs APIs do são compatíveis com 5000 eventos/segundos, mas alguns sistemas externos ou APIs não poderiam ter uma taxa de transferência equivalente. É por isso Journey Orchestration O vem com um recurso dedicado chamado Capping API para monitorar e limitar a taxa que impomos a sistemas externos.

Durante uma configuração de fonte de dados, você definirá uma conexão com um sistema para recuperar informações adicionais que serão usadas em suas jornadas ou para uma definição de ação, você configurará a conexão de um sistema de terceiros para enviar mensagens ou chamadas de API. Sempre que uma chamada de API é executada pelo Jornada, a API de limitação é consultada, a chamada é enviada pelo mecanismo de API. Se houver um limite definido, a chamada será rejeitada e o sistema externo não será sobrecarregado.

Para fontes de dados externas, o número máximo de chamadas por segundo é definido como 15. Se o número de chamadas exceder 15 por segundo, as chamadas restantes serão descartadas. É possível aumentar esse limite para fontes de dados externas privadas. Entre em contato com o Adobe para incluir o ponto de extremidade na de lista de permissões. Isso não é possível para fontes de dados externas públicas. Para saber mais sobre as práticas recomendadas e as medidas de proteção ao integrar sistemas externos, consulte esta seção página.

Para saber mais sobre a ação ou a configuração da fonte de dados, consulte Sobre ações ou Sobre fontes de dados

Recursos

OBSERVAÇÃO

O Journey Orchestration A API de limitação é descrita em um arquivo Swagger disponível here.

Para usar essa API com sua Journey Orchestration Por exemplo, é necessário usar o Console do AdobeI/O. Você pode começar seguindo este Introdução ao Console do desenvolvedor do Adobe e use as seções nesta página.

Para testar e preparar sua integração, uma coleção Postman está disponível here.

Autenticação

Configuração do acesso à API

Journey Orchestration O acesso à API é configurado pelas etapas abaixo. Cada uma dessas etapas é detalhada no Documentação do Adobe I/O.

ATENÇÃO

Para gerenciar certificados no Adobe I/O, verifique se você Administrador do sistema direitos sobre a organização ou conta do desenvolvedor no Admin Console.

  1. Verifique se você tem um certificado digital, ou crie um, se necessário. As chaves públicas e privadas fornecidas com o certificado são necessárias nas etapas a seguir.
  2. Crie uma nova integração para Journey Orchestration Serviço no Adobe I/O e configure-a. O acesso ao perfil do produto é necessário para Journey Orchestration e Adobe Experience Platform. Suas credenciais serão geradas (Chave da API, Segredo do cliente…).
  3. Criar um JSON Web Token (JWT) das credenciais geradas anteriormente e assine-as com sua chave privada. O JWT codifica todas as informações de identidade e segurança necessárias para o Adobe verificar sua identidade e conceder acesso à API. Esta etapa está detalhada neste seção
  4. Troque seu JWT por um token de acesso por meio de uma solicitação do POST ou da interface do Console do desenvolvedor. Esse Token de acesso precisará ser usado em cada cabeçalho das solicitações de API.

Para estabelecer uma sessão de Adobe I/O de serviço para serviço seguro, cada solicitação para um serviço da Adobe deve incluir no cabeçalho de Autorização as informações abaixo.

curl -X GET https://journey.adobe.io/authoring/XXX \
 -H 'Authorization: Bearer <ACCESS_TOKEN>' \
 -H 'x-api-key: <API_KEY>' \
 -H 'x-gw-ims-org-id: <ORGANIZATION>'
  • <organization>: Esta é a ID da ORGANIZAÇÃO pessoal, uma ID da ORGANIZAÇÃO é fornecida pelo Adobe para cada uma das instâncias :

    • <organization> : sua instância de produção

    Para obter o valor da ID da ORGANIZAÇÃO, consulte o administrador ou o contato técnico do Adobe. Você também pode recuperá-la no Adobe I/O ao criar uma nova integração, na lista de licenças (consulte Documentação do Adobe I/O).

  • <access_token>: Seu token de acesso pessoal, que foi recuperado ao trocar seu JWT por meio de uma solicitação de POST.

  • <api_key>: sua Chave de API pessoal. Ele é fornecido no Adobe I/O após criar uma nova integração com o Journey Orchestration Serviço.

Limitação da descrição da API

A API de limitação ajuda a criar, configurar e monitorar as configurações de limitação.

Método Path Descrição
POST list/endpointConfigs Obter uma lista das configurações de limite do ponto de extremidade
POST /endpointConfigs Criar uma configuração de limite de ponto de extremidade
POST /endpointConfigs/{uid}/implantar Implantar uma configuração de limite de ponto de extremidade
POST /endpointConfigs/{uid}/undeploy Desimplantar uma configuração de limite de ponto de extremidade
POST /endpointConfigs/{uid}/canDeploy Verifique se uma configuração de limite de ponto de extremidade pode ser implantada ou não
PUT /endpointConfigs/{uid} Atualizar uma configuração de limite de ponto de extremidade
GET /endpointConfigs/{uid} Recuperar uma configuração de limite de ponto de extremidade
DELETE /endpointConfigs/{uid} Excluir uma configuração de limite de ponto de extremidade

Quando uma configuração é criada ou atualizada, uma verificação é executada automaticamente para garantir a sintaxe e a integridade do payload.
Se ocorrerem alguns problemas, a operação retornará um aviso ou erros para ajudar você a corrigir a configuração.

Configuração do terminal

Esta é a estrutura básica de uma configuração de ponto de extremidade:

{
    "url": "<endpoint URL>",  //wildcards are allowed in the endpoint URL
    "methods": [ "<HTTP method such as GET, POST, >, ...],
    "services": {
        "<service name>": { . //must be "action" or "dataSource" 
            "maxHttpConnections": <max connections count to the endpoint>
            "rating": {          
                "maxCallsCount": <max calls to be performed in the period defined by period/timeUnit>,
                "periodInMs": <integer value greater than 0>
            }
        },
        ...
    }
}

Exemplo:

`{
  "url": "https://api.example.org/data/2.5/*",
  "methods": [
    "GET"
  ],
  "services": {
    "dataSource": {
      "maxHttpConnections": 30000,
      "rating": {
        "maxCallsCount": 5000,
        "periodInMs": 1000
      }
    }
  },
  "orgId": "<IMS Org Id>"
}

Aviso e erros

Quando uma canDeploy é chamado, o processo valida a configuração e retorna o status de validação identificado por sua ID exclusiva:

"ok" or "error"

Os possíveis erros são:

  • ERR_ENDPOINTCONFIG_100: configuração de limitação: url ausente ou inválido
  • ERR_ENDPOINTCONFIG_101: configuração de limitação: url malformado
  • ERR_ENDPOINTCONFIG_102: configuração de limitação: url malformado: wildchar no url não permitido em host:port
  • ERR_ENDPOINTCONFIG_103: configuração de limitação: métodos HTTP ausentes
  • ERR_ENDPOINTCONFIG_104: configuração de limitação: sem classificação de chamada definida
  • ERR_ENDPOINTCONFIG_107: configuração de limitação: contagem máxima de chamadas inválida (maxCallsCount)
  • ERR_ENDPOINTCONFIG_108: configuração de limitação: contagem máxima de chamadas inválida (periodInMs)
  • ERR_ENDPOINTCONFIG_111: configuração de limitação: não é possível criar a configuração do ponto de extremidade: carga inválida
  • ERR_ENDPOINTCONFIG_112: configuração de limitação: não é possível criar a configuração do ponto de extremidade: esperando uma carga JSON
  • ERR_AUTHORING_ENDPOINTCONFIG_1: nome de serviço inválido <!--<given value>-->: deve ser 'dataSource' ou 'action'

O possível aviso é:

ERR_ENDPOINTCONFIG_106: configuração de limitação: conexões HTTP máximas não definidas: sem limitação por defeito

Casos de uso

Nesta seção, você encontrará os cinco principais casos de uso que podem ser executados para gerenciar a configuração de limitação no Journey Orchestration.

Para ajudá-lo nos testes e configurações, uma coleção Postman está disponível here.

Esta Coleção Postman foi configurada para compartilhar a coleção Variável Postman gerada por Integrações do console do Adobe I/O > Experimente > Baixar para Postman, que gera um arquivo de Ambiente Postman com os valores de integrações selecionados.

Após o download e o upload para o Postman, é necessário adicionar três variáveis: {JO_HOST},{Base_Path} e {SANDBOX_NAME}.

  • {JO_HOST} : Journey Orchestration URL do gateway
  • {BASE_PATH} : ponto de entrada para a API. O valor é '/authoring'
  • {SANDBOX_NAME} : o cabeçalho x-sandbox-name (por exemplo, "prod") correspondente ao nome da caixa de proteção onde as operações da API ocorrerão. Consulte a visão geral das sandboxes para obter mais informações.

Na seção a seguir, você encontrará a lista ordenada Rest API calls para executar o caso de uso.

Caso de uso n°1: Criação e implantação de uma nova configuração de limitação

  1. listar
  2. criar
  3. pode implantar
  4. implantar

Caso de uso n°2: Atualizar e implantar uma configuração de limitação ainda não implantada

  1. listar
  2. get
  3. atualizar
  4. pode implantar
  5. implantar

Caso de uso n° 3: Desimplantar e excluir uma configuração de limite implantada

  1. listar
  2. cancelar implantação
  3. excluir

Caso de uso n°4: Exclua uma configuração de limite implantada.

Em apenas uma chamada de API, é possível desimplantar e excluir a configuração com o uso do parâmetro forceDelete.

  1. listar
  2. excluir, com o parâmetro forceDelete

Caso de uso n°5: Atualizar uma configuração de limitação já implantada

  1. listar
  2. get
  3. atualizar
  4. cancelar implantação
  5. pode implantar
  6. implantar

Nesta página