# Atraso de tempo

O elemento **Atraso de Tempo** faz com que os usuários esperem por um tempo especificado. Após o atraso, eles passam para a próxima etapa. O atraso pode ser um período fixo, um horário específico ou uma data. Também pode ser baseado em um valor de Tag ou atributo de Evento.

## Opções de atraso

### Duração fixa

Quando definido para um período fixo, o elemento Atraso de Tempo permite que os usuários continuem sua jornada somente quando o tempo especificado passar.

Por exemplo, se um atraso for definido para 8 horas, um usuário que chegar a este elemento da jornada esperará 8 horas antes de passar para a próxima etapa.

<Aside type="note">
Por favor, leve em consideração que o período de atraso **não pode ser superior a 30 dias.**
</Aside>

<img src="/journey-elements-README-32.webp" alt="O elemento Atraso de Tempo configurado para uma duração fixa, mostrando um usuário esperando por um período especificado antes de prosseguir."/>

### Horário específico

Você pode definir um horário exato para os usuários avançarem. Os usuários que chegarem ao elemento de atraso prosseguirão no horário especificado.

<Aside type="caution">
A opção de horário específico é definida para o fuso horário do usuário.
</Aside>

Por exemplo, se um usuário chegar a um elemento de atraso no início da manhã e você tiver definido o atraso para esperar até as 17:30, esses usuários prosseguirão para o próximo ponto da jornada às 17:30, de acordo com o fuso horário de seus dispositivos.

<Aside type="note">
Se o horário que você especificar já tiver passado para alguns usuários em seus fusos horários, esses usuários esperarão até esse mesmo horário exato no dia seguinte.
</Aside>

<img src="/journey-elements-README-33.webp" alt="A jornada de um usuário é pausada pelo elemento Atraso de Tempo até que um horário específico seja alcançado em seu fuso horário local."/>

### Data

Se você deseja configurar uma campanha única em uma data específica (por exemplo, enviar uma notificação de Black Friday), selecione uma data e hora específicas para continuar a jornada.

<Aside type="caution">
Lembre-se de que a data e a hora são definidas de acordo com o fuso horário do usuário. Se a data e a hora que você especificar já tiverem passado para alguns usuários em seus fusos horários, eles prosseguirão imediatamente para o próximo elemento da jornada.
</Aside>

<img src="/journey-elements-README-34.webp" alt="Um elemento Atraso de Tempo definido para uma data específica, ideal para agendar campanhas únicas como promoções de feriados."/>

### Dia da semana

Se você deseja que o usuário avance para o próximo ponto da jornada apenas em um dia específico da semana, selecione a opção **Dia da semana** e defina o dia e a hora desejados.

<Aside type="caution">
Lembre-se de que a data e a hora são definidas de acordo com o fuso horário do usuário. Se o dia e a hora que você especificar já tiverem passado para alguns usuários em seus fusos horários, eles esperarão até o mesmo dia e hora na próxima semana.
</Aside>

<img src="/journey-elements-README-35.webp" alt="O elemento Atraso de Tempo configurado para um dia específico da semana, permitindo agendamentos semanais recorrentes."/>

### Atraso baseado em dados do usuário ou de evento

