Saltar al contenido

Objeto Journey

Los métodos lifecycle, create y update devuelven un objeto Journey con la misma estructura de nivel superior:

Estructura
{
"info": { ... }, // metadatos de solo lectura (solo respuestas)
"params": { ... }, // configuración para todo el Journey (crear/actualizar)
"points": [ ... ], // nodos del lienzo y sus conexiones
"comments": [ ... ] // comentarios del lienzo
}

Cuando usted crea o actualiza un Journey, envía title, params, points y comments. Las respuestas devuelven info (que contiene params) además de points y comments.

Metadatos del Journey de solo lectura. Devueltos por cada método v3. No forma parte del cuerpo de la solicitud.

CampoTipoDescripción
uuidstringID del Journey.
titlestringNombre del Journey.
statusJourneyStatusEstado actual.
created_atstringMarca de tiempo de creación (ISO 8601).
updated_atstringMarca de tiempo de la última actualización (ISO 8601).
is_first_activatedboolSi el Journey se ha iniciado al menos una vez.
paramsJourneyParamsConfiguración para todo el Journey.
category_uuidstringUUID de la categoría, o vacío si no está categorizado.
pointCountsmap<string, uint32>Recuento de puntos por tipo.
campaign_typeCampaignTypeCómo entran los usuarios al Journey.
stop_reasonstringPor qué se detuvo el Journey, si aplica.
last_edited_byUserUsuario que editó por última vez el Journey.
dynamic_entryboolSi la entrada dinámica está habilitada.

JourneyParams

Anchor link to

Configuración para todo el Journey. Se envía al crear/actualizar y se devuelve dentro de info.params.

CampoTipoDescripción
application_codestringCódigo de aplicación al que pertenece el Journey. Requerido al crear.
silent_hoursSilentHoursHoras durante las cuales se suprimen los mensajes, por canal.
cappingEntryCappingLímites sobre la frecuencia con la que un usuario puede volver a entrar en el Journey.
conversion_windowConversionWindowVentana para atribuir conversiones de objetivos.
user_id_track_change_policyUserIDTrackChangePolicyCómo manejar el cambio de ID de un usuario a mitad del Journey.

SilentHours

Anchor link to

Suprime el envío durante las horas de silencio. Configurado por canal: cada canal toma sus propios SilentHoursParams:

CampoTipoDescripción
push_paramsSilentHoursParamsHoras de silencio para notificaciones push.
inapp_paramsSilentHoursParamsHoras de silencio para mensajes in-app.
email_paramsSilentHoursParamsHoras de silencio para correos electrónicos.
sms_paramsSilentHoursParamsHoras de silencio para SMS.
whatsapp_paramsSilentHoursParamsHoras de silencio para WhatsApp.
line_paramsSilentHoursParamsHoras de silencio para LINE.

Cada SilentHoursParams es:

CampoTipoDescripción
enabledboolSi las horas de silencio se aplican a este canal.
from_timeTimeInicio de la ventana de silencio: { "hour": 0–23, "minute": 0–59 }.
to_timeTimeFin de la ventana de silencio.
week_daysbool[]Siete booleanos para los días en que se aplica la ventana (Lunes = índice 0).
behaviorenumQué hacer cuando un mensaje cae dentro de las horas de silencio: WaitAndSend (retener, luego enviar cuando termine la ventana), DropAndGo (omitir el mensaje, continuar el Journey inmediatamente), o WaitAndDrop (esperar a que termine la ventana, luego continuar sin enviar).

EntryCapping

Anchor link to

Limita la frecuencia con la que el mismo usuario puede entrar en el Journey.

CampoTipoDescripción
is_enabledboolSi el límite de entrada está activado.
perioduint64Número mínimo de segundos entre las entradas de un usuario.

ConversionWindow

Anchor link to
CampoTipoDescripción
secondsuint64Cuánto tiempo después de entrar en un Journey la finalización de un objetivo por parte de un usuario todavía cuenta como una conversión.

Un punto es un nodo en el lienzo del Journey: un punto de entrada, un mensaje, un retraso, un divisor, etc.

CampoTipoDescripción
uuidstringID único del punto dentro del Journey. Debe ser un UUID canónico RFC 4122: 32 dígitos hexadecimales en grupos 8-4-4-4-12.
titlestringNombre de visualización del punto.
point_typePointTypeEl tipo de nodo.
outputsarray de PointOutputConexiones a puntos posteriores.
positionPositionCoordenadas del lienzo.
point_dataobjectExactamente una clave anidada, que coincide con point_type (consulte la tabla de tipos de punto).

PointOutput

Anchor link to

Las salidas de un punto son sus ramas salientes. Sus claves no son de formato libre. El validador espera un conjunto exacto de claves para cada tipo de punto, y rechaza un Journey cuyo punto tenga un número incorrecto de salidas o una clave que no reconoce.

CampoTipoDescripción
identity.keystringClave de la rama. Debe seguir las reglas de claves de salida a continuación.
identity.orderintOrden de visualización de la rama.
info.titlestringEtiqueta de rama opcional.
info.next_point_uuidstringUUID del siguiente punto al que se conecta esta rama.

Claves de salida

Anchor link to

