Show Menu
TÓPICOS×

Trabalhar com a API de limite

Introdução

Journey OrchestrationAs APIs do são compatíveis com 5000 eventos/segundos, mas alguns sistemas externos ou APIs não podem ter uma saída equivalente. É por isso que Journey Orchestration vem com um recurso dedicado chamado Capping API para monitorar e limitar a taxa que impomos aos 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 viagens 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. Cada vez que uma chamada de API é executada pelo Journey, a API de limite é consultada, a chamada é enviada pelo mecanismo da API. Se houver um limite definido, a chamada será rejeitada e o sistema externo não será sobrecarregado.
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

A API de Journey Orchestration Capping é descrita em um arquivo Swagger disponível aqui .
Para usar essa API com sua Journey Orchestration instância, é necessário usar o Console de E/S da Adobe. Você pode start seguindo esta Introdução ao Adobe Developer Console e, em seguida, usar as seções desta página.
Para testar e preparar sua integração, uma coleção do Postman está disponível aqui .

Autenticação

Configuração do acesso à API

Journey Orchestration O acesso à API é configurado pelas etapas abaixo. Cada uma dessas etapas está detalhada na documentação de E/S da Adobe.
Para gerenciar certificados em E/S da Adobe, verifique se você tem direitos de administrador do sistema na organização ou em uma conta de 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 com oJourney OrchestrationServiço em E/S da Adobe e configure-a. O acesso ao perfil do produto é necessário para Journey Orchestration o Adobe Experience Platform. Suas credenciais serão geradas (chave da API, segredo do cliente...).
  3. Crie um JSON Web Token (JWT) a partir das credenciais geradas anteriormente e assine-o com sua chave privada. O JWT codifica todas as informações de identidade e segurança necessárias para a Adobe verificar sua identidade e conceder acesso à API. Esta etapa está detalhada nesta seção
  4. Troque seu JWT por um Token de acesso por uma solicitação POST ou pela interface do Developer Console. Esse Token de acesso deverá ser usado em cada cabeçalho das solicitações de API.
Para estabelecer uma sessão segura de API de E/S da Adobe de serviço para serviço, cada solicitação a 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>'

  • <ORGANIZAÇÃO> : Esta é sua ID pessoal DA ORGANIZAÇÃO, uma ID DA ORGANIZAÇÃO é fornecida pela Adobe para cada uma de suas instâncias:
    • <ORGANIZAÇÃO> : sua instância de produção
    Para obter o valor da ID da ORGANIZAÇÃO, consulte o administrador ou o contato técnico da Adobe. Você também pode recuperá-la em E/S da Adobe ao criar uma nova integração, na lista de licenças (consulte a documentação authentication.html de E/S daAdobe).
  • <ACCESS_TOKEN> : Seu token de acesso pessoal, que foi recuperado ao trocar seu JWT por meio de uma solicitação POST.
  • <API_KEY> : sua chave de API pessoal. Ele é fornecido em E/S da Adobe após criar uma nova integração ao Journey Orchestration Serviço.

Descrição da API de limitação

A API Capping ajuda a criar, configurar e monitorar suas configurações de capping.
Método
Caminho
Descrição
POST
lista/endpointConfigs
Obtenha uma lista das configurações de limite de ponto final
POST
/endpointConfigs
Criar uma configuração de limite de ponto de extremidade
POST
/endpointConfigs//deployment
Implantar uma configuração de limite de ponto de extremidade
POST
/endpointConfigs//undeployment
Desimplantar uma configuração de limite de ponto de extremidade
POST
/endpointConfigs//canDeploy
Verifique se uma configuração de limite de ponto de extremidade pode ser implantada ou não
PUT
/endpointConfigs/
Atualizar uma configuração de limite de ponto de extremidade
GET
/endpointConfigs/
Recuperar uma configuração de limite de ponto de extremidade
DELETE
/endpointConfigs/
Excluir uma configuração de limite de enpoint
Quando uma configuração é criada ou atualizada, uma verificação é executada automaticamente para garantir a sintaxe e a integridade da carga. Se ocorrerem alguns problemas, a operação retornará um aviso ou erros para ajudá-lo 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 um método canDeploy é chamado, o processo valida a configuração e retorna o status de validação identificado pela ID exclusiva:
"ok" or "error"

Os possíveis erros são:
  • ERR_ENDPOINTCONFIG_100 : configuração de limite: url ausente ou inválido
  • ERR_ENDPOINTCONFIG_101 : configuração de limite: url malformado
  • ERR_ENDPOINTCONFIG_102 : configuração de limite: url malformado: wildchar no url não permitido em host:porta
  • ERR_ENDPOINTCONFIG_103 : configuração de limite: métodos HTTP ausentes
  • ERR_ENDPOINTCONFIG_104 : configuração de limite: nenhuma classificação de chamada definida
  • ERR_ENDPOINTCONFIG_107 : configuração de limite: contagem máxima de chamadas inválida (maxCallsCount)
  • ERR_ENDPOINTCONFIG_108 : configuração de limite: contagem máxima de chamadas inválida (periodInMs)
  • ERR_ENDPOINTCONFIG_111 : configuração de limite: não é possível criar a configuração de ponto de extremidade: carga inválida
  • ERR_ENDPOINTCONFIG_112 : configuração de limite: não é possível criar a configuração de ponto de extremidade: esperando uma carga JSON
  • ERR_AUTHORING_ENDPOINTCONFIG_1 : nome de serviço inválido : deve ser 'dataSource' ou 'action'
O aviso potencial é:
ERR_ENDPOINTCONFIG_106 : configuração de limite: máx. de conexões HTTP não definidas: nenhuma limitação por padrão

Casos de uso

Nesta seção, você encontrará os cinco principais casos de uso que podem ser executados para gerenciar a configuração de limite em Journey Orchestration.
Para ajudá-lo em seus testes e configurações, uma coleção do Postman está disponível aqui .
Esta Coleção Postman foi configurada para compartilhar a coleção Variável Postman gerada por meio das Integrações do Console de E/S da Adobe > Testar > Baixar para Postman , que gera um arquivo de Ambiente Postman com os valores de integrações selecionados.
Depois de baixado e carregado no 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 caixas de proteção para obter mais informações.
Na seção a seguir, você encontrará a lista ordenada das chamadas da Rest API para executar o caso de uso.
Caso de uso n°1: Criação e implantação de uma nova configuração de limite
  1. lista
  2. create
  3. canImplantação
  4. implantação
Caso de uso n°2: Atualizar e implantar uma configuração de limite ainda não implantada
  1. lista
  2. get
  3. update
  4. canImplantação
  5. implantação
Caso de uso n°3: Desimplantar e excluir uma configuração de limite implantada
  1. lista
  2. desimplantar
  3. delete
Caso de uso n°4: Exclua uma configuração de limite implantada.
Em apenas uma chamada de API, você pode desimplantar e excluir a configuração usando o parâmetro forceDelete.
  1. lista
  2. delete, com forceDelete param
Caso de uso n°5: Atualizar uma configuração de limite já implantada
  1. lista
  2. get
  3. update
  4. desimplantar
  5. canImplantação
  6. implantação