Pular para o conteúdo

Objeto Journey

Os métodos de ciclo de vida, criação e atualização retornam um objeto Journey com a mesma estrutura de nível superior:

Shape
{
"info": { ... }, // metadados somente leitura (apenas respostas)
"params": { ... }, // configuração para toda a jornada (criar / atualizar)
"points": [ ... ], // nós do canvas e suas conexões
"comments": [ ... ] // comentários do canvas
}

Quando você cria ou atualiza uma Journey, você envia title, params, points e comments. As respostas retornam info (que contém params), além de points e comments.

Metadados de Journey somente leitura. Retornado por todos os métodos v3. Não faz parte do corpo da solicitação.

CampoTipoDescrição
uuidstringID da Journey.
titlestringNome da Journey.
statusJourneyStatusEstado atual.
created_atstringTimestamp de criação (ISO 8601).
updated_atstringTimestamp da última atualização (ISO 8601).
is_first_activatedboolSe a Journey foi iniciada pelo menos uma vez.
paramsJourneyParamsConfiguração para toda a Journey.
category_uuidstringUUID da categoria, ou vazio se não categorizado.
pointCountsmap<string, uint32>Contagem de points por tipo.
campaign_typeCampaignTypeComo os usuários entram na Journey.
stop_reasonstringPor que a Journey parou, se aplicável.
last_edited_byUserUsuário que editou a Journey pela última vez.
dynamic_entryboolSe a entrada dinâmica está habilitada.

JourneyParams

Anchor link to

Configuração para toda a Journey. Enviado na criação/atualização e retornado dentro de info.params.

CampoTipoDescrição
application_codestringCódigo da aplicação à qual a Journey pertence. Obrigatório na criação.
silent_hoursSilentHoursHoras durante as quais as mensagens são suprimidas, por canal.
cappingEntryCappingLimites de frequência com que um usuário pode reentrar na Journey.
conversion_windowConversionWindowJanela para atribuir conversões de meta.
user_id_track_change_policyUserIDTrackChangePolicyComo lidar com a mudança de ID de um usuário no meio da Journey.

SilentHours

Anchor link to

Suprime o envio durante as horas de silêncio. Configurado por canal: cada canal utiliza seus próprios SilentHoursParams:

CampoTipoDescrição
push_paramsSilentHoursParamsHoras de silêncio para notificações push.
inapp_paramsSilentHoursParamsHoras de silêncio para mensagens in-app.
email_paramsSilentHoursParamsHoras de silêncio para e-mails.
sms_paramsSilentHoursParamsHoras de silêncio para SMS.
whatsapp_paramsSilentHoursParamsHoras de silêncio para WhatsApp.
line_paramsSilentHoursParamsHoras de silêncio para LINE.

Cada SilentHoursParams é:

CampoTipoDescrição
enabledboolSe as horas de silêncio se aplicam a este canal.
from_timeTimeInício da janela de silêncio: { "hour": 0–23, "minute": 0–59 }.
to_timeTimeFim da janela de silêncio.
week_daysbool[]Sete booleanos para os dias em que a janela se aplica (Segunda-feira = índice 0).
behaviorenumO que fazer quando uma mensagem cai dentro das horas de silêncio: WaitAndSend (reter e enviar quando a janela terminar), DropAndGo (pular a mensagem e continuar a Journey imediatamente) ou WaitAndDrop (esperar o fim da janela e continuar sem enviar).

EntryCapping

Anchor link to

Limita a frequência com que o mesmo usuário pode entrar na Journey.

CampoTipoDescrição
is_enabledboolSe o limite de entrada está ativado.
perioduint64Número mínimo de segundos entre as entradas de um usuário.

ConversionWindow

Anchor link to
CampoTipoDescrição
secondsuint64Por quanto tempo após entrar em uma Journey a conclusão de uma meta pelo usuário ainda conta como uma conversão.

Um point é um nó no canvas da Journey: um ponto de entrada, uma mensagem, um atraso, um divisor, e assim por diante.

CampoTipoDescrição
uuidstringID único do point dentro da Journey. Deve ser um UUID canônico RFC 4122: 32 dígitos hexadecimais em grupos de 8-4-4-4-12.
titlestringNome de exibição do point.
point_typePointTypeO tipo de nó.
outputsarray of PointOutputConexões para points subsequentes.
positionPositionCoordenadas do canvas.
point_dataobjectExatamente uma chave aninhada, correspondente a point_type (veja a tabela de tipos de point).

PointOutput

Anchor link to

As saídas de um point são suas ramificações de saída. Suas chaves não são de formato livre. O validador espera um conjunto exato de chaves para cada tipo de point e rejeita uma Journey cujo point tenha o número errado de saídas ou uma chave que não reconhece.

CampoTipoDescrição
identity.keystringChave da ramificação. Deve seguir as regras de chaves de saída abaixo.
identity.orderintOrdem de exibição da ramificação.
info.titlestringRótulo opcional da ramificação.
info.next_point_uuidstringUUID do próximo point ao qual esta ramificação se conecta. Opcional — deixá-lo em branco encerra a Journey para o usuário, da mesma forma que um point terminador explícito.

Chaves de saída

Anchor link to

A ramificação padrão (primeira) é sempre chamada de "default". Ramificações adicionais são chamadas de "output1", "output2", … (o prefixo output seguido por um índice baseado em 1). Dois tipos de point quebram essa regra, conforme observado abaixo.

