Endpoint de agendamentos
Os cronogramas são uma ferramenta que pode ser usada para executar automaticamente trabalhos de segmentação em lote uma vez por dia. Você pode usar o ponto de extremidade /config/schedules para recuperar uma lista de agendamentos, criar um novo agendamento, recuperar detalhes de um agendamento específico, atualizar um agendamento específico ou excluir um agendamento específico.
Introdução
Os pontos de extremidade usados neste guia fazem parte da API Adobe Experience Platform Segmentation Service. Antes de continuar, consulte o guia de introdução para obter informações importantes que você precisa saber para fazer chamadas com êxito para a API, incluindo os cabeçalhos necessários e como ler as chamadas de exemplo da API.
Recuperar uma lista de agendamentos retrieve-list
Você pode recuperar uma lista de todas as agendas para sua organização fazendo uma solicitação GET para o ponto de extremidade /config/schedules.
Formato da API
O ponto de extremidade /config/schedules dá suporte a vários parâmetros de consulta para ajudar a filtrar os resultados. Embora esses parâmetros sejam opcionais, seu uso é altamente recomendado para ajudar a reduzir a sobrecarga cara. Fazer uma chamada para esse endpoint sem parâmetros recuperará todas as agendas disponíveis para sua organização. Vários parâmetros podem ser incluídos, separados por “E” comercial (&).
GET /config/schedules
GET /config/schedules?{QUERY_PARAMETERS}
Parâmetros de consulta
| table 0-row-3 1-row-3 2-row-3 | ||
|---|---|---|
| Parâmetro | Descrição | Exemplo |
start |
Especifica de qual página o deslocamento iniciará. Por padrão, esse valor será 0. | start=5 |
limit |
Especifica o número de agendas retornadas. Por padrão, esse valor será 100. | limit=20 |
Solicitação
A solicitação a seguir recuperará as dez últimas programações publicadas em sua organização.
| code language-shell |
|---|
|
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com uma lista de agendamentos para a organização especificada como JSON.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 | |
|---|---|
| Propriedade | Descrição |
_page.totalCount |
O número total de agendas retornadas. |
_page.pageSize |
O tamanho da página de agendamentos. |
children.id |
A ID da programação. |
children.imsOrgId |
A ID da organização da programação. |
children.sandbox |
Um objeto que contém informações de sandbox para o agendamento. |
children.name |
O nome do agendamento como uma cadeia de caracteres. |
children.state |
Uma string que contém o estado do agendamento. Os dois estados compatíveis são “ativo” e “inativo”. Por padrão, o estado é definido como “inativo”. |
children.type |
O tipo de trabalho como uma string. Os dois tipos suportados são batch_segmentation e export. |
children.schedule |
Uma string contendo o agendamento do job. Os jobs só podem ser programados para serem executados uma vez por dia, o que significa que você não pode programar um job para ser executado mais de uma vez durante um período de 24 horas. Para obter mais informações sobre cronogramas cron, leia o apêndice no formato de expressão cron. Neste exemplo, “0 0 1 * *” significa que este agendamento será executado às 1:00 AM todos os dias. |
children.frequency |
A frequência com que a programação é executada. Os valores possíveis incluem daily, weekly, monthly e yearly. |
children.properties |
Um objeto que contém propriedades adicionais relacionadas ao agendamento. |
children.properties.segments |
As IDs das definições de segmento que pertencem à programação. |
children.owner |
O proprietário do agendamento. Os valores possíveis incluem user se o agendamento for criado pelo usuário e system se o agendamento for criado pelo sistema. |
children.createEpoch |
O tempo de criação da época para o agendamento em segundos. |
children.updateEpoch |
A hora em que a programação foi atualizada pela última vez em segundos. |
Criar um novo agendamento create
Você pode criar um novo agendamento fazendo uma solicitação POST para o ponto de extremidade /config/schedules.
Formato da API
POST /config/schedules
Solicitação
| code language-shell |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 | |
|---|---|
| Propriedade | Descrição |
name |
Obrigatório. O nome do agendamento como uma cadeia de caracteres. |
type |
Obrigatório. O tipo de trabalho como uma string. Os dois tipos suportados são batch_segmentation e export. |
properties |
Obrigatório. Um objeto que contém propriedades adicionais relacionadas ao agendamento. |
properties.segments |
Obrigatório quando type é igual a “batch_segmentation”. As IDs das definições de segmento que você deseja incluir como parte da programação. |
schedule |
Obrigatório. Uma string contendo o agendamento do job. Os jobs só podem ser programados para serem executados uma vez por dia, o que significa que você não pode programar um job para ser executado mais de uma vez durante um período de 24 horas. O cronograma do trabalho determinará a frequência do cronograma. Para obter mais informações sobre cronogramas cron, leia o apêndice no formato de expressão cron. Neste exemplo, “0 0 1 * *” significa que este agendamento será executado às 1:00 AM todos os dias. |
state |
Opcional. Uma string que contém o estado do agendamento. Os dois estados com suporte são active e inactive. Por padrão, o estado é definido como inactive. |
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes do agendamento recém-criado.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 16-row-2 | |
|---|---|
| Propriedade | Descrição |
id |
A ID da programação recém-criada. |
imsOrgId |
A ID da organização do usuário que criou o agendamento. |
sandbox |
Um objeto que contém as informações da sandbox para o agendamento. Para obter mais informações sobre sandboxes, leia a visão geral das sandboxes. |
sandbox.sandboxId |
A ID da sandbox que contém sua programação. |
sandbox.sandboxName |
O nome da sandbox que contém seu cronograma. |
sandbox.type |
O tipo da sandbox. Os valores possíveis incluem production e development. |
sandbox.default |
Um booleano que mostra se a sandbox é ou não a sandbox padrão. |
name |
O nome que você deu à programação. |
state |
O estado da programação. Os valores possíveis incluem active e inactive. Se você não definiu isso como parte do corpo da solicitação, o estado será definido como inactive. |
type |
O tipo de trabalho para o agendamento. Os valores possíveis incluem batch_segmentation e export. |
schedule |
A expressão CRON que representa quando o cronograma é executado. Para obter mais informações sobre como criar expressões cron, leia a seção de formato da expressão cron. |
frequency |
A frequência na qual a programação é executada. Isso depende diretamente da expressão cron do agendamento. Os valores possíveis incluem daily, weekly, monthly e yearly. |
properties |
Um objeto que contém as IDs de definição de segmento para a agenda, se a agenda for do tipo batch_segmentation. |
owner |
O tipo de entidade proprietária do agendamento. Desde que você criou o agendamento, este valor é user. |
createEpoch |
O tempo de criação da época para o agendamento em segundos. |
updateEpoch |
A hora em que a programação foi atualizada pela última vez em segundos. |
Recuperar uma programação específica get
Você pode recuperar informações detalhadas sobre um agendamento específico fazendo uma solicitação GET para o ponto de extremidade /config/schedules e fornecendo a ID do agendamento que você deseja recuperar no caminho da solicitação.
Formato da API
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}id do agendamento que você deseja recuperar.Solicitação
| code language-shell |
|---|
|
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com informações detalhadas sobre o agendamento especificado.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 16-row-2 17-row-2 | |
|---|---|
| Propriedade | Descrição |
id |
A ID da programação. |
imsOrgId |
A ID da organização à qual a programação pertence. |
sandbox |
Um objeto que contém as informações da sandbox para o agendamento. Para obter mais informações sobre sandboxes, leia a visão geral das sandboxes. |
sandbox.sandboxId |
A ID da sandbox que contém sua programação. |
sandbox.sandboxName |
O nome da sandbox que contém seu cronograma. |
sandbox.type |
O tipo da sandbox. Os valores possíveis incluem production e development. |
sandbox.default |
Um booleano que mostra se a sandbox é ou não a sandbox padrão. |
name |
O nome do agendamento como uma cadeia de caracteres. |
state |
Uma string que contém o estado do agendamento. Os dois estados com suporte são active e inactive. Por padrão, o estado é definido como inactive. |
type |
O tipo de trabalho como uma string. Os dois tipos suportados são batch_segmentation e export. |
schedule |
Uma string contendo o agendamento do job. As ordens de produção só podem ser programadas para serem executadas uma vez por dia, o que significa que não é possível programar uma ordem de produção para ser executada mais de uma vez durante um período de 24 horas. Para obter mais informações sobre cronogramas cron, leia o apêndice no formato de expressão cron. Neste exemplo, “0 0 1 * *” significa que este agendamento será executado às 1:00 AM todos os dias. |
frequency |
A frequência com que a programação é executada. Esse valor depende diretamente da expressão cron do agendamento. Os valores possíveis incluem daily, weekly, monthly e yearly. |
properties |
Um objeto que contém propriedades adicionais relacionadas ao agendamento. |
properties.segments |
A lista de IDs de definição de segmento que fazem parte da programação. |
owner |
O tipo de entidade proprietária do agendamento. Se um usuário criou o agendamento, esse valor é user. Se o agendamento foi criado pelo sistema, o valor é system. |
createEpoch |
O tempo de criação da época para o agendamento em segundos. |
updateEpoch |
A hora em que a programação foi atualizada pela última vez em segundos. |
Atualizar detalhes de um agendamento específico update
Você pode atualizar um agendamento específico fazendo uma solicitação PATCH para o ponto de extremidade /config/schedules e fornecendo a ID do agendamento que você está tentando atualizar no caminho da solicitação.
A solicitação PATCH permite atualizar o estado ou o cron schedule para um agendamento individual.
Formato da API
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}id do agendamento que você deseja atualizar.Você pode usar uma operação de patch de JSON para atualizar o estado da programação. Para atualizar o estado, declare a propriedade path como /state e defina o value como active ou inactive. Para obter mais informações sobre o Patch JSON, leia a documentação do Patch JSON.
Solicitação
| accordion | ||
|---|---|---|
| Um exemplo de solicitação para atualizar o estado do agendamento. | ||
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Propriedade | Descrição |
path |
O caminho do valor que você deseja corrigir. Nesse caso, como você está atualizando o estado do agendamento, é necessário definir o valor de path como “/state”. |
value |
O valor atualizado do estado do agendamento. Esse valor pode ser definido como “ativo” ou “inativo” para ativar ou desativar o agendamento. Observe que você não pode desabilitar um agendamento se a organização tiver sido habilitada para streaming. |
Resposta
Uma resposta bem-sucedida retorna o status HTTP 204 (Sem conteúdo).
path como /schedule e defina value como um agendamento cron válido. Para obter mais informações sobre o Patch JSON, leia a documentação do Patch JSON. Para obter mais informações sobre cronogramas cron, leia o apêndice no formato de expressão cron.Solicitação
| code language-shell |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Propriedade | Descrição |
path |
O caminho do valor que você deseja atualizar. Nesse caso, como você está atualizando o agendamento do cron, é necessário definir o valor de path como /schedule. |
value |
O valor atualizado do cronograma cron. Esse valor precisa estar no formato de um cronograma cron. Neste exemplo, a programação será executada no segundo dia de cada mês. |
Resposta
Uma resposta bem-sucedida retorna o status HTTP 204 (Sem conteúdo).
Excluir um agendamento específico
Você pode solicitar a exclusão de um agendamento específico fazendo uma solicitação DELETE para o ponto de extremidade /config/schedules e fornecendo a ID do agendamento que deseja excluir no caminho da solicitação.
Formato da API
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}id do agendamento que você deseja excluir.Solicitação
| code language-shell |
|---|
|
Resposta
Uma resposta bem-sucedida retorna o status HTTP 204 (Sem conteúdo).
Adicionar públicos-alvo à programação add-audiences
Você pode adicionar públicos a um agendamento específico fazendo uma solicitação POST para o ponto de extremidade /config/schedules/add-audiences.
Formato da API
POST /config/schedules/add-audiences
Solicitação
| code language-shell |
|---|
|
idsegmentsResposta
Uma resposta bem-sucedida retorna o status HTTP 200 com informações detalhadas da operação.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 | |
|---|---|
| Propriedade | Descrição |
added |
Uma matriz que contém as IDs das definições de segmento que foram adicionadas ao agendamento. |
existing |
Uma matriz que contém as IDs das definições de segmento que já estavam na programação. |
invalid |
Uma matriz que contém IDs de definição de segmento inválidas que faziam parte do corpo da solicitação. |
segmentCount |
Um objeto que contém o número de definições de segmento que faziam parte da agenda anteriormente (previous), o número de definições de segmento que agora fazem parte da agenda (current) e a diferença entre esses dois valores (diff). |
Remover públicos-alvo da programação remove-audiences
Você pode remover públicos de um agendamento específico fazendo uma solicitação POST para o ponto de extremidade /config/schedules/remove-audiences.
Formato da API
POST /config/schedules/remove-audiences
Solicitação
| code language-shell |
|---|
|
idsegmentsResposta
Uma resposta bem-sucedida retorna o status HTTP 200 com informações detalhadas da operação.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Propriedade | Descrição |
removed |
Uma matriz que contém as IDs das definições de segmento que foram removidas do agendamento. |
notFound |
Uma matriz que contém as IDs das definições de segmento que não foram encontradas no agendamento. |
segmentCount |
Um objeto que contém o número de definições de segmento que faziam parte da agenda anteriormente (previous), o número de definições de segmento que agora fazem parte da agenda (current) e a diferença entre esses dois valores (diff). |
Obter mapa de público-alvo get-audience-map
Você pode obter o mapa de públicos dos seus públicos fazendo uma solicitação POST para o ponto de extremidade /config/schedules/audience-map. O mapa de público-alvo representa um mapeamento entre as IDs de definição de segmento e os agendamentos aos quais essas IDs pertencem.
Formato da API
POST /config/schedules/audience-map
Solicitação
| code language-shell |
|---|
|
segmentsResposta
Uma resposta bem-sucedida retorna o status HTTP 200 com informações detalhadas sobre o público-alvo e o mapeamento do agendamento.
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Propriedade | Descrição |
audienceMap |
Um mapeamento de IDs de definição de segmento com as programações às quais pertencem. |
schedules |
Um objeto que contém informações sobre os cronogramas listados no mapa de público-alvo. |
Acionar trabalho de agendamento trigger
Você pode acionar manualmente um agendamento para ativação fazendo uma solicitação POST para o ponto de extremidade /config/schedules/trigger.
Formato da API
POST /config/schedules/trigger
Solicitação
| code language-shell |
|---|
|
idResposta
Uma resposta bem-sucedida retorna o status HTTP 200 sem conteúdo.
Próximas etapas
Depois de ler este guia, você compreenderá melhor como as agendas funcionam.
Apêndice appendix
O apêndice a seguir explica o formato das expressões cron usadas em agendamentos.
Formato
Uma expressão cron é uma cadeia de caracteres formada por 6 ou 7 campos. A expressão seria semelhante ao seguinte:
0 0 12 * * ?
Em uma sequência de expressão cron, o primeiro campo representa os segundos, o segundo campo representa os minutos, o terceiro campo representa as horas, o quarto campo representa o dia do mês, o quinto campo representa o mês e o sexto campo representa o dia da semana. Opcionalmente, também é possível incluir um sétimo campo, que representa o ano.
, - * /, - * /, - * /, - * ? / L W, - * /, - * ? / L #, - * /SUN é equivalente a usar sun.Os caracteres especiais permitidos representam os seguintes significados:
** no campo de horas significaria a cada hora.?3 no campo de dia do mês e ? no campo de dia da semana.-9-15 no campo de horas, isso significa que as horas incluiriam 9, 10, 11, 12, 13, 14 e 15.,MON, FRI, SAT no campo de dia da semana, isso significa que os dias da semana incluiriam segunda, sexta e sábado.// determina de onde ele é incrementado, enquanto o valor colocado depois de / determina o quanto ele é incrementado. Por exemplo, se você colocar 1/7 no campo de minutos, isso significa que os minutos incluirão 1, 8, 15, 22, 29, 36, 43, 50 e 57.LLast, e tem um significado diferente dependendo de qual campo é usado. Se for usado com o campo day of the month, representará o último dia do mês. Se for usado com o campo de dia da semana sozinho, ele representará o último dia da semana, que é sábado (SAT). Se for usado com o campo day of the week, juntamente com outro valor, ele representará o último dia desse tipo para o mês. Por exemplo, se você colocar 5L no campo de dia da semana, somente incluirá a última sexta-feira do mês.W18W no campo de dia do mês, e o dia 18 daquele mês for um sábado, ele será acionado na sexta-feira 17, que é o dia da semana mais próximo. Se o dia 18 daquele mês fosse um domingo, dispararia na segunda-feira dia 19, que é o dia da semana mais próximo. Observe que se você colocar 1W no campo de dia do mês, e o dia da semana mais próximo seria no mês anterior, o evento ainda será acionado no dia da semana mais próximo do mês atual.Além disso, você pode combinar
L e W para criar LW, o que especificaria o último dia da semana do mês.## representa o dia da semana, enquanto o valor colocado depois de # representa qual ocorrência no mês é. Por exemplo, se você colocar 1#3, o evento será acionado no terceiro domingo do mês. Observe que se você colocar X#5 e não houver quinta ocorrência desse dia da semana nesse mês, o evento não será acionado. Por exemplo, se você colocar 1#5 e não houver quinto domingo nesse mês, o evento não será acionado.Exemplos
A tabela a seguir mostra exemplos de cadeias de caracteres de expressão cron e explica o que elas significam.
0 0 13 * * ?0 30 9 * * ? 20220 * 18 * * ?0 0/10 17 * * ?0 13,38 5 ? 6 WED0 30 12 ? * 4#30 30 12 ? * 6L0 45 11 ? * MON-THU