Hellotext ofrece una poderosa API REST diseñada para la felicidad del desarrollador. Nos esforzamos constantemente en mantener todos los recursos y acciones simples y consistentes.
Todas las respuestas tienen formato y se devuelven en JSON.
https://api.hellotext.com
Todas las solicitudes a la API deben ser autenticadas. La autenticación se realiza enviando un token con cada solicitud a la API.
Puede crear y administrar tus tokens de autorización desde la sección de Ajustes. Todos los tokens de autorización son específicos del negocio desde el cual se crearon.
Para autenticar, asegúrate de incluir un encabezado de autorización con el formato Authorization: Bearer {token}
. Reemplaza el token con el token de autorización.
curl https://api.hellotext.com/v1/profiles \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Hellotext utiliza códigos de respuesta HTTP convencionales para indicar el estado de una solicitud. Cuando una solicitud es válida pero no se completa como se esperaba, respondemos con un un error 422 y un objeto JSON de errores objeto, incluida una colección de errores que incluye el tipo y la descripción.
{
"errors": [
{
"type": "parameter_missing",
"message": "This parameter is required.",
"parameter": "name"
}
]
}
Todas las colecciones de recursos de primer nivel se pueden paginar. Las colecciones se ordenan por fecha de creación, mostrando primero los objetos más recientes y limitando los resultados a 25 de forma predeterminada. Para ajustar la cantidad de resultados, puedes utilizar el parámetro limit
.
Dado que nuevos objetos serán creados, para mantener el orden consistente en la paginación, puedes obtener el siguiente conjunto de resultados a partir del último ID de la colección anterior utilizando el parámetro starting_after
. Esto incluye el siguiente conjunto de resultados después de (excluyendo) el id proporcionado. Esto también se llama paginación vectorial.
También puedes lograr lo contrario y recuperar todos los resultados hasta el identificado dado utilizando el parámetro ending_before
.
curl -G https://api.hellotext.com/v1/profiles \
-d starting_after="BvYeyVYz" \
-d limit=10 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Los clientes se representan como perfiles. Cada objeto de perfil representa las características de cada cliente y su historial de interacciones con el negocio.
Cada perfil acepta cualquier número de propiedades como números de teléfono, correos electrónicos, direcciones geo-localizadas, atributos personales como cumpleaños, sexo o cualquier otro caso personalizado.
POST
v1/profiles
GET
v1/profiles/:id
PATCH
v1/profiles/:id
DELETE
v1/profiles/:id
GET
v1/profiles
POST
v1/profiles/:id/subscribe
POST
v1/profiles/:id/unsubscribe
POST
v1/profiles/:id/verify
DELETE
v1/profiles/:id/verify
email
phone
, enumerados en formato e164.
unconfirmed
Defecto
subscribed
unsubscribed
{
"id": "MzYwlE50",
"type": "profile",
"blocked": false,
"created_at": 1665684173,
"emails": [
"will.e@acme.com"
],
"first_name": "Will E",
"last_name": "Coyote",
"lists": [
{
"id": "zN4Xx4Km",
"type": "list",
"name": "Greens",
"created_at": 1665684173
}
],
"phones": [
"+59898000001"
],
"properties": [
{
"id": "MQNKalb7",
"kind": "address",
"value": {
"city": "Montevideo",
"country": "UY",
"latitude": "-0.349044168e2",
"longitude": "-0.561370421e2",
"notes": null,
"postal_code": "11300",
"region": "Departamento de Montevideo",
"street": {
"name": "Av. Luis Alberto de Herrera",
"number": "1248"
},
"subregion": "CH"
}
},
{
"id": "MQNKalb7",
"kind": "birthday",
"name": null,
"value": {
"day": 3,
"month": 11,
"year": 1985
}
},
{
"id": "MQNKalb7",
"kind": "email",
"name": null,
"value": "will.e@acme.com",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "phone",
"name": null,
"value": "+59898000001",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "gender",
"name": null,
"value": "male"
}
],
"state": "subscribed",
"verified_emails": [
"will.e@acme.com"
],
"verified_phones": [
"+59898000001"
]
}
Crea un nuevo perfil.
address
predeterminada. Puede pasar un objeto de dirección u, opcionalmente, proporcionar una cadena como address[suggest]
. Al proporcionar la cadena de sugerencia, deconstruiremos la cadena y construiremos un objeto address
a partir de ella.
address
con el nombre declarado entre corchetes. Por ejemplo, address[work]=
configurará la dirección para la propiedad address
con el nombre work. La propiedad se creará automáticamente para el perfil actual si aún no existe.
email
con el nombre declarado entre corchetes. Por ejemplo, email[trabajo]=
configurará el correo electrónico para la propiedad email
con el nombre trabajo. La propiedad se creará automáticamente para el perfil actual si aún no existe.
phone
predeterminada. Espera un número en formato e164 o un número en formato local que se convertirá a e164 utilizando el país comercial como prefijo de país.
phone
con el nombre declarado entre corchetes. Por ejemplo, phone[trabajo]=
configurará el teléfono para la propiedad phone
con el nombre trabajo. La propiedad se creará automáticamente para el perfil actual si aún no existe.
property[Active]=true
. Si la propiedad no tiene nombre, es posible hacer referencia a ella pasando su tipo como su nombre, es decir, property[gender]=male
.
property[gVlpOkwJ]=MiValor
.
true
para suscribir al cliente en la creación del perfil. Si el cliente ya otorgó el consentimiento para recibir comunicaciones promocionales de tu marca, puedes indicarlo de esta manera. El valor predeterminado es false
, lo que significa que los nuevos perfiles no se suscriben automáticamente.
curl -X POST https://api.hellotext.com/v1/profiles
-d first_name="Will E"
-d last_name="Coyote"
-d phone="+59899000001"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "MzYwlE50"
}
Obtener un perfil existente.
curl -G https://api.hellotext.com/v1/profiles/MzYwlE50
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modifica el perfil especificado con la información proporcionada.
address
predeterminada. Puede pasar un objeto de dirección u, opcionalmente, proporcionar una cadena como address[suggest]
. Al proporcionar la cadena de sugerencia, deconstruiremos la cadena y construiremos un objeto address
a partir de ella. Proporcionar un valor vacío elimina la dirección predeterminada del perfil. Por ejemplo, address=''
o address={}
.
address[gVlpOkwJ]=MiValor
. Pasar un valor vacío eliminará la dirección del perfil. Por ejemplo, address[gVlpOkwJ]=''
eliminará la dirección con la identificación dada.
address
con el nombre declarado entre corchetes. Por ejemplo, address[work]=
configurará la dirección para la propiedad address
con el nombre work. La propiedad se creará automáticamente para el perfil actual si aún no existe. Pasar un valor vacío eliminará la dirección del perfil. Por ejemplo, address[work]=''
eliminará la dirección work del perfil.
email
predeterminada. Pasar un valor vacío eliminará el correo electrónico predeterminado, por ejemplo, email=''
eliminará el correo electrónico predeterminado. Si el perfil tiene otros correos electrónicos, el segundo correo electrónico se marcará como el nuevo predeterminado.
email[gVlpOkwJ]=will.e@acme.com
. Pasar un valor vacío elimina el correo electrónico del perfil. Por ejemplo, email[gVlpOkwJ]=''
eliminará el email del perfil.
email
con el nombre declarado entre corchetes. Por ejemplo, email[trabajo]=
configurará el correo electrónico para la propiedad email
con el nombre trabajo. La propiedad se creará automáticamente para el perfil actual si aún no existe. Pasar un valor vacío elimina el correo electrónico del perfil. Por ejemplo, email[trabajo]=''
eliminará el e-mail trabajo del perfil.
[]
se va eliminar el perfil de todas las listas.
phone
predeterminada. Espera un número en formato e164 o un número en formato local que se convertirá a e164 utilizando el país comercial como prefijo de país. Pasar un valor vacío eliminará el teléfono predeterminado del perfil. Por ejemplo, phone=''
eliminará el teléfono predeterminado del perfil. Si el perfil tiene otros números de teléfono, el segundo número de teléfono se marca como el nuevo predeterminado
phone[gVlpOkwJ]=099888888
. Pasar un valor vacío elimina el correo electrónico del perfil. Por ejemplo, phone[gVlpOkwJ]=''
eliminará el phone del perfil.
phone
con el nombre declarado entre corchetes. Por ejemplo, phone[trabajo]=
configurará el teléfono para la propiedad phone
con el nombre trabajo. La propiedad se creará automáticamente para el perfil actual si aún no existe Pasar un valor vacío elimina el teléfono del perfil. Por ejemplo, phone[trabajo]=''
eliminará el teléfono trabajo del perfil.
property[Active]=true
. Si la propiedad no tiene nombre, es posible hacer referencia a ella pasando su tipo como su nombre, es decir, property[gender]=male
.
curl -X PATCH https://api.hellotext.com/v1/profiles/MzYwlE50
-d email="will.e@acme.com"
-d gender="male"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "MzYwlE50",
"updated": true
}
Elimina el perfil especificado. Eliminar un perfil significa que todas sus propiedades serán eliminadas. Las conversaciones asociadas serán preservadas. Puedes restaurar el perfil una vez más a través del panel de control o la API cambiando el estado de suscripción del perfil a subscribed
.
curl -X DELETE https://api.hellotext.com/v1/profiles/MzYwlE50
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "MzYwlE50",
"type": "profile",
"deleted": true
}
Enumera los perfiles existentes ordenados por los más recientes. Los parámetros de paginación están disponibles en listas.
activity
Defecto
Ordenar por la última fecha de actividad del perfil. Los perfiles con actividad más reciente aparecerán primero.
alphabetically
Ordenar por apellido, nombre.
created_at
Ordenar por la fecha de creación del perfil.
curl -G https://api.hellotext.com/v1/profiles
-d limit=5
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"profiles": [
{
"id": "MzYwlE50",
"type": "profile",
"blocked": false,
"created_at": 1665684173,
"emails": [
"will.e@acme.com"
],
"first_name": "Will E",
"last_name": "Coyote",
"lists": [
{
"id": "zN4Xx4Km",
"type": "list",
"name": "Greens",
"created_at": 1665684173
}
],
"phones": [
"+59898000001"
],
"properties": [
{
"id": "MQNKalb7",
"kind": "address",
"value": {
"city": "Montevideo",
"country": "UY",
"latitude": "-0.349044168e2",
"longitude": "-0.561370421e2",
"notes": null,
"postal_code": "11300",
"region": "Departamento de Montevideo",
"street": {
"name": "Av. Luis Alberto de Herrera",
"number": "1248"
},
"subregion": "CH"
}
},
{
"id": "MQNKalb7",
"kind": "birthday",
"name": null,
"value": {
"day": 3,
"month": 11,
"year": 1985
}
},
{
"id": "MQNKalb7",
"kind": "email",
"name": null,
"value": "will.e@acme.com",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "phone",
"name": null,
"value": "+59898000001",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "gender",
"name": null,
"value": "male"
}
],
"state": "subscribed",
"verified_emails": [
"will.e@acme.com"
],
"verified_phones": [
"+59898000001"
]
},
"{...}",
"{...}"
]
}
Marca un perfil como suscrito para recibir comunicaciones promocionales de tu marca.
curl -X POST https://api.hellotext.com/v1/profiles/MzYwlE50/subscribe
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "MzYwlE50",
"type": "profile",
"blocked": false,
"created_at": 1665684173,
"emails": [
"will.e@acme.com"
],
"first_name": "Will E",
"last_name": "Coyote",
"lists": [
{
"id": "zN4Xx4Km",
"type": "list",
"name": "Greens",
"created_at": 1665684173
}
],
"phones": [
"+59898000001"
],
"properties": [
{
"id": "MQNKalb7",
"kind": "address",
"value": {
"city": "Montevideo",
"country": "UY",
"latitude": "-0.349044168e2",
"longitude": "-0.561370421e2",
"notes": null,
"postal_code": "11300",
"region": "Departamento de Montevideo",
"street": {
"name": "Av. Luis Alberto de Herrera",
"number": "1248"
},
"subregion": "CH"
}
},
{
"id": "MQNKalb7",
"kind": "birthday",
"name": null,
"value": {
"day": 3,
"month": 11,
"year": 1985
}
},
{
"id": "MQNKalb7",
"kind": "email",
"name": null,
"value": "will.e@acme.com",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "phone",
"name": null,
"value": "+59898000001",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "gender",
"name": null,
"value": "male"
}
],
"state": "subscribed",
"verified_emails": [
"will.e@acme.com"
],
"verified_phones": [
"+59898000001"
]
}
Cancela la suscripción de un perfil para recibir futuras comunicaciones promocionales de tu marca.
curl -X POST https://api.hellotext.com/v1/profiles/MzYwlE50/unsubscribe
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "MzYwlE50",
"type": "profile",
"blocked": false,
"created_at": 1665684173,
"emails": [
"will.e@acme.com"
],
"first_name": "Will E",
"last_name": "Coyote",
"lists": [
{
"id": "zN4Xx4Km",
"type": "list",
"name": "Greens",
"created_at": 1665684173
}
],
"phones": [
"+59898000001"
],
"properties": [
{
"id": "MQNKalb7",
"kind": "address",
"value": {
"city": "Montevideo",
"country": "UY",
"latitude": "-0.349044168e2",
"longitude": "-0.561370421e2",
"notes": null,
"postal_code": "11300",
"region": "Departamento de Montevideo",
"street": {
"name": "Av. Luis Alberto de Herrera",
"number": "1248"
},
"subregion": "CH"
}
},
{
"id": "MQNKalb7",
"kind": "birthday",
"name": null,
"value": {
"day": 3,
"month": 11,
"year": 1985
}
},
{
"id": "MQNKalb7",
"kind": "email",
"name": null,
"value": "will.e@acme.com",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "phone",
"name": null,
"value": "+59898000001",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "gender",
"name": null,
"value": "male"
}
],
"state": "unsubscribed",
"verified_emails": [
"will.e@acme.com"
],
"verified_phones": [
"+59898000001"
]
}
Verifica la información de contacto de un perfil para asegurar que la información haya sido verificada y evitar suplantaciones.
curl -X POST https://api.hellotext.com/v1/profiles/MzYwlE50/verify
-d phone="+598000000"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"verified": true
}
curl -X POST https://api.hellotext.com/v1/profiles/MzYwlE50/verify
-d email="will.e@acme.com"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"verified": true
}
curl -X DELETE https://api.hellotext.com/v1/profiles/MzYwlE50/verify
-d phone="+598000000"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"verified": false
}
curl -X DELETE https://api.hellotext.com/v1/profiles/MzYwlE50/verify
-d email="will.e@acme.com"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"verified": false
}
Las propiedades son los atributos de perfiles como teléfono, correo electrónico, empresa, género, fecha de nacimiento y dirección.
Puedes crear propiedades personalizadas para cualquier necesidad específica simplemente eligiendo su tipo y un nombre opcional. Cada tipo de propiedad espera su valor con una estructura específico. Para más información, revisa detallado de cada formato a continuación.
Una vez que creadas, las nuevas propiedades están disponibles de inmediato en todos los perfiles nuevos y existentes.
phone
, email
, mercadolibre
propiedades están agrupadas juntas y mostradas antes de todas las propeidades otras, en el orden mencionado. Por lo tanto, su posición refleja solo el orden dentro de su propia especie.
POST
v1/properties
GET
v1/properties/:id
PATCH
v1/properties/:id
DELETE
v1/properties/:id
GET
v1/properties
false
. La singularidad de la propiedad determina si varios perfiles pueden tener el mismo valor. Las propiedades únicas aseguran que no haya dos perfiles con el mismo valor. Esto es útil en casos en los que deseas que un solo perfil tenga un valor específico en un momento determinado. unique
son ignoradas.
birthday
checkbox
date
gender
list
tags
{
"id": "OBYBnY69",
"type": "property",
"created_at": 1665684173,
"kind": "text",
"name": "My Property",
"position": 8,
"profile": null,
"unique": false
}
Las propiedades tienen diferentes formatos para sus valores dependiendo de su clase, expresado con el atributo kind
.
Cada tipo de kind
espera un formato específico como su valor. Consulte la descripción de cada uno a continuación.
Los valores de las propiedades siempre se establecen desde el objeto de perfil.
Representa una dirección asociada a un perfil. Puede ayudar a realizar un seguimiento de las direcciones de los clientes. El uso de esta propiedad facilita la segmentación de clientes en regiones, calles o países específicos.
{
"id": "MQNKalb7",
"kind": "address",
"value": {
"city": "Montevideo",
"country": "UY",
"latitude": "-0.349044168e2",
"longitude": "-0.561370421e2",
"notes": null,
"postal_code": "11300",
"region": "Departamento de Montevideo",
"street": {
"name": "Av. Luis Alberto de Herrera",
"number": "1248"
},
"subregion": "CH"
}
}
La propiedad birthday
se basa en la propiedad date
y hereda su estructura. Tiene un nombre diferente ya que esta ideada específicamente para realizar un seguimiento de la fecha de cumpleaños del perfil. El uso de esta propiedad facilita la segmentación de clientes por edad o día del mes cuando se utilizan Segmentos o Trayectos.
{
"id": "MQNKalb7",
"kind": "birthday",
"name": null,
"value": {
"day": 3,
"month": 11,
"year": 1985
}
}
{
"id": "MQNKalb7",
"kind": "checkbox",
"name": null,
"value": false
}
{
"id": "MQNKalb7",
"kind": "company",
"name": null,
"value": "ACME Corporation"
}
{
"id": "MQNKalb7",
"kind": "date",
"name": null,
"value": {
"day": 3,
"month": 11,
"year": 1985
}
}
{
"id": "MQNKalb7",
"kind": "email",
"name": null,
"value": "will.e@acme.com",
"verified": true
}
{
"id": "MQNKalb7",
"kind": "gender",
"name": null,
"value": "male"
}
{
"id": "MQNKalb7",
"kind": "mercadolibre",
"name": null,
"value": "WILLE900001"
}
{
"id": "MQNKalb7",
"kind": "number",
"name": null,
"value": 29.99
}
{
"id": "MQNKalb7",
"kind": "phone",
"name": null,
"value": "+59898000001",
"verified": true
}
{
"id": "MQNKalb7",
"kind": "tags",
"name": null,
"value": [
"tag1",
"tag2"
]
}
{
"id": "MQNKalb7",
"kind": "text",
"name": null,
"value": "Long lasting customer"
}
{
"id": "MQNKalb7",
"kind": "url",
"name": null,
"value": "https://www.hellotext.com"
}
Crea una nueva propiedad.
address
email
phone
checkbox
date
number
tags
text
url
1er-nombre
es inválido. {nombre}
es inválido. address
, email
o phone
. Requerido al crear propiedades de tipo address
, email
o phone
.
false
. La singularidad de la propiedad determina si varios perfiles pueden tener el mismo valor.
Las propiedades únicas aseguran que no haya dos perfiles con el mismo valor. Esto es útil en casos en los que deseas que un solo perfil tenga un valor específico en un momento determinado.
curl -X POST https://api.hellotext.com/v1/properties
-d profile="OBYBnY69"
-d kind="text"
-d name="My Property"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "OBYBnY69",
"type": "property",
"created_at": 1665684173,
"kind": "text",
"name": "My Property",
"position": 8,
"profile": "OBYBnY69",
"unique": false
}
Obtener una propiedad existente.
curl -G https://api.hellotext.com/v1/properties/OBYBnY69
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modifica la propiedad especificada con la información proporcionada.
1er-nombre
es inválido. {nombre}
es inválido. position=''
mueve la propiedad al final de la lista de propiedades.
curl -X PATCH https://api.hellotext.com/v1/properties/:id
-d name="My Renamed Property"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "OBYBnY69",
"type": "property",
"created_at": 1665684173,
"kind": "text",
"name": "My Renamed Property",
"position": 8,
"profile": null,
"unique": false
}
Elimina permanentemente la propiedad especificada.
curl -X DELETE https://api.hellotext.com/v1/properties/OBYBnY69
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "OBYBnY69",
"type": "property",
"deleted": true
}
Enumera las propiedades existentes ordenadas por las más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/properties
-d limit=5
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"properties": [
{
"id": "OBYBnY69",
"type": "property",
"created_at": 1665684173,
"kind": "text",
"name": "My Property",
"position": 8,
"profile": null,
"unique": false
},
"{...}",
"{...}"
]
}
Las listas actúan como agrupación lógica de perfiles.
POST
v1/lists
GET
v1/lists/:id
PATCH
v1/lists/:id
DELETE
v1/lists/:id
GET
v1/lists
{
"id": "zN4Xx4Km",
"type": "list",
"name": "Greens",
"created_at": 1665684173
}
Crea una nueva lista
curl -X POST https://api.hellotext.com/v1/lists
-d name="Beauty & Care"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "zN4Xx4Km",
"type": "list",
"name": "Beauty & Care",
"created_at": 1665684173
}
Recupera una lista existente. Puedes especificar la lista a través de sus atributos id
o name
.
curl -G https://api.hellotext.com/v1/lists/zN4Xx4Km
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Actualiza una lista existente. Puedes actualizar una lista a través de sus atributos id
o name
.
curl -X PATCH https://api.hellotext.com/v1/lists/zN4Xx4Km
-d name="Loyal customers"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "zN4Xx4Km",
"type": "list",
"name": "Loyal customers",
"created_at": 1665684173
}
Elimina una lista existente. Puedes eliminar una lista a través de sus atributos id
o name
.
curl -X DELETE https://api.hellotext.com/v1/lists/zN4Xx4Km
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "zN4Xx4Km",
"type": "list",
"deleted": true
}
Enumera las listas existentes ordenados por los más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/lists
-d limit=5
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"lists": [
{
"id": "zN4Xx4Km",
"type": "list",
"name": "Greens",
"created_at": 1665684173
},
"{...}",
"{...}"
]
}
Agrega un perfil a una lista si el perfil no está ya en la lista. Puedes especificar la lista a través de sus atributos id
o name
.
curl -X POST https://api.hellotext.com/v1/lists/dWJ8VYmz/profiles/MzYwlE50 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "MzYwlE50",
"type": "profile",
"blocked": false,
"created_at": 1665684173,
"emails": [
"will.e@acme.com"
],
"first_name": "Will E",
"last_name": "Coyote",
"lists": [
{
"id": "zN4Xx4Km",
"type": "list",
"name": "Greens",
"created_at": 1665684173
}
],
"phones": [
"+59898000001"
],
"properties": [
{
"id": "MQNKalb7",
"kind": "address",
"value": {
"city": "Montevideo",
"country": "UY",
"latitude": "-0.349044168e2",
"longitude": "-0.561370421e2",
"notes": null,
"postal_code": "11300",
"region": "Departamento de Montevideo",
"street": {
"name": "Av. Luis Alberto de Herrera",
"number": "1248"
},
"subregion": "CH"
}
},
{
"id": "MQNKalb7",
"kind": "birthday",
"name": null,
"value": {
"day": 3,
"month": 11,
"year": 1985
}
},
{
"id": "MQNKalb7",
"kind": "email",
"name": null,
"value": "will.e@acme.com",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "phone",
"name": null,
"value": "+59898000001",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "gender",
"name": null,
"value": "male"
}
],
"state": "subscribed",
"verified_emails": [
"will.e@acme.com"
],
"verified_phones": [
"+59898000001"
]
}
Elimina un perfil de una lista si el perfil es miembro de la lista. Puedes especificar la lista a través de sus atributos id
o name
.
curl -X DELETE https://api.hellotext.com/v1/lists/dWJ8VYmz/profiles/MzYwlE50 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "MzYwlE50",
"type": "profile",
"blocked": false,
"created_at": 1665684173,
"emails": [
"will.e@acme.com"
],
"first_name": "Will E",
"last_name": "Coyote",
"lists": [
],
"phones": [
"+59898000001"
],
"properties": [
{
"id": "MQNKalb7",
"kind": "address",
"value": {
"city": "Montevideo",
"country": "UY",
"latitude": "-0.349044168e2",
"longitude": "-0.561370421e2",
"notes": null,
"postal_code": "11300",
"region": "Departamento de Montevideo",
"street": {
"name": "Av. Luis Alberto de Herrera",
"number": "1248"
},
"subregion": "CH"
}
},
{
"id": "MQNKalb7",
"kind": "birthday",
"name": null,
"value": {
"day": 3,
"month": 11,
"year": 1985
}
},
{
"id": "MQNKalb7",
"kind": "email",
"name": null,
"value": "will.e@acme.com",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "phone",
"name": null,
"value": "+59898000001",
"verified": true
},
{
"id": "MQNKalb7",
"kind": "gender",
"name": null,
"value": "male"
}
],
"state": "subscribed",
"verified_emails": [
"will.e@acme.com"
],
"verified_phones": [
"+59898000001"
]
}
Importa los cupones de tu eCommerce que te gustaría enviar en tus campañas promocionales. Puedes medir los resultados de los diferentes cupones.
POST
v1/coupons
GET
v1/coupons/:id
PATCH
v1/coupons/:id
DELETE
v1/coupons/:id
GET
v1/coupons
{
"id": "xJEOaPdk",
"type": "coupon",
"code": "SALE",
"created_at": 1665684173,
"description": "Get 15% off all our summer sale",
"destination_url": "https://www.myshop.com/redeem/SALE",
"reference": null
}
Crea un nuevo cupón.
SALE
. Distingue mayúsculas y minúsculas. No se permiten códigos duplicados.
curl -X POST https://api.hellotext.com/v1/coupons
-d code="SALE"
-d description="Get 15% off all our summer sale"
-d destination_url="https://www.myshop.com/redeem/SALE"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "xJEOaPdk",
"type": "coupon",
"code": "SALE",
"created_at": 1665684173,
"description": "Get 15% off all our summer sale",
"destination_url": "https://www.myshop.com/redeem/SALE",
"reference": null
}
Obtener un cupón existente.
curl -G https://api.hellotext.com/v1/coupons/xJEOaPdk
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modifica el cupón especificado con la información proporcionada.
SALE
. Distingue mayúsculas y minúsculas. No se permiten códigos duplicados.
curl -X PATCH https://api.hellotext.com/v1/coupons/xJEOaPdk
-d code="SALE15"
-d description="Get 15% off all our summer sale"
-d destination_url="https://www.myshop.com/redeem/SALE"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "xJEOaPdk",
"type": "coupon",
"code": "SALE15",
"created_at": 1665684173,
"description": "Get 15% off all our summer sale",
"destination_url": "https://www.myshop.com/redeem/SALE",
"reference": null
}
Elimina permanentemente el cupón especificado.
curl -X DELETE https://api.hellotext.com/v1/coupons/xJEOaPdk
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "xJEOaPdk",
"type": "coupon",
"deleted": true
}
Enumera los cupones existentes ordenados por los más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/coupons
-d limit=5
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"coupons": [
{
"id": "xJEOaPdk",
"type": "coupon",
"code": "SALE",
"created_at": 1665684173,
"description": "Get 15% off all our summer sale",
"destination_url": "https://www.myshop.com/redeem/SALE",
"reference": null
},
"{...}",
"{...}"
]
}
El seguimiento de las interacciones de los clientes abre nuevas posibilidades de marketing y brinda a las empresas una vista completa del historial de cada cliente.
Mediante el seguimiento de las acciones de clientes, es posible crear audiencias segmentadas basadas en lo que hacen y les gusta, y usar esto para marketing de alta precisión. Las empresas pueden activar automatizaciones basadas en la actividad del cliente y dar a su equipo una gran ventaja encontrando nuevas oportunidades para interactuar activamente y vender más.
Una configuración mínima para realizar un seguimiento de un evento es establecer el parámetro action
con cualquiera de las acciones pre-definidas o personalizadas (consulta Acciones) y el parámetro profile
que representa el perfil del cliente o el session
si el seguimiento de eventos se realiza a partir de enlaces cortos en campañas o rutas (ver Sesiones).
Al proporcionar los parámetros session
y profile
, asegúrese de que la sesión esté asignada al perfil. Las sesiones asignadas a un perfil no se pueden utilizar para realizar un seguimiento de los eventos de otro perfil. Si la sesión no está asignada a ningún perfil, se asignará automáticamente al perfil que pase al realizar el seguimiento de un evento.
Al proporcionar una currency
. Se debe especificar el amount
. Si no se proporciona ninguno, los valores se heredarán del trackable
si el objeto tiene los atributos.
POST /v1/attribution/events
Realiza un seguimiento de los eventos importantes realizados por tus clientes cuando interactúan con tu aplicación. Las acciones más comunes incluyen cuando una aplicación se instala con la acción app.installed
, se elimina con app.removed
o cuando un usuario gasta una determinada cantidad con app.spent
.
Al rastrear eventos asociados a sesiones creadas después de una campaña, todos los valores de atribución, incluidos los valores monetarios, se agregarán a los informes de la campaña.
app.spent
, app.installed
y app.removed
.
app.installed
app.removed
app.spent
null
. Obligatorio si action=app.spent
.
app
. El app se va agregar y despues rastreado.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
. Obligatorio si action=app.spent
.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
curl https://api.hellotext.com/v1/attribution/events \
-d action="app.installed" \
-d app=xnqJQ47v \
-d session=2KAGgAgm \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"status": "received"
}
Realiza un seguimiento de los eventos realizados por los clientes cuando agregan o eliminan elementos de su carrito de compras. O abandonan el carrito
Los valores monetarios asociados a los elementos del carrito se agregarán a los informes de la campaña.
cart.abandoned
cart.added
cart.removed
null
.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
.
id
, reference
o sku
) y product_parameters
y product_variant_parameters
. Requerido cuando la acción es cart.added
o cart.removed
. productos
se agregarán a él. Cuando se proporciona un objeto Carrito, los productos
se agregarán al Carrito. Y los productos
se mostrarán en la Trayectoria de Actividad del Perfil. reference
o sku
para el producto o la variante del producto para evitar la creación de productos duplicados.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
curl https://api.hellotext.com/v1/attribution/events \
-d action="cart.added" \
-d app=xnqJQ47v \
-d session=2KAGgAgm \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"status": "received"
}
Realiza un seguimiento de los eventos realizados por tus clientes cuando canjean cupones. El valor disponible es coupon.redeemed
para los cupones canjeados.
Los valores monetarios asociados al canje de cupones se agregarán a los informes de la campaña.
null
.
coupon
. El cupon se va agregar y despues rastreado.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
curl https://api.hellotext.com/v1/attribution/events \
-d action="coupon.redeemed" \
-d coupon=wx4Vn4no \
-d session=2KAGgAgm \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"status": "received"
}
Realiza un seguimiento de los eventos realizados por tus clientes cuando completan un formulario. Las acciones disponibles son form.completed
.
Los valores monetarios asociados a la finalización del formulario se agregarán a los informes de la campaña.
null
.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
.
form
. El formulario se va agregar y despues rastreado.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
curl https://api.hellotext.com/v1/attribution/events \
-d action="form.completed" \
-d form=wx4Vn4no \
-d session=2KAGgAgm \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"status": "received"
}
Realiza un seguimiento de los eventos relacionados con el ciclo de vida de las ordenes de tus clientes. Las acciones disponibles son order.placed
cuando un cliente realiza una orden, order.confirmed
cuando se confirma, order.cancelled
si se cancela y < code>order.shipped cuando se envía.
Los valores monetarios asociados a las órdenes se agregarán a los informes de la campaña.
order.cancelled
order.confirmed
order.delivered
order.placed
order.printed_label
order.shipped
null
.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
.
order
. El órden se va agregar y despues rastreado.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
curl https://api.hellotext.com/v1/attribution/events \
-d action="order.placed" \
-d order=wx4Vn4no \
-d session=2KAGgAgm \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"status": "received"
}
Seguimiento de los eventos de compras realizadas por tus clientes. Si tus clientes realizan órdenes, puedes realizar un seguimiento de las acciones de la orden. Las acciones de productos disponibles son product.purchased
cuando un cliente compra un producto y product.viewed
cuando un producto es visto.
Los valores monetarios asociados a la compra del producto se agregarán a los informes de la campaña.
Este punto final se puede utilizar con Productos y Variantes de productos. Si desea realizar un seguimiento de un Producto o Variante de producto existente, asegúrese de pasar el id
, reference
o sku
de un registro existente. Si desea crear un nuevo Producto, debe pasar el parámetro product_parameters
. De manera similar, si desea crear una nueva Variante de producto, asegúrese de pasar el product_variant_parameters
en su lugar.
product.purchased
product.viewed
null
.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
.
id
, reference
o sku
de un objeto de producto existente. Opcional cuando pasa product_parameters
o product_variant
. Requerido al pasar product_variant_parameters
.
product
. El producto se va agregar y despues rastreado.
id
, reference
o sku
de un objeto de variante de producto existente. Opcional cuando especifica product_variant_parameters
.
product_variant
. La variante de producto se creará y se realizará el seguimiento del evento. Al pasar este parámetro, asegúrese también de especificar el producto mediante el parámetro product
.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
curl https://api.hellotext.com/v1/attribution/events \
-d action="product.purchased" \
-d product=vxqQJ3Yg \
-d session=2KAGgAgm \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"status": "received"
}
Realiza un seguimiento de los eventos relacionados con los reembolsos solicitados por tus clientes. Las acciones disponibles son refund.requested
y refund.received
.
Los valores monetarios asociados a los reembolsos emitidos se agregarán a los informes de la campaña.
refund.received
refund.requested
null
.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
refund
. El reembolsos se va agregar y despues rastreado.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
curl https://api.hellotext.com/v1/attribution/events \
-d action="refund.added" \
-d refund=wx4Vn4no \
-d product=vxqQJ3Yg \
-d session=2KAGgAgm \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"status": "received"
}
Hellotext te proporciona una lista de acciones pre-definidas para rastrear las interacciones más comunes de tus clientes como compras, visitas a tu sitio, productos agregados al carrito, formularios completados y más. Sin embargo, esto no siempre es suficiente y a veces necesitas mayor control y flexibilidad en definir acciones más específicas a las necesidades de tu negocio.
Es posible especificar cualquier nombre de acción personalizado al rastrear eventos siempre que el objeto de acción se haya creado previamente. Una vez creada la acción simplemente puedes utilizar su nombre para realizar un seguimiento.
Ten en cuenta que los valores monetarios transferidos a estos eventos se agregarán a los informes de la campaña como ventas.
Más sobre Acciones.
null
.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
curl https://api.hellotext.com/v1/attribution/events \
-d action="signup_form.completed" \
-d session=2KAGgAgm \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"status": "received"
}
Hellotext proporciona un conjunto básico de acciones, perfecto para comenzar su próxima campaña de atribución. Pero, cuando surge la necesidad de rastrear diferentes acciones no proporcionadas por Hellotext, puede ampliar el conjunto de acciones disponibles creando sus propias acciones personalizadas.
Puede nombrar las acciones de la manera que desee. Recomendamos tomar un enfoque de puntos al nombrar sus acciones, para tenerlas agrupadas y con estados, por ejemplo, las acciones personalizadas pueden ser como las siguientes.
Ver Eventos personalizados para más información.
subscriber.signed_up
signup_form.completed
subscriber.voted
POST
v1/attribution/actions
GET
v1/attribution/actions/:id
PATCH
v1/attribution/actions/:id
DELETE
v1/attribution/actions/:id
GET
v1/attribution/actions
false
. Si se establece en true
, los eventos con este acción se pueden utilizar como una métrica para KPIs que se muestran en las Campañas y las Rutas.
action
al momento de crear un evento. No se permiten nombres duplicados.
true
. false
. Sin embargo, si la acción no es importante, puede marcarla como pasiva.
{
"id": "Wvqz2qD1",
"type": "action",
"created_at": 1665684173,
"goal": false,
"name": "signup_form.completed",
"passive": true,
"title": "Signup-form completed"
}
Crea una nueva acción.
false
. Si se establece en true
, los eventos con este acción se pueden utilizar como una métrica para KPIs que se muestran en las Campañas y las Rutas.
action
al momento de crear un evento. No se permiten nombres duplicados.
curl -X POST https://api.hellotext.com/v1/attribution/actions
-d name="signup_form.completed"
-d title="Signup-form completed"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "Wvqz2qD1",
"type": "action",
"created_at": 1665684173,
"goal": false,
"name": "signup_form.completed",
"passive": true,
"title": "Signup-form completed"
}
Obtener una acción existente.
curl -G https://api.hellotext.com/v1/attribution/actions/Wvqz2qD1 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modificar la acción especificada con la información proporcionada.
false
. Si se establece en true
, los eventos con este acción se pueden utilizar como una métrica para KPIs que se muestran en las Campañas y las Rutas.
action
al momento de crear un evento. No se permiten nombres duplicados.
curl -X PATCH https://api.hellotext.com/v1/attribution/actions/:id
-d name="contact.subscribed"
-d title="Contact Subscribed"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "Wvqz2qD1",
"type": "action",
"created_at": 1665684173,
"goal": false,
"name": "contact.subscribed",
"passive": true,
"title": "Contact Subscribed"
}
Elimina permanentemente la acción especificada.
Esta acción es irreversible. Al eliminar una acción, también se eliminarán todos los eventos rastreados asociados a ella. Tenga cuidado al usar este endpoint.
curl -X DELETE https://api.hellotext.com/v1/attribution/actions/Wvqz2qD1 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "Wvqz2qD1",
"type": "action",
"deleted": true
}
Enumera las acciones existentes ordenadas por las más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/attribution/actions
-d limit=5
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"actions": [
{
"id": "Wvqz2qD1",
"type": "action",
"created_at": 1665684173,
"goal": false,
"name": "signup_form.completed",
"passive": true,
"title": "Signup-form completed"
},
"{...}",
"{...}"
]
}
Los objetos de aplicación representan las aplicaciones propias o administradas con las que interactúa tu audiencia. Por ejemplo, estas podrían ser tus aplicaciones iOS o Android.
Puedes realizar un seguimiento de los eventos de tu audiencia que interactúan con tus aplicaciones. Por ejemplo, cuando alguien instala una aplicación, la elimina o gasta cualquier cantidad.
Conocer más Eventos de app.
POST /v1/attribution/apps
GET /v1/attribution/apps/:id
PATCH /v1/attribution/apps/:id
DELETE /v1/attribution/apps/:id
GET /v1/attribution/apps
{
"id": "xnqJQ47v",
"type": "app",
"created_at": 1665684173
"image_url": "https://www.beautyandcare.com/apps/awesome.jpg",
"metadata": {},
"name": "Beauty & Care",
}
Crea una nueva aplicación.
curl https://api.hellotext.com/v1/attribution/apps \
-d name="Beauty & Care" \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "xnqJQ47v",
"type": "app",
"created_at": 1665684173
"image_url": null,
"metadata": {},
"name": "Beauty & Care",
}
Obtener una aplicación existente.
curl -G https://api.hellotext.com/v1/attribution/apps/xnqJQ47v \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modificar la aplicación especificada con la información proporcionada.
curl https://api.hellotext.com/v1/attribution/apps/xnqJQ47v \
-d name="Beauty & More" \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "xnqJQ47v",
"type": "app",
"created_at": 1665684173
"image_url": null,
"metadata": {},
"name": "Beauty & More",
}
Elimina permanentemente la aplicación especificada.
curl -X DELETE https://api.hellotext.com/v1/attribution/apps/xnqJQ47v \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "xnqJQ47v",
"type": "app",
"deleted": true
}
Enumera las aplicaciones existentes ordenadas por las más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/attribution/apps \
-d limit=5 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"apps": [
{
"id": "xnqJQ47v",
"type": "app",
"created_at": 1665684173
"image_url": "https://www.beautyandcare.com/apps/awesome.jpg",
"metadata": {},
"name": "Beauty & Care",
},
{...},
{...}
]
}
Los objetos de carrito representan objetos de carrito de compras que se pueden utilizar para determinar qué elementos tiene el perfil en el carrito en un momento determinado.
Los objetos de carrito actúan como grupos lógicos donde puedes agrupar varios productos agregados a un carrito juntos.
Puedes rastrear cuándo se agregan elementos al carrito, se eliminan del carrito o cuándo se abandonó el carrito.
Conocer más Eventos de carrito.
POST
v1/attribution/carts
GET
v1/attribution/carts/:id
PATCH
v1/attribution/carts/:id
DELETE
v1/attribution/carts/:id
GET
v1/attribution/carts
{
"id": "wx4Vn4no",
"type": "cart",
"created_at": 1665684173,
"items": [
{
"id": "wx4Vn4no",
"type": "cart_item",
"created_at": 1665684173,
"price": {
"amount": "100.00",
"converted_amount": "100.00",
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3Yg",
"quantity": 1
},
"{...}",
"{...}"
],
"metadata": {
},
"profile": "MzYwlE50",
"reference": "ABC123",
"session": "Vdqlg4nL",
"source": null
}
Crea un nuevo carrito.
session
.
profile
." "Se puede usar para asociar el carrito con un perfil indefinido. Y luego adjuntar el carrito al perfil una vez que se conozca el perfil."
curl -X POST https://api.hellotext.com/v1/attribution/carts
-d metadata[attribute1]=value1
-d metadata[attribute2]=value2
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "wx4Vn4no",
"type": "cart",
"created_at": 1665684173,
"items": [
{
"id": "wx4Vn4no",
"type": "cart_item",
"created_at": 1665684173,
"price": {
"amount": "100.00",
"converted_amount": "100.00",
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3Yg",
"quantity": 1
},
"{...}",
"{...}"
],
"metadata": {
"attribute1": "value1",
"attribute2": "value2"
},
"profile": "MzYwlE50",
"reference": "ABC123",
"session": "Vdqlg4nL",
"source": null
}
Obtener un carrito existente.
curl -G https://api.hellotext.com/v1/attribution/carts/wx4Vn4no
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modificar el carrito especificado con la información proporcionada.
[]
eliminará todos los elementos del carrito." "Ignorar el parámetro no cambiará los elementos actuales en el carrito."
session
.
profile
." "Se puede usar para asociar el carrito con un perfil indefinido. Y luego adjuntar el carrito al perfil una vez que se conozca el perfil."
curl -X PATCH https://api.hellotext.com/v1/attribution/carts/wx4Vn4no
-d metadata[attribute1]=value1
-d metadata[attribute2]=value2
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "wx4Vn4no",
"type": "cart",
"created_at": 1665684173,
"items": [
{
"id": "wx4Vn4no",
"type": "cart_item",
"created_at": 1665684173,
"price": {
"amount": "100.00",
"converted_amount": "100.00",
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3Yg",
"quantity": 1
},
"{...}",
"{...}"
],
"metadata": {
"attribute1": "value1",
"attribute2": "value2"
},
"profile": "MzYwlE50",
"reference": "ABC123",
"session": "Vdqlg4nL",
"source": null
}
Elimina permanentemente el carrito especificado.
curl -X DELETE https://api.hellotext.com/v1/attribution/carts/wx4Vn4no
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "wx4Vn4no",
"type": "cart",
"deleted": true
}
Enumera los carritos existentes ordenados por los más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/attribution/carts
-d limit=5
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"carts": [
{
"id": "wx4Vn4no",
"type": "cart",
"created_at": 1665684173,
"items": [
{
"id": "wx4Vn4no",
"type": "cart_item",
"created_at": 1665684173,
"price": {
"amount": "100.00",
"converted_amount": "100.00",
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3Yg",
"quantity": 1
},
"{...}",
"{...}"
],
"metadata": {
},
"profile": "MzYwlE50",
"reference": "ABC123",
"session": "Vdqlg4nL",
"source": null
},
"{...}",
"{...}"
]
}
Los eventos representan las acciones individuales de tus clientes que deseas rastrear. Todos los eventos siempre se asocian a un perfil a través de un session o perfil.
Un evento siempre requiere una acción de la que deseas realizar un seguimiento. Consulta la sección Seguimiento para obtener más información sobre las diferentes formas de realizar un seguimiento de los eventos.
POST /v1/attribution/events
GET /v1/attribution/events/:id
PATCH /v1/attribution/events/:id
DELETE /v1/attribution/events/:id
GET /v1/attribution/events
null
.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
{
"id": "xnqJQ47v",
"type": "event",
"action": {
"id": "Wvqz2qD1",
"name": "order.confirmed",
"title": "Product purchased"
},
"amount": 199.95,
"converted_amount": "19.90",
"converted_amount_currency": "EUR",
"created_at": 1665684173,
"currency": "USD",
"metadata": {},
"profile": "MzYwlE50",
"session": "Vdqlg4nL",
"trackable": {
"id": "ro4a731w",
"type": "order",
"amount": 199.95,
"currency": "USD",
"product_ids": ["xnqJQ47v"]
},
"tracked_at": "1665684173",
}
Obtener un evento existente.
curl -G https://api.hellotext.com/v1/attribution/events/xnqJQ47v \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modificar el evento especificado con la información proporcionada.
null
.
cantidad
proporcionada en formato ISO 4217. El valor predeterminado siempre es USD
.
session
. Identificador único del objeto de perfil al que pertenece este evento. Si no se especifica explícitamente, el identificador de perfil se puede heredar cuando se especifica el parámetro session
y la sesión ya está asociada a un perfil o se adjunta posteriormente a uno.
profile
. Identificador del objeto de sesión al que pertenece este evento. Las sesiones son identificadores generados automáticamente a partir de los clics de los visitantes en enlaces cortos o de la librería Hellotext.js al realizar seguimientos de visitantes anónimos. Es una forma de rastrear eventos en el lado del cliente sin autenticar o revelar el identificador del perfil, lo que permite asociarlo más tarde a un perfil de forma segura en el lado del servidor. Más información sobre Sesiones.
created_at
.
curl https://api.hellotext.com/v1/attribution/events/xnqJQ47v \
-d amount=295.00 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "xnqJQ47v",
"type": "event",
"action": {
"id": "Wvqz2qD1",
"name": "order.confirmed",
"title": "Product purchased"
},
"amount": 295.00,
"converted_amount": "19.90",
"converted_amount_currency": "EUR",
"created_at": 1665684173,
"currency": "USD",
"metadata": {},
"profile_id": "MzYwlE50",
"session_id": "Vdqlg4nL",
"trackable": {
"id": "ro4a731w",
"type": "order",
"amount": 199.95,
"currency": "USD",
"product_ids": ["xnqJQ47v"]
},
"tracked_at": "1665684173",
}
Elimina permanentemente el evento especificado.
curl -X DELETE https://api.hellotext.com/v1/attribution/events/xnqJQ47v \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "xnqJQ47v",
"type": "event",
"deleted": true
}
Enumera los eventos existentes ordenados por los más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/attribution/events \
-d limit=5 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"events": [
{
"id": "xnqJQ47v",
"type": "event",
"action": {
"id": "Wvqz2qD1",
"name": "order.confirmed",
"title": "Product purchased"
},
"amount": 199.95,
"converted_amount": "19.90",
"converted_amount_currency": "EUR",
"created_at": 1665684173
"currency": "USD",
"metadata": {},
"profile": "MzYwlE50",
"session": "Vdqlg4nL",
"trackable": {
"id": "ro4a731w",
"type": "order",
"amount": 199.95,
"currency": "USD",
"product_ids": ["xnqJQ47v"]
},
"tracked_at": "1665684173"
},
{...},
{...}
]
}
Los objetos de formulario representan objetos de formulario que puede usar cuando realizas un seguimiento de acciones como form.completed
.
Los objetos de formularios actúan como grupos lógicos donde puede agrupar varias acciones en el mismo objeto para obtener mejores informes.
POST /v1/attribution/forms
GET /v1/attribution/forms/:id
PATCH /v1/attribution/forms/:id
DELETE /v1/attribution/forms/:id
GET /v1/attribution/forms
{
"id": "O8lOzkwa",
"type": "form",
"created_at": 1665684173
"metadata": {},
"name": "Sign-Up Form",
}
Crea un nuevo formulario.
curl https://api.hellotext.com/v1/attribution/forms \
-d name="Sign-Up Form" \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "O8lOzkwa",
"type": "form",
"created_at": 1665684173
"metadata": {}
"name": "Sign-Up Form",
}
Obtener un formulario existente.
curl -G https://api.hellotext.com/v1/attribution/forms/O8lOzkwa \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modificar el formulario especificado con la información proporcionada.
curl https://api.hellotext.com/v1/attribution/forms/O8lOzkwa \
-d name="Completion Form" \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "O8lOzkwa",
"type": "form",
"created_at": 1665684173
"metadata": {},
"name": "Completion Form",
}
Elimina permanentemente el formulario especificado.
curl -X DELETE https://api.hellotext.com/v1/attribution/forms/O8lOzkwa \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "O8lOzkwa",
"type": "form",
"deleted": true
}
Enumera los formularios existentes ordenados por los más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/attribution/forms \
-d limit=5 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"forms": [
{
"id": "O8lOzkwa",
"type": "form",
"created_at": 1665684173
"metadata": {},
"name": "Sign-Up Form",
},
{...},
{...}
]
}
Los ordenes representan grupos de productos que puedes usar al rastrear los eventos order.placed
, order.confirmed
, order.shipped
, order.cancelled
y order.delivered
.
POST
v1/attribution/orders
GET
v1/attribution/orders/:id
PATCH
v1/attribution/orders/:id
DELETE
v1/attribution/orders/:id
GET
v1/attribution/orders
collect
cuando los clientes compran directamente en la tienda o recogen en la tienda y deliver
cuando se envía el paquete a la dirección del cliente. Este atributo no está establecido de forma predeterminada.
collect
deliver
{
"id": "ro4a731w",
"type": "order",
"created_at": 1665684173,
"delivery": "deliver",
"items": [
{
"id": "vxqQJ3Yg",
"type": "order_item",
"price": {
"amount": "395.00",
"currency": "USD",
"converted_amount": "19.90",
"converted_currency": "EUR"
},
"product": "vxqQJ3Yg",
"quantity": 1
}
],
"metadata": {
},
"reference": "1234",
"source": null,
"total": {
"amount": "395.00",
"converted_amount": "19.90",
"converted_amount_currency": "EUR",
"currency": "USD"
}
}
Crea un nuevo orden.
collect
cuando los clientes compran directamente en la tienda o recogen en la tienda y deliver
cuando se envía el paquete a la dirección del cliente. Este atributo no está establecido de forma predeterminada.
collect
deliver
curl -X POST https://api.hellotext.com/v1/attribution/orders
-d product="vxqQJ3YQ"
-d name="Yeezy boost 350 v2"
-d sku="1234567890"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "ro4a731w",
"type": "order",
"created_at": 1665684173,
"delivery": "deliver",
"items": [
{
"id": "vxqQJ3Yg",
"type": "order_item",
"price": {
"amount": "395.00",
"currency": "USD",
"converted_amount": "19.90",
"converted_currency": "EUR"
},
"product": "vxqQJ3Yg",
"quantity": 1
}
],
"metadata": {
},
"reference": "1234",
"source": null,
"total": {
"amount": "395.00",
"converted_amount": "19.90",
"converted_amount_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3YQ",
"name": "Yeezy boost 350 v2",
"sku": "1234567890"
}
Recupera los detalles de un orden existente.
curl -G https://api.hellotext.com/v1/attribution/orders/vxqQJ3Yg
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "ro4a731w",
"type": "order",
"created_at": 1665684173,
"delivery": "deliver",
"items": [
{
"id": "vxqQJ3Yg",
"type": "order_item",
"price": {
"amount": "395.00",
"currency": "USD",
"converted_amount": "19.90",
"converted_currency": "EUR"
},
"product": "vxqQJ3Yg",
"quantity": 1
}
],
"metadata": {
},
"reference": "1234",
"source": null,
"total": {
"amount": "395.00",
"converted_amount": "19.90",
"converted_amount_currency": "EUR",
"currency": "USD"
}
}
Actualiza un orden existente.
collect
cuando los clientes compran directamente en la tienda o recogen en la tienda y deliver
cuando se envía el paquete a la dirección del cliente. Este atributo no está establecido de forma predeterminada.
collect
deliver
curl -X PATCH https://api.hellotext.com/v1/attribution/orders/vxqQJ3Yg
-d name="Yeezy boost 350 v2"
-d sku="5678"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3YQ",
"type": "order",
"created_at": 1665684173,
"delivery": "deliver",
"items": [
{
"id": "vxqQJ3Yg",
"type": "order_item",
"price": {
"amount": "395.00",
"currency": "USD",
"converted_amount": "19.90",
"converted_currency": "EUR"
},
"product": "vxqQJ3Yg",
"quantity": 1
}
],
"metadata": {
},
"reference": "1234",
"source": null,
"total": {
"amount": "395.00",
"converted_amount": "19.90",
"converted_amount_currency": "EUR",
"currency": "USD"
},
"name": "Yeezy boost 350 v2",
"sku": "5678"
}
Elimina un orden.
curl -X DELETE https://api.hellotext.com/v1/attribution/orders/vxqQJ3Yg
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3Yg",
"type": "order",
"deleted": true
}
Enumera las órdenes existentes ordenados por los más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/attribution/orders
-d limit=5
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"orders": [
{
"id": "ro4a731w",
"type": "order",
"created_at": 1665684173,
"delivery": "deliver",
"items": [
{
"id": "vxqQJ3Yg",
"type": "order_item",
"price": {
"amount": "395.00",
"currency": "USD",
"converted_amount": "19.90",
"converted_currency": "EUR"
},
"product": "vxqQJ3Yg",
"quantity": 1
}
],
"metadata": {
},
"reference": "1234",
"source": null,
"total": {
"amount": "395.00",
"converted_amount": "19.90",
"converted_amount_currency": "EUR",
"currency": "USD"
}
},
"{...}",
"{...}"
]
}
Describe un producto en un orden.
POST
v1/attribution/orders/:order/items
PATCH
v1/attribution/orders/:order/items/:id
DELETE
v1/attribution/orders/:order/items/:id
{
"id": "vxqQJ3Yg",
"type": "order_item",
"price": {
"amount": "395.00",
"currency": "USD",
"converted_amount": "19.90",
"converted_currency": "EUR"
},
"product": "vxqQJ3Yg",
"quantity": 1
}
Agrega un producto a un orden.
El total del orden se actualizará automáticamente para reflejar el nuevo artículo.
product
.
id
, reference
o sku
) de un producto o variante de producto.
curl -X POST https://api.hellotext.com/v1/attribution/orders/vxqQJ3YQ/items
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3Yg",
"type": "order_item",
"price": {
"amount": "395.00",
"currency": "USD",
"converted_amount": "19.90",
"converted_currency": "EUR"
},
"product": "vxqQJ3Yg",
"quantity": 1,
"order": "vxqQJ3YQ"
}
Actualiza los atributos de un artículo específico.
El total del orden se actualizará automáticamente para reflejar los cambios.
curl -X PATCH https://api.hellotext.com/v1/attribution/orders/vxqQJ3YQ/items/xqQJ3YQ
-d quantity=5
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "xqQJ3YQ",
"type": "order_item",
"price": {
"amount": "395.00",
"currency": "USD",
"converted_amount": "19.90",
"converted_currency": "EUR"
},
"product": "vxqQJ3Yg",
"quantity": 5,
"order": "vxqQJ3YQ"
}
Elimina un producto de un orden.
El total del orden se actualizará automáticamente para reflejar el artículo eliminado.
curl -X DELETE https://api.hellotext.com/v1/attribution/orders/vxqQJ3Yg/items/vxqQJ3Yg
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3Yg",
"type": "order_item",
"deleted": true
}
Los objetos de producto representan productos que puedes usar para rastrear acciones a través de su ciclo de vida, como producto.comprado
y producto.visto
o carrito.agregado
y carrito.eliminado
.
Los objetos de producto actúan como grupos lógicos donde puedes agrupar múltiples acciones al mismo objeto para una mejor presentación de informes.
POST
v1/attribution/products
GET
v1/attribution/products/:id
PATCH
v1/attribution/products/:id
DELETE
v1/attribution/products/:id
GET
v1/attribution/products
{
"id": "vxqQJ3Yg",
"type": "product",
"brand": "Adidas",
"categories": [
"shoes"
],
"collection": [
"350 v2"
],
"created_at": 1665684173,
"metadata": {
},
"name": "Yeezy Boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"reference": null,
"sku": "1234567890",
"source": null,
"tags": [
"Sneakers"
],
"variants": [
{
"id": "vxqQJ3Yg",
"type": "product_variant",
"created_at": 1665684173,
"image_url": "https://www.primesneakers.com/products/yeezy-350-v2.jpg",
"metadata": {
},
"name": "Yeezy Boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3YQ",
"reference": null,
"sku": "1234567890",
"source": null
},
"{...}",
"{...}"
]
}
Crea un nuevo producto.
curl -X POST https://api.hellotext.com/v1/attribution/products
-d name="Sign-Up Form"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3Yg",
"type": "product",
"brand": "Adidas",
"categories": [
"shoes"
],
"collection": [
"350 v2"
],
"created_at": 1665684173,
"metadata": {
},
"name": "Sign-Up Form",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"reference": null,
"sku": "1234567890",
"source": null,
"tags": [
"Sneakers"
],
"variants": [
{
"id": "vxqQJ3Yg",
"type": "product_variant",
"created_at": 1665684173,
"image_url": "https://www.primesneakers.com/products/yeezy-350-v2.jpg",
"metadata": {
},
"name": "Yeezy Boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3YQ",
"reference": null,
"sku": "1234567890",
"source": null
},
"{...}",
"{...}"
]
}
Obtener un producto existente. Puedes usar el parámetro id
, reference
o sku
para recuperar un producto.
curl -G https://api.hellotext.com/v1/attribution/products/vxqQJ3Yg
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modificar el producto especificado con la información proporcionada. Puedes usar el parámetro id
, reference
o sku
para actualizar un producto.
curl -X PATCH https://api.hellotext.com/v1/attribution/products/:id
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3Yg",
"type": "product",
"brand": "Adidas",
"categories": [
"shoes"
],
"collection": [
"350 v2"
],
"created_at": 1665684173,
"metadata": {
},
"name": "Yeezy Boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"reference": null,
"sku": "1234567890",
"source": null,
"tags": [
"Sneakers"
],
"variants": [
{
"id": "vxqQJ3Yg",
"type": "product_variant",
"created_at": 1665684173,
"image_url": "https://www.primesneakers.com/products/yeezy-350-v2.jpg",
"metadata": {
},
"name": "Yeezy Boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3YQ",
"reference": null,
"sku": "1234567890",
"source": null
},
"{...}",
"{...}"
]
}
Elimina permanentemente el producto especificado. Puedes usar el parámetro id
, reference
o sku
para eliminar un producto.
curl -X DELETE https://api.hellotext.com/v1/attribution/products/vxqQJ3Yg
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3Yg",
"type": "product",
"deleted": true
}
Enumera los productos existentes ordenados por los más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/attribution/products
-d limit=5
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"products": [
{
"id": "vxqQJ3Yg",
"type": "product",
"brand": "Adidas",
"categories": [
"shoes"
],
"collection": [
"350 v2"
],
"created_at": 1665684173,
"metadata": {
},
"name": "Yeezy Boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"reference": null,
"sku": "1234567890",
"source": null,
"tags": [
"Sneakers"
],
"variants": [
{
"id": "vxqQJ3Yg",
"type": "product_variant",
"created_at": 1665684173,
"image_url": "https://www.primesneakers.com/products/yeezy-350-v2.jpg",
"metadata": {
},
"name": "Yeezy Boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3YQ",
"reference": null,
"sku": "1234567890",
"source": null
},
"{...}",
"{...}"
]
},
"{...}",
"{...}"
]
}
El objeto Variante de Producto representa una variación específica de un producto. Por ejemplo, un producto con un tamaño y color puede tener múltiples variantes. Cada variante puede tener un precio, SKU o referencia diferente.
Las variantes pueden crearse directamente al crear un Producto a través del parámetro variants
. O al actualizar un producto pasando el parámetro new_variants
.
POST
v1/attribution/products/:product/variants
GET
v1/attribution/variants/:id
PATCH
v1/attribution/variants/:id
DELETE
v1/attribution/variants/:id
{
"id": "vxqQJ3Yg",
"type": "product_variant",
"created_at": 1665684173,
"image_url": "https://www.primesneakers.com/products/yeezy-350-v2.jpg",
"metadata": {
},
"name": "Yeezy Boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3YQ",
"reference": null,
"sku": "1234567890",
"source": null
}
Crea una nueva Variante de Producto.
Asegúrate de reemplazar :product
con el id
, reference
o sku
del Producto padre. Intentamos encontrar el producto padre primero por el id, luego por la referencia y finalmente por el sku. Cuando no se encuentra ningún producto padre, se devolverá un error 404.
curl -X POST https://api.hellotext.com/v1/attribution/products/vxqQJ3YQ/variants
-d name="Yeezy boost 350 v2"
-d sku="1234567890"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3Yg",
"type": "product_variant",
"created_at": 1665684173,
"image_url": "https://www.primesneakers.com/products/yeezy-350-v2.jpg",
"metadata": {
},
"name": "Yeezy boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3YQ",
"reference": null,
"sku": "1234567890",
"source": null
}
Recupera los detalles de una Variante de Producto existente. Puedes obtener una Variante de Producto por su id
, reference
o sku
.
curl -G https://api.hellotext.com/v1/attribution/variants/vxqQJ3Yg
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Actualiza la Variante de Producto especificada. Puedes actualizar una Variante de Producto por su id
, reference
o sku
.
curl -X PATCH https://api.hellotext.com/v1/attribution/variants/vxqQJ3Yg
-d name="Yeezy boost 350 v2"
-d sku="5678"
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3YQ",
"type": "product_variant",
"created_at": 1665684173,
"image_url": "https://www.primesneakers.com/products/yeezy-350-v2.jpg",
"metadata": {
},
"name": "Yeezy boost 350 v2",
"price": {
"amount": 220.0,
"converted_amount": 220.0,
"converted_currency": "EUR",
"currency": "USD"
},
"product": "vxqQJ3YQ",
"reference": null,
"sku": "5678",
"source": null
}
Elimina la Variante de Producto especificada. Puedes eliminar una Variante de Producto por su id
, reference
o sku
.
curl -X DELETE https://api.hellotext.com/v1/attribution/variants/vxqQJ3Yg
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "vxqQJ3Yg",
"type": "product_variant",
"deleted": true
}
Los objetos de reembolso representan reembolsos que puede utilizar para realizar un seguimiento de las acciones a lo largo de su ciclo de vida, como refund.requested
y refund.received
.
Los objetos de reembolso actúan como grupos lógicos en los que puede agrupar varias acciones en el mismo objeto para obtener mejores informes.
POST /v1/attribution/refunds
GET /v1/attribution/refunds/:id
PATCH /v1/attribution/refunds/:id
DELETE /v1/attribution/refunds/:id
GET /v1/attribution/refunds
order
o product
asociado al reembolso. Este atributo es opcional y por defecto su valor es null
.
{
"id": "w83Pj4PY",
"type": "refund",
"created_at": 1665684173
"metadata": {},
"profile": null,
"reference": null,
"refundable": {
"id": "ro4a731w",
"type": "order",
"amount": "199.95",
"created_at": 1665684173,
"currency": "USD",
"metadata": {}
},
"source": null,
"total": {
"amount": "199.95",
"converted_amount": "199.95",
"converted_currency": "EUR",
"currency": "USD",
}
}
Crea un nuevo reembolso.
refundable
.
refundable
.
curl https://api.hellotext.com/v1/attribution/refunds \
-d amount=19.90 \
-d order=ro4a731w \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "w83Pj4PY",
"type": "refund",
"created_at": 1665684173
"metadata": {},
"profile": null,
"reference": null,
"refundable": {
"id": "ro4a731w",
"type": "order",
"amount": "199.95",
"created_at": 1665684173,
"currency": "USD",
"metadata": {}
},
"source": null,
"total": {
"amount": "199.95",
"converted_amount": "199.95",
"converted_currency": "EUR",
"currency": "USD",
}
}
Obtener un reembolso existente.
curl -G https://api.hellotext.com/v1/attribution/refunds/w83Pj4PY \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
Modificar el reembolso especificado con la información proporcionada.
refundable
.
refundable
.
curl https://api.hellotext.com/v1/attribution/refunds/w83Pj4PY \
-d amount=24.90 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "w83Pj4PY",
"type": "refund",
"created_at": 1665684173
"metadata": {},
"profile": null,
"reference": null,
"refundable": {
"id": "ro4a731w",
"type": "order",
"amount": "199.95",
"created_at": 1665684173,
"currency": "USD",
"metadata": {}
},
"source": null,
"total": {
"amount": "199.95",
"converted_amount": "199.95",
"converted_currency": "EUR",
"currency": "USD",
}
}
Elimina permanentemente el reembolso especificado.
curl -X DELETE https://api.hellotext.com/v1/attribution/refunds/w83Pj4PY \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"id": "w83Pj4PY",
"type": "refund",
"deleted": true
}
Enumera los reembolsos existentes ordenados por los más recientes. Los parámetros de paginación están disponibles en listas.
curl -G https://api.hellotext.com/v1/attribution/refunds \
-d limit=5 \
-H "Authorization: Bearer ALK_eSMRuwJ2Al..."
{
"refunds": [
{
"id": "w83Pj4PY",
"type": "refund",
"created_at": 1665684173
"metadata": {},
"profile": null,
"reference": null,
"refundable": {
"id": "ro4a731w",
"type": "order",
"amount": "199.95",
"created_at": 1665684173,
"currency": "USD",
"metadata": {}
},
"source": null,
"total": {
"amount": "199.95",
"converted_amount": "199.95",
"converted_currency": "EUR",
"currency": "USD",
}
},
{...},
{...}
]
}
Las sesiones son identificadores únicos que se generan cuando los visitantes hacen clic en enlaces cortos y se adjuntan a la URL de destino como un parámetro GET llamado hello_session
. Puedes pensar en una sesión compartiendo el mismo significado ya familiar de los navegadores web: representa un navegador de un visitante activo y es específico a un dispositivo.
Al realizar seguimientos de eventos con el identificador de sesión, estos mantendrán una asociación automática con el perfil del cliente que hizo clic en el enlace corto, agregando los eventos a su historial de actividades y al informe de la campaña o ruta donde estuvo presente el mensaje con el enlace corto.
Al realizar un seguimiento de los eventos del lado del cliente con la biblioteca Hellotext.js, no es necesario especificar explícitamente el identificador de la sesión, ya que la biblioteca se encargará de ello de manera automática.
Para mejorar la seguridad y la privacidad, desaconsejamos revelar el identificador del perfil directamente en el navegador. Debido a esto, la biblioteca Hellotext.js solo acepta realizar un seguimiento de los eventos que especifican un session
y no un perfil directamente.
También es posible rastrear eventos para visitantes no identificados. La biblioteca Hellotext.js crea un nuevo identificador de sesión para cada nuevo visitante cuando no lo encuentra definido como parámetro. Puedes almacenar este identificador de sesión y luego adjuntar el perfil cuando se conozca, por ejemplo, cuando el visitante inicia sesión en la tienda, realiza una orden o se suscribe ingresando su número de teléfono.
PATCH /v1/sessions/:id
Una vez conocido el perfil, adjúntalo a la sesión para que todos sus eventos rastreados pasen a formar parte de su historial de actividades.
Si también deseas cambiar la sesión a un perfil diferente, configura el nuevo identificador de perfil en el parámetro profile
y la sesión se asignará al nuevo perfil.
Todos los carritos asociados con una sesión se asignarán al perfil al que adjunta la sesión.