Tipo de pointChaves de saída esperadas
Pontos de entrada (START_BY_SEGMENT, START_BY_API, EVENT), INAPP, SET_TAGS, WEBHOOK, AUDIENCE_SYNC, e pontos de mensagem sem divisor (SEND_PUSH, SEND_EMAIL, SEND_SMS, SEND_WHATSAPP, SEND_LINE, SEND_KAKAO, SEND_TELEGRAM, SEND_DATA)default
GOAL_EVENT, EXITnenhuma (sem saídas)
FILTERdefault, output1
BOOLEAN_SPLITTERdefault, depois output1outputN (uma ramificação extra por condição. Uma divisão simples de sim/não é default + output1)
WAIT (atraso)default. Um atraso dinâmico com divisão de ramificação adiciona output1
WAIT_EVENTdefault é a ramificação de evento-não-acionado. output1 (ou, com um script de condições, uma ramificação por condição) é o caminho acionado
SEND_PUSH com um divisordefault, output1 (e output2 quando os divisores de mensagem e de entrega estão ambos ativados)
SEND_EMAIL / SEND_SMS / SEND_LINE / SEND_WHATSAPP com um divisordefault, output1
SEND_WHATSAPP com um preset de resposta rápidadefault, mais uma ramificação por resposta rápida. A chave é o próprio valor da resposta rápida
AB_SPLITTERoutput0, output1, output2, … (um por variante. Não há ramificação default)
CampoTipoDescrição
xfloatCoordenada horizontal no canvas.
yfloatCoordenada vertical no canvas.

Tipos de point e point_data

Anchor link to

point_data é um one-of: ele carrega exatamente um objeto aninhado cuja chave é determinada pelo point_type do point.

point_typechave point_dataPropósito
POINT_TYPE_START_BY_SEGMENTstart_by_segmentEntrada: usuários que correspondem a um segmento.
POINT_TYPE_EVENTmessage_busEntrada: usuários que acionam um evento.
POINT_TYPE_START_BY_APIstart_by_apiEntrada: usuários injetados através da chamada Start by API.
POINT_TYPE_WAITdelayAguardar por um intervalo fixo ou dinâmico.
POINT_TYPE_WAIT_EVENTwait_eventAguardar até que um evento ocorra.
POINT_TYPE_SEND_PUSHsend_pushEnviar uma notificação push.
POINT_TYPE_SEND_EMAILsend_emailEnviar um e-mail.
POINT_TYPE_SEND_SMSsend_smsEnviar um SMS.
POINT_TYPE_SEND_WHATSAPPsend_whatsappEnviar uma mensagem de WhatsApp.
POINT_TYPE_SEND_TELEGRAMsend_telegramEnviar uma mensagem de Telegram.
POINT_TYPE_SEND_KAKAOsend_kakaoEnviar uma mensagem de Kakao.
POINT_TYPE_SEND_LINEsend_lineEnviar uma mensagem de LINE.
POINT_TYPE_SEND_DATAsend_dataEnviar uma mensagem de dados silenciosa.
POINT_TYPE_INAPPinappExibir uma mensagem in-app.
POINT_TYPE_BOOLEAN_SPLITTERboolean_splitterDividir usuários por uma condição (segmento, tags ou evento).
POINT_TYPE_AB_SPLITTERab_splitterDividir usuários em grupos A/B.
POINT_TYPE_FILTERfilterPermitir que apenas usuários que correspondem a um filtro continuem.
POINT_TYPE_SET_TAGSset_tagsAtualizar tags de usuário.
POINT_TYPE_WEBHOOKweb_hookEnviar uma solicitação HTTP de saída.
POINT_TYPE_GOAL_EVENTgoal_eventRastrear uma meta de conversão.
POINT_TYPE_AUDIENCE_SYNCaudience_syncSincronizar usuários com uma audiência externa.
POINT_TYPE_EXITterminatorSair da Journey.

Exemplo de point

Anchor link to

Um point “set tags” com uma única conexão subsequente:

{
"uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"title": "Tag as engaged",
"point_type": "POINT_TYPE_SET_TAGS",
"position": { "x": 480, "y": 120 },
"outputs": [
{
"identity": { "key": "default", "order": 0 },
"info": { "title": "", "next_point_uuid": "ffffffff-1111-2222-3333-444444444444" }
}
],
"point_data": {
"set_tags": {
"application_code": "XXXXX-XXXXX",
"tags": [ { "name": "engaged", "value": "true" } ]
}
}
}

JourneyComment

Anchor link to
CampoTipoDescrição
idstringUUID do comentário.
messagestringTexto do comentário.
positionPositionCoordenadas do canvas.
indexintOrdem de exibição.
created_atstringTimestamp de criação (ISO 8601).
deletedboolSe o comentário foi excluído.

JourneyStatus enum

Anchor link to

STATUS_DRAFT, STATUS_RUNNING, STATUS_FINISHED, STATUS_ARCHIVED, STATUS_PAUSED, STATUS_UNKNOWN.

CampaignType enum

Anchor link to
  • TriggerBased: usuários entram em um evento.
  • AudienceBased: usuários entram de um segmento.
  • APIBased: usuários entram via a chamada Start by API.
  • Mixed: mais de um tipo de entrada.
  • Unknown: tipo de entrada não determinado.

PointType enum

Anchor link to

Veja a tabela de tipos de point acima para a lista completa e a chave point_data à qual cada um corresponde.

UserIDTrackChangePolicy enum

Anchor link to

Controla o que acontece com um usuário que está no meio da Journey quando seu User ID muda:

  • DEFAULT: comportamento padrão.
  • TRACK: continuar rastreando o usuário sob o novo ID.
  • DROP: remover o usuário da Journey quando seu ID mudar.

Relacionados

Anchor link to