Saltar al contenido

Objeto Journey

Los métodos de ciclo de vida, creación y actualización 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 canvas y sus conexiones
"comments": [ ... ] // comentarios del canvas
}

Cuando 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 de solo lectura del Journey. Devueltos por cada método v3. No forma parte del cuerpo de la solicitud.

CampoTipoDescripción
uuidstringID de 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_activatedboolIndica si 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_entryboolIndica si 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 en la creación.
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 al 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
enabledboolIndica si 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 y luego enviar cuando termine la ventana), DropAndGo (omitir el mensaje, continuar el Journey inmediatamente), o WaitAndDrop (esperar a que termine la ventana y luego continuar sin enviar).

EntryCapping

Anchor link to

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

CampoTipoDescripción
is_enabledboolIndica si 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 canvas 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 de 8-4-4-4-12.
titlestringNombre para mostrar del punto.
point_typePointTypeEl tipo de nodo.
outputsarray of PointOutputConexiones a puntos posteriores.
positionPositionCoordenadas del canvas.
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. Opcional: si no se establece, finaliza el Journey para el usuario, igual que un punto terminador explícito.

Claves de salida

Anchor link to

La rama predeterminada (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 puntos 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 rama agrega 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, … (uno por variante. No hay rama default)
CampoTipoDescripción
xfloatCoordenada horizontal en el canvas.
yfloatCoordenada vertical en el canvas.

Tipos de punto y point_data

Anchor link to

point_data es un one-of: lleva 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 tags de usuario.
POINT_TYPE_WEBHOOKweb_hookEnviar una solicitud HTTP saliente.
POINT_TYPE_GOAL_EVENTgoal_eventSeguir 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": "Etiquetar como interesado",
"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 canvas.
indexintOrden de visualización.
created_atstringMarca de tiempo de creación (ISO 8601).
deletedboolIndica si el comentario está eliminado.

Enumeraciones

Anchor link to

Enumeración JourneyStatus

Anchor link to

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

Enumeración CampaignType

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.

Enumeración PointType

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.

Enumeración UserIDTrackChangePolicy

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 con el nuevo ID.
  • DROP: eliminar al usuario del Journey cuando su ID cambia.

Relacionado

Anchor link to