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?start={START}
GET /config/schedules?limit={LIMIT}
{START}
{LIMIT}
Solicitação
A solicitação a seguir recuperará as dez últimas programações publicadas em sua organização.
curl -X GET https://platform.adobe.io/data/core/ups/config/schedules?limit=10 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com uma lista de agendamentos para a organização especificada como JSON.
{
"_page": {
"totalCount": 10,
"pageSize": 1
},
"children": [
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
"sandboxName": "prod",
"type": "production",
"default": true
},
"name": "Batch Segmentation",
"state": "active",
"type": "batch_segmentation",
"schedule": "0 0 1 * * ?",
"properties": {
"segments": []
},
"createEpoch": 1573158851,
"updateEpoch": 1574365202
}
],
"_links": {
"next": {}
}
}
_page.totalCount
_page.pageSize
children.name
children.type
children.properties
children.properties.segments
["*"]
garante que todos os segmentos sejam incluídos.children.schedule
children.state
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
curl -X POST https://platform.adobe.io/data/core/ups/config/schedules \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '
{
"name":"profile-default",
"type":"batch_segmentation",
"properties":{
"segments":[
"*"
]
},
"schedule":"0 0 1 * * ?",
"state":"inactive"
}'
name
type
properties
properties.segments
type
é igual a "batch_segmentation". usar ["*"]
garante que todos os segmentos sejam incluídos.schedule
Se esta cadeia de caracteres não for fornecida, um agendamento gerado pelo sistema será gerado automaticamente.
state
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes do agendamento recém-criado.
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "e7e17720-c5bb-11e9-aafb-87c71c35cac8",
"sandboxName": "prod",
"type": "production",
"default": true
},
"name": "{SCHEDULE_NAME}",
"state": "inactive",
"type": "batch_segmentation",
"schedule": "0 0 1 * * ?",
"properties": {
"segments": [
"*"
]
},
"createEpoch": 1568267948,
"updateEpoch": 1568267948
}
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
curl -X GET https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com informações detalhadas sobre o agendamento especificado.
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "e7e17720-c5bb-11e9-aafb-87c71c35cac8",
"sandboxName": "prod",
"type": "production",
"default": true
},
"name": "{SCHEDULE_NAME}",
"state": "inactive",
"type": "batch_segmentation",
"schedule": "0 0 1 * * ?",
"properties": {
"segments": [
"*"
]
},
"createEpoch": 1568267948,
"updateEpoch": 1568267948
}
name
type
batch_segmentation
e export
.properties
properties.segments
["*"]
garante que todos os segmentos sejam incluídos.schedule
state
active
e inactive
. Por padrão, o estado é definido como inactive
.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.
Atualizar estado da programação update-state
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.
Formato da API
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
do agendamento que você deseja atualizar.Solicitação
curl -X PATCH https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '
[
{
"op": "add",
"path": "/state",
"value": "active"
}
]'
path
path
como "/state".value
Resposta
Uma resposta bem-sucedida retorna o status HTTP 204 (Sem conteúdo).
Atualizar cronograma cron update-schedule
Você pode usar uma operação de patch de JSON para atualizar a programação cron. Para atualizar o agendamento, declare a propriedade 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.
Formato da API
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
do agendamento que você deseja atualizar.Solicitação
curl -X PATCH https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '
[
{
"op":"add",
"path":"/schedule",
"value":"0 0 2 * * ?"
}
]'
path
path
como /schedule
.value
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
curl -X DELETE https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna o status HTTP 204 (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.L
Last
, 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.W
18W
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 estiver 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
, 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 * * ? 2022
0 * 18 * * ?
0 0/10 17 * * ?
0 13,38 5 ? 6 WED
0 30 12 ? * 4#3
0 30 12 ? * 6L
0 45 11 ? * MON-THU