Use esta opção quando o tempo de espera deve vir de uma Tag, um atributo de Evento ou um valor mapeado de uma resposta de [**Webhook**](#use-a-date-from-a-webhook-response).

1. Em **Opção de atraso de tempo**, selecione **Baseado em dados do usuário/evento**.
2. Em **Obter data de**, selecione **Perfil do usuário** para usar uma Tag, ou **Evento** para usar um atributo de evento ou um valor de uma resposta de webhook.
3. Se você selecionou **Perfil do usuário**, escolha a Tag que contém a data.
4. Se você selecionou **Evento**, escolha o evento e o atributo que contém a data. Para valores mapeados de webhook, veja [Use uma data de uma resposta de webhook](#use-a-date-from-a-webhook-response) abaixo.
5. Defina o deslocamento: **Antes**, **Depois** ou **Na** data, e então insira o número de dias.

<img src="/journey-elements-README-36.webp" alt="Um Atraso de Tempo baseado em dados do usuário ou de evento, permitindo agendamento dinâmico e personalizado dentro de uma Customer Journey."/>

<Aside type="note" title="Requisitos de formato de data">

*   **Tags:** use uma Tag do [tipo Data](/pt/product/audience-data-and-segmentation/user-data-tags/tags#types-of-tags) e [defina seus valores](/pt/developer/api-reference/device-api#settags) no formato `2006-01-02T15:04:05` (em **UTC**).
*   **Eventos:** [crie um Evento](/pt/product/audience-data-and-segmentation/events#1-create-events-in-pushwoosh-control-panel), [adicione um atributo de Data](/pt/product/audience-data-and-segmentation/events#2-set-attributes) e envie solicitações [/postEvent](/pt/developer/api-reference/user-centric-api#postevent) com datas no formato `2006-01-02 15:04:05`.

</Aside>

<Aside type="caution">
Se a **data ou hora já tiver passado** quando um usuário chegar a este elemento, ele sairá da jornada.
</Aside>

#### Use uma data de uma resposta de webhook

Se um elemento [**Webhook**](/pt/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables) anterior na jornada tiver o **Mapeamento de resposta** configurado, os atributos mapeados estarão disponíveis em **Evento**.

1. Em **Opção de atraso de tempo**, selecione **Baseado em dados do usuário/evento**.
2. Em **Obter data de**, selecione **Evento**.
3. Em **Evento**, selecione a etapa do webhook pelo nome que você deu a ela (por exemplo, `Get appointment details`).
4. Em **Valor do evento**, selecione o atributo mapeado que contém a data (por exemplo, `visit_date`).
5. Defina o deslocamento (por exemplo, **Antes** de `2` **Dias**).

<img src="/journey-elements-time-delay-1.webp" alt="Atraso de Tempo definido para Webhook de Evento com visit_date e deslocamento de 2 dias antes" />

O valor deve seguir as mesmas regras de formato de data que Tags e Eventos (veja **Requisitos de formato de data** acima).

<Aside type="caution">
Se o valor mapeado estiver ausente ou não for uma data válida, o usuário sairá da jornada com um erro nesta etapa. Execute o [**Teste de webhook**](/pt/product/customer-journey/journey-elements/channels/webhook/#test-the-webhook) antes do lançamento para confirmar seu mapeamento.
</Aside>

### Dividir ramificações quando a data está no passado ou vazia

Para permitir que os usuários continuem quando não atenderem à condição de atraso, habilite **Dividir em ramificações se a data estiver no passado ou se a data estiver vazia**. O fluxo se divide em **No futuro** e **No passado**. Use a ramificação **No passado** para usuários cujos valores de Tag, atributos de Evento ou datas mapeadas de webhook não correspondem ao atraso. Você pode adicionar outros elementos nessa ramificação (por exemplo, outro **Atraso de Tempo**, **Divisão de condição**, **Aguardar por Gatilho** ou uma mensagem).

Por exemplo, você define um lembrete 2 dias antes de um agendamento usando o atributo de data do evento de agendamento. Se o agendamento for amanhã, o usuário não atenderá à condição de 2 dias antes e sairá, a menos que você habilite a divisão de ramificações.

### Quando as datas de agendamento mudam no meio da jornada

Se uma data em uma Tag ou atributo de Evento mudar enquanto o usuário já está na jornada, as configurações de **Atraso de Tempo** permanecem como estavam quando o usuário chegou ao elemento.

Considere criar várias jornadas quando os usuários frequentemente remarcam agendamentos, entregas ou eventos semelhantes.

Por exemplo, inicie uma jornada no evento `AppointmentCreated` com um atributo DateTime (uma jornada de Lembrete). Defina um lembrete push 2 dias antes da visita usando **Baseado em dados do usuário/evento**. Para lidar com remarcações:

1. Crie um evento `AppointmentChanged`.
2. Na jornada de Lembrete, defina `AppointmentChanged` como uma meta de conversão para que os usuários que remarcam saiam da jornada.
3. Crie uma nova jornada que começa em `AppointmentChanged` para lembrar os usuários que atualizaram a data e a hora de sua visita.