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 /config/schedules endpoint 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 endpoints usados neste guia fazem parte da Adobe Experience Platform Segmentation Service API. Antes de continuar, reveja o guia de introdução para obter informações importantes que você precisa saber para fazer chamadas com êxito para a API, incluindo cabeçalhos necessários e como ler chamadas de API de exemplo.

Recuperar uma lista de agendamentos retrieve-list

Você pode recuperar uma lista de todas as programações para sua organização fazendo uma solicitação GET para a /config/schedules terminal.

Formato da API

A variável /config/schedules O endpoint oferece 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}
Parâmetro
Descrição
{START}
Especifica de qual página o deslocamento iniciará. Por padrão, esse valor será 0.
{LIMIT}
Especifica o número de agendas retornadas. Por padrão, esse valor será 100.

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.

NOTE
A resposta a seguir foi truncada por espaço e mostra apenas o primeiro agendamento retornado.
{
    "_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": {}
    }
}
Propriedade
Descrição
_page.totalCount
O número total de agendas retornadas.
_page.pageSize
O tamanho da página de agendamentos.
children.name
O nome do agendamento como uma cadeia de caracteres.
children.type
O tipo de trabalho como uma string. Os dois tipos compatíveis são "batch_segmentation" e "export".
children.properties
Um objeto que contém propriedades adicionais relacionadas ao agendamento.
children.properties.segments
Usar ["*"] A garante que todos os segmentos sejam incluídos.
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 do cron. Neste exemplo, "0 0 1 * *" significa que este agendamento será executado às 1:00 AM todos os dias.
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".

Criar um novo agendamento create

Você pode criar um novo agendamento fazendo uma solicitação POST para o /config/schedules terminal.

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"
}'
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 compatíveis são "batch_segmentation" e "export".
properties
Obrigatório. Um objeto que contém propriedades adicionais relacionadas ao agendamento.
properties.segments
Obrigatório ao type é igual a "batch_segmentation". Usar ["*"] A garante que todos os segmentos sejam incluídos.
schedule
Opcional. 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 do cron. Neste exemplo, "0 0 1 * *" significa que este agendamento será executado às 1:00 AM todos os dias.

Se esta string não for fornecida, um agendamento gerado pelo sistema será gerado automaticamente.
state
Opcional. 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".

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 uma programação específica fazendo uma solicitação GET para a /config/schedules e fornecendo a ID do agendamento que deseja recuperar no caminho da solicitação.

Formato da API

GET /config/schedules/{SCHEDULE_ID}
Parâmetro
Descrição
{SCHEDULE_ID}
A variável id valor do agendamento que 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
}
Propriedade
Descrição
name
O nome do agendamento como uma cadeia de caracteres.
type
O tipo de trabalho como uma string. Os dois tipos compatíveis são batch_segmentation e export.
properties
Um objeto que contém propriedades adicionais relacionadas ao agendamento.
properties.segments
Usar ["*"] A garante que todos os segmentos sejam incluídos.
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 do cron. Neste exemplo, "0 0 1 * *" significa que este agendamento será executado às 1:00 AM todos os dias.
state
Uma string que contém o estado do agendamento. Os dois estados compatíveis são 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 /config/schedules e forneça a ID do agendamento que está tentando atualizar no caminho da solicitação.

A solicitação PATCH permite atualizar o plug-in state ou o cronograma cron para uma programação 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, você declara o path propriedade como /state e defina o value para active ou inactive. Para obter mais informações sobre o Patch JSON, leia o Patch JSON documentação.

Formato da API

PATCH /config/schedules/{SCHEDULE_ID}
Parâmetro
Descrição
{SCHEDULE_ID}
A variável id valor da programação que 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"
    }
]'
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 para "/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 é possível desabilite uma agenda se a organização tiver sido habilitada para streaming.

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 cronograma, você declara o path propriedade como /schedule e defina o value para uma programação cron válida. Para obter mais informações sobre o Patch JSON, leia o Patch JSON documentação. Para obter mais informações sobre cronogramas cron, leia o apêndice no formato de expressão do cron.

Formato da API

