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 que Journey Orchestration vem com um recurso dedicado chamado API de limitação 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 saber mais sobre a ação ou a configuração da fonte de dados, consulte Sobre ações ou Sobre fontes de dados
A Journey Orchestration API de limitação é descrita em um arquivo Swagger disponível aqui.
Para usar essa API com sua instância Journey Orchestration, é necessário usar o Console do Adobe I/O. Você pode começar seguindo este Introdução ao Console do Desenvolvedor do Adobe e usar as seções nesta página.
Para testar e preparar sua integração, uma coleção do Postman está disponível aqui.
Journey Orchestration O acesso à API é configurado pelas etapas abaixo. Cada uma dessas etapas é detalhada na documentação do Adobe I/O.
Para gerenciar certificados no Adobe I/O, verifique se você tem os direitos de Administrador do sistema na organização ou uma conta do desenvolvedor no Admin Console.
Para estabelecer uma sessão de Adobe I/O de serviço a serviço seguro, cada solicitação para um serviço do 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 :
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 a 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.
A API de limitação ajuda a criar, configurar e monitorar as configurações de limitação.
Método | Caminho | 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} /deploy |
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.
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>
}
},
...
}
}
`{
"url": "https://api.example.org/data/2.5/*",
"methods": [
"GET"
],
"services": {
"dataSource": {
"maxHttpConnections": 30000,
"rating": {
"maxCallsCount": 5000,
"periodInMs": 1000
}
}
},
"orgId": "<IMS Org Id>"
}
Quando um método 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:
<!--<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
Nesta seção, você encontrará os cinco principais casos de uso que podem ser executados para gerenciar a configuração de limitação em Journey Orchestration.
Para ajudá-lo em seus testes e configuração, uma coleção Postman está disponível aqui.
Esta Coleção Postman foi configurada para compartilhar a coleção Variável Postman gerada por Integrações do console Adobe I/O > Testar > 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 sandbox 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
Caso de uso n°2: Atualize e implante uma configuração de limitação ainda não implementada
Caso de uso n° 3: Desimplantar e excluir uma configuração de limite implantada
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.
Caso de uso n°5: Atualizar uma configuração de limitação já implementada