La rama predeterminada (la primera) siempre se llama "default". Las ramas adicionales se nombran "output1", "output2", … (el prefijo output seguido de un índice basado en 1). Dos tipos de punto rompen esta regla, como se indica a continuación.

Tipo de puntoClaves de salida esperadas
Puntos de entrada (START_BY_SEGMENT, START_BY_API, EVENT), INAPP, SET_TAGS, WEBHOOK, AUDIENCE_SYNC, y puntos de mensaje sin divisor (SEND_PUSH, SEND_EMAIL, SEND_SMS, SEND_WHATSAPP, SEND_LINE, SEND_KAKAO, SEND_TELEGRAM, SEND_DATA)default
GOAL_EVENT, EXITninguna (sin salidas)
FILTERdefault, output1
BOOLEAN_SPLITTERdefault, luego output1outputN (una rama extra por condición. Una división simple de sí/no es default + output1)
WAIT (retraso)default. Un retraso dinámico con división de ramas añade output1
WAIT_EVENTdefault es la rama de evento no activado. output1 (o, con un script de condiciones, una rama por condición) es la ruta activada
SEND_PUSH con un divisordefault, output1 (y output2 cuando tanto el divisor de mensaje como el de entrega están activados)
SEND_EMAIL / SEND_SMS / SEND_LINE / SEND_WHATSAPP con un divisordefault, output1
SEND_WHATSAPP con un preset de respuesta rápidadefault, más una rama por respuesta rápida. La clave es el valor de la respuesta rápida en sí
AB_SPLITTERoutput0, output1, output2, … (una por variante. No hay rama default)
CampoTipoDescripción
xfloatCoordenada horizontal en el lienzo.
yfloatCoordenada vertical en el lienzo.

Tipos de punto y point_data

Anchor link to

point_data es un “one-of”: contiene exactamente un objeto anidado cuya clave está determinada por el point_type del punto.

point_typeclave point_dataPropósito
POINT_TYPE_START_BY_SEGMENTstart_by_segmentEntrada: usuarios que coinciden con un segmento.
POINT_TYPE_EVENTmessage_busEntrada: usuarios que activan un evento.
POINT_TYPE_START_BY_APIstart_by_apiEntrada: usuarios inyectados a través de la llamada Start by API.
POINT_TYPE_WAITdelayEsperar un intervalo fijo o dinámico.
POINT_TYPE_WAIT_EVENTwait_eventEsperar hasta que ocurra un evento.
POINT_TYPE_SEND_PUSHsend_pushEnviar una notificación push.
POINT_TYPE_SEND_EMAILsend_emailEnviar un correo electrónico.
POINT_TYPE_SEND_SMSsend_smsEnviar un SMS.
POINT_TYPE_SEND_WHATSAPPsend_whatsappEnviar un mensaje de WhatsApp.
POINT_TYPE_SEND_TELEGRAMsend_telegramEnviar un mensaje de Telegram.
POINT_TYPE_SEND_KAKAOsend_kakaoEnviar un mensaje de Kakao.
POINT_TYPE_SEND_LINEsend_lineEnviar un mensaje de LINE.
POINT_TYPE_SEND_DATAsend_dataEnviar un mensaje de datos silencioso.
POINT_TYPE_INAPPinappMostrar un mensaje in-app.
POINT_TYPE_BOOLEAN_SPLITTERboolean_splitterDividir usuarios por una condición (segmento, tags o evento).
POINT_TYPE_AB_SPLITTERab_splitterDividir usuarios en grupos A/B.
POINT_TYPE_FILTERfilterPermitir que solo los usuarios que coincidan con un filtro continúen.
POINT_TYPE_SET_TAGSset_tagsActualizar los tags de usuario.
POINT_TYPE_WEBHOOKweb_hookEnviar una solicitud HTTP saliente.
POINT_TYPE_GOAL_EVENTgoal_eventRastrear un objetivo de conversión.
POINT_TYPE_AUDIENCE_SYNCaudience_syncSincronizar usuarios con una audiencia externa.
POINT_TYPE_EXITterminatorSalir del Journey.

Punto de ejemplo

Anchor link to

Un punto “set tags” con una única conexión descendente:

{
"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
CampoTipoDescripción
idstringUUID del comentario.
messagestringTexto del comentario.
positionPositionCoordenadas del lienzo.
indexintOrden de visualización.
created_atstringMarca de tiempo de creación (ISO 8601).
deletedboolSi el comentario está eliminado.

JourneyStatus enum

Anchor link to

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

CampaignType enum

Anchor link to
  • TriggerBased: los usuarios entran por un evento.
  • AudienceBased: los usuarios entran desde un segmento.
  • APIBased: los usuarios entran a través de la llamada Start by API.
  • Mixed: más de un tipo de entrada.
  • Unknown: tipo de entrada no determinado.

PointType enum

Anchor link to

Consulte la tabla de tipos de punto anterior para ver la lista completa y la clave point_data a la que se asigna cada uno.

UserIDTrackChangePolicy enum

Anchor link to

Controla lo que le sucede a un usuario que está a mitad de un Journey cuando su ID de Usuario cambia:

  • DEFAULT: comportamiento predeterminado.
  • TRACK: seguir rastreando al usuario bajo el nuevo ID.
  • DROP: eliminar al usuario del Journey cuando su ID cambia.

Relacionado

Anchor link to