PATCH /config/schedules/{SCHEDULE_ID}
Parâmetro
Descrição
{SCHEDULE_ID}
A variável id valor da programação que 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 * * ?"
    }
]'
Propriedade
Descrição
path
O caminho do valor que você deseja atualizar. Nesse caso, como você está atualizando o cronograma cron, é necessário definir o valor de path para /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 /config/schedules e fornecendo a ID do agendamento que deseja excluir no caminho da solicitação.

Formato da API

DELETE /config/schedules/{SCHEDULE_ID}
Parâmetro
Descrição
{SCHEDULE_ID}
A variável id valor da programação que 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.

Nome do campo
Obrigatório
Valores possíveis
Caracteres especiais permitidos
Seconds
Sim
0-59
, - * /
Minutes
Sim
0-59
, - * /
Horas
Sim
0-23
, - * /
Dia do mês
Sim
1-31
, - * ? / L W
Mês
Sim
1-12, JAN-DEZ
, - * /
Dia da semana
Sim
1-7, SOL-SÁB
, - * ? / L #
Ano
Não
Vazio, 1970-2099
, - * /
NOTE
Os nomes dos meses e dos dias da semana são não distinção entre maiúsculas e minúsculas. Por conseguinte, SUN é equivalente a usar sun.

Os caracteres especiais permitidos representam os seguintes significados:

Caractere especial
Descrição
*
Esse valor é usado para selecionar all em um campo. Por exemplo, colocando * no campo de horas significaria a cada hora.
?
Esse valor significa que nenhum valor específico é necessário. Isso geralmente é usado para especificar algo em um campo onde o caractere é permitido, mas não especificá-lo no outro. Por exemplo, se você quiser que um evento seja acionado todo dia 3 do mês, mas não se importar com o dia da semana, coloque 3 no campo dia do mês e ? no campo dia da semana.
-
Este valor é usado para especificar inclusivo intervalos para o campo. Por exemplo, se você colocar 9-15 no campo hours, isso significa que as horas incluiriam 9, 10, 11, 12, 13, 14 e 15.
,
Este valor é usado para especificar valores adicionais. Por exemplo, se você colocar MON, FRI, SAT no campo dia da semana, significa que os dias da semana incluiriam segunda-feira, sexta-feira e sábado.
/
Esse valor é usado para especificar incrementos. O valor colocado antes da variável / determina de onde ele é incrementado, enquanto o valor colocado depois da variável / determina quanto ele aumenta. Por exemplo, se você colocar 1/7 no campo minutes, isso significa que os minutos incluem 1, 8, 15, 22, 29, 36, 43, 50 e 57.
L
Este valor é usado para especificar 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 day of the week 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 dia da semana, seria somente inclua a última sexta-feira do mês.
W
Esse valor é usado para especificar o dia da semana mais próximo do dia determinado. Por exemplo, se você colocar 18W no campo dia do mês, e o dia 18 daquele mês era um sábado, ele dispararia 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 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 atual mês.

Além disso, é possível combinar L e W para fazer LW, que especificaria o último dia da semana do mês.
#
Esse valor é usado para especificar o enésimo dia da semana em um mês. O valor colocado antes da variável # 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 será não ser acionado. Por exemplo, se você colocar 1#5, e não há quinto domingo naquele mês, o evento vai 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.

Expressão
Explicação
0 0 13 * * ?
O evento será disparado às 1 P.M. todos os dias.
0 30 9 * * ? 2022
O evento será disparado todos os dias às 9h30 do ano de 2022.
0 * 18 * * ?
O evento será acionado a cada minuto, começando às 18h e terminando às 18h59, todos os dias.
0 0/10 17 * * ?
O evento será disparado a cada 10 minutos, começando às 17h e terminando às 18h, todos os dias.
0 13,38 5 ? 6 WED
O evento será disparado às 5h13 e às 5h38 toda quarta-feira de junho.
0 30 12 ? * 4#3
O evento será disparado às 12h30 da terceira quarta-feira todos os meses.
0 30 12 ? * 6L
O evento será disparado às 12h30 da última sexta-feira de cada mês.
0 45 11 ? * MON-THU
O evento será disparado às 11h45 toda segunda, terça, quarta e quinta-feira.
recommendation-more-help
770bc05d-534a-48a7-9f07-017ec1e14871