Saltar al contenido

API de Email

createEmailMessage

Anchor link to

Crea un mensaje de email.

POST https://api.pushwoosh.com/json/1.3/createEmailMessage

Parámetros del cuerpo de la solicitud

Anchor link to
NombreTipo
RequeridoDescripción
authstringToken de acceso a la API desde el Panel de Control de Pushwoosh.
applicationstringCódigo de aplicación de Pushwoosh
notificationsarrayArray JSON que contiene los detalles del mensaje de email. Consulte la tabla Parámetros de Notificaciones a continuación.

Parámetros de Notificaciones

Anchor link to
NombreTipo
RequeridoDescripción
send_datestringDefine cuándo enviar el email. Formato: YYYY-MM-DD HH:mm o "now".
presetstringCódigo de preajuste de email. Cópielo de la barra de URL del Editor de Contenido de Email en el Panel de Control de Pushwoosh.
subjectstring o objectNoLínea de asunto del email. El email siempre estará en el idioma del contenido. Si subject no contiene un idioma que coincida con content, el asunto estará vacío.
contentstring o objectNoEl contenido del cuerpo del email. Puede ser una cadena para contenido HTML simple o un objeto para versiones localizadas.
attachmentsarrayNoLos archivos adjuntos del email. Solo se permiten dos archivos adjuntos. Cada archivo adjunto no debe exceder 1MB (codificado en base64).
list_unsubscribestringNoPermite establecer una URL personalizada para el encabezado “Link-Unsubscribe”.
campaignstringNoCódigo de campaña para asociar el email con una campaña específica.
ignore_user_timezonebooleanNoSi es true, envía el email inmediatamente, ignorando las zonas horarias del usuario.
timezonestringNoEnvía el email según la zona horaria del usuario. Ejemplo: "America/New_York".
filterstringNoEnvía el email a los usuarios que coinciden con una condición de filtro específica.
devicesarrayNoLista de direcciones de email (máximo 1000) para enviar emails dirigidos. Si se utiliza, el mensaje se envía solo a estas direcciones. Se ignora si se utiliza el Grupo de Aplicaciones.
use_auto_registrationbooleanNoSi es true, registra automáticamente los emails del parámetro devices.
usersarrayNoSi se establece, el mensaje de email solo se entregará a los ID de Usuario especificados (registrados a través de la llamada /registerEmail). No más de 1000 ID de usuario en un array. Si se especifica el parámetro “devices”, el parámetro “users” será ignorado.
dynamic_content_placeholdersobjectNoMarcadores de posición para contenido dinámico en lugar de los valores de las etiquetas del dispositivo.
conditionsarrayNoCondiciones de segmentación usando etiquetas. Ejemplo: [["Country", "EQ", "BR"]].
fromobjectNoEspecifica un nombre y un email de remitente personalizados, anulando el predeterminado en las propiedades de la aplicación.
reply-toobjectNoEspecifica un email de respuesta personalizado, anulando el predeterminado en las propiedades de la aplicación.
bccarrayNoCCO (Copia de Carbón Oculta): array de direcciones de email que reciben una copia del email sin que otros destinatarios las vean.
email_typestringNoEspecifica el tipo de email: "marketing" o "transactional". Si se omite, los usuarios con PW_ControlGroup: true no recibirán el mensaje.
email_categorystringRequerido cuando email_type es "marketing".Especifique uno de los nombres de categoría configurados en el centro de preferencias de suscripción (por ejemplo, Newsletter, Promocional, Actualizaciones de Producto).
transactionIdstringNoIdentificador único de mensaje para evitar el reenvío en caso de problemas de red. Se almacena en el lado de Pushwoosh durante 5 minutos.
capping_daysintegerNoEl número de días (máximo 30) para aplicar el frequency capping por dispositivo. Nota: Asegúrese de que el frequency capping global esté configurado en el Panel de Control.
capping_countintegerNoEl número máximo de emails que se pueden enviar desde una aplicación específica a un dispositivo en particular dentro de un período de capping_days. En caso de que el mensaje creado exceda el límite de capping_count para un dispositivo, no se enviará a ese dispositivo.
capping_excludebooleanNoSi se establece en true, este email no se contará para el capping de futuros emails.
capping_avoidbooleanNoSi se establece en true, el capping no se aplicará a este email específico.
send_rateintegerNoLimita cuántos mensajes se pueden enviar por segundo a todos los usuarios. Ayuda a prevenir la sobrecarga del backend durante envíos de gran volumen.
send_rate_avoidbooleanNoSi se establece en true, el límite de throttling no se aplicará a este email específico.

Ejemplo de solicitud

Anchor link to
{
"request": {
"auth": "API_ACCESS_TOKEN", // requerido. Token de acceso a la API desde el Panel de Control de Pushwoosh
"application": "APPLICATION_CODE", // requerido. Código de aplicación de Pushwoosh.
"notifications": [{
"send_date": "now", // requerido. YYYY-MM-DD HH:mm O 'now'
"preset": "ERXXX-32XXX", // requerido. Copie el código de preajuste de Email de la barra de URL de
// la página del editor de Contenido de Email en el Panel de Control de Pushwoosh.
"subject": { // opcional. Línea de asunto del mensaje de email.
"de": "subject de",
"en": "subject en"
},
"content": { // opcional. Contenido del cuerpo del email.
"de": "<html><body>de Hello, moto</body></html>",
"default": "<html><body>default Hello, moto</body></html>"
},
"attachments": [{ // opcional. Archivos adjuntos del email
"name": "image.png", // "name" - nombre del archivo
"content": "iVBANA...AFTkuQmwC" // "content" - contenido del archivo codificado en base64
}, {
"name": "file.pdf",
"content": "JVBERi...AFTarEGC"
}],
"list_unsubscribe": "URL", // opcional. Permite establecer una URL personalizada para el encabezado "Link-Unsubscribe"
"campaign": "CAMPAIGN_CODE", // opcional. Para asignar este mensaje de email a una campaña en particular,
// agregue un código de campaña aquí.
"ignore_user_timezone": true, // opcional.
"timezone": "America/New_York", // opcional. Especifique para enviar el mensaje de acuerdo con
// la zona horaria establecida en el dispositivo del usuario.
"filter": "FILTER_NAME", // opcional. Enviar el mensaje a usuarios específicos que cumplan con las condiciones del filtro.
"devices": [ // opcional. Especifique las direcciones de email para enviar mensajes de email dirigidos.
"email_address1", // No más de 1000 direcciones en un array.
"email_address2" // Si se establece, el mensaje solo se enviará a las direcciones de
], // la lista. Se ignora si se utiliza el Grupo de Aplicaciones.
"use_auto_registration": true, // opcional. Registrar automáticamente los emails especificados en el parámetro "devices"
"users": [ // opcional. Si se establece, el mensaje de email solo se entregará a los
"userId1", // ID de usuario especificados (registrados a través de la llamada /registerEmail).
"userId2" // No más de 1000 ID de usuario en un array.
], // Si se especifica el parámetro "devices",
// el parámetro "users" será ignorado.
"dynamic_content_placeholders": { // opcional. Marcadores de posición para contenido dinámico en lugar de los valores de las etiquetas del dispositivo.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // opcional. Condiciones de segmentación, ver nota a continuación.
["Country", "EQ", "BR"],
["Language", "EQ", "pt"]
],
"from": { // opcional. Especifique un nombre de remitente y una dirección de email de remitente
"name": "alias from", // para reemplazar el "Nombre del remitente" y el "Email del remitente" predeterminados
"email": "from-email@email.com" // configurados en las propiedades de la aplicación.
},
"reply-to": { // opcional. Especifique una dirección de email para reemplazar la
"name": "alias reply to ", // "Dirección de respuesta" predeterminada configurada en las propiedades de la aplicación.
"email": "reply-to@email.com"
},
"bcc": [ // opcional. CCO: array de direcciones de email que reciben una copia sin que otros destinatarios las vean.
"bcc1@example.com",
"bcc2@example.com"
],
"email_type": "marketing", // opcional. "marketing" o "transactional".
// Si se omite, los usuarios con PW_ControlGroup: true no recibirán el mensaje.
"email_category": "category name",// requerido cuando email_type es "marketing". Nombre de la categoría.
"transactionId": "unique UUID", // opcional. Identificador único de mensaje para evitar el reenvío
// en caso de problemas de red. Almacenado en el lado
// de Pushwoosh durante 5 minutos.
// Parámetros de Frequency capping. Asegúrese de que el Frequency capping global esté configurado en el Panel de Control.
// El Frequency capping no se aplica a los mensajes transaccionales.
// En todos los demás casos, incluido el "email_type" omitido, se aplica el frequency capping.
"capping_days": 30, // opcional. Cantidad de días para el frequency capping (máximo 30 días)
"capping_count": 10, // opcional. El número máximo de emails que se pueden enviar desde una
// aplicación específica a un dispositivo en particular dentro de un período
// de 'capping_days'. En caso de que el mensaje creado exceda el
// límite de 'capping_count' para un dispositivo, no
// se enviará a ese dispositivo.
"capping_exclude": true, // opcional. Si se establece en true, este email no
// se contará para el capping de futuros emails.
"capping_avoid": true, // opcional. Si se establece en true, el capping no se aplicará a
// este email específico.
"send_rate": 100, // opcional. Límite de throttling.
// Limita cuántos mensajes se pueden enviar por segundo a todos los usuarios.
// Ayuda a prevenir la sobrecarga del backend durante envíos de gran volumen.
"send_rate_avoid": true, // opcional. Si se establece en true, el límite de throttling no se aplicará a
// este email específico.
}]
}
}

Ejemplos de respuesta

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": null
}

Condiciones de etiquetas

Anchor link to

Cada condición de etiqueta es un array como [tagName, operator, operand] donde

  • tagName: nombre de una etiqueta
  • operator: “EQ” | “IN” | “NOTEQ” | “NOTIN” | “LTE” | “GTE” | “BETWEEN”
  • operand: string | integer | array | date

Descripción del operando

Anchor link to
  • EQ: el valor de la etiqueta es igual al operando;
  • IN: el valor de la etiqueta se cruza con el operando (el operando siempre debe ser un array);
  • NOTEQ: el valor de la etiqueta no es igual a un operando;
  • NOTIN: el valor de la etiqueta no se cruza con el operando (el operando siempre debe ser un array);
  • GTE: el valor de la etiqueta es mayor o igual que el operando;
  • LTE: el valor de la etiqueta es menor o igual que el operando;
  • BETWEEN: el valor de la etiqueta es mayor o igual que el valor mínimo del operando pero menor o igual que el valor máximo del operando (el operando siempre debe ser un array).

Etiquetas de tipo String

Anchor link to

Operadores válidos: EQ, IN, NOTEQ, NOTIN
Operandos válidos:

  • EQ, NOTEQ: el operando debe ser una cadena;
  • IN, NOTIN: el operando debe ser un array de cadenas como ["valor 1", "valor 2", "valor N"];

Etiquetas de tipo Integer

Anchor link to

Operadores válidos: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
Operandos válidos:

  • EQ, NOTEQ, GTE, LTE: el operando debe ser un entero;
  • IN, NOTIN: el operando debe ser un array de enteros como [valor 1, valor 2, valor N];
  • BETWEEN: el operando debe ser un array de enteros como [valor_min, valor_max].

Etiquetas de tipo Date

Anchor link to

Operadores válidos: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE
Operandos válidos:

  • "YYYY-MM-DD 00:00" (cadena)
  • marca de tiempo unix 1234567890 (entero)
  • "hace N días" (cadena) para los operadores EQ, BETWEEN, GTE, LTE

Etiquetas de tipo Boolean

Anchor link to

Operadores válidos: EQ
Operandos válidos: 0, 1, true, false

Etiquetas de tipo List

Anchor link to

Operadores válidos: IN
Operandos válidos: el operando debe ser un array de cadenas como ["valor 1", "valor 2", "valor N"].

registerEmail

Anchor link to

Registra una dirección de email para la aplicación.

POST https://api.pushwoosh.com/json/1.3/registerEmail

Encabezados de la solicitud

Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivos. Reemplace XXXX con su token real de la API de Dispositivos.

Cuerpo de la solicitud

Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
email*stringDirección de email.
languagestringLocalización de idioma del dispositivo. Debe ser un código de dos letras en minúsculas según el estándar ISO-639-1.
userIdstringID de Usuario para asociar con la dirección de email.
tz_offsetintegerDesplazamiento de la zona horaria en segundos.
tagsobjectValores de etiquetas para asignar al dispositivo registrado.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "APPLICATION_CODE", // requerido. Código de aplicación de Pushwoosh.
"email":"email@domain.com", // requerido. Dirección de email a registrar.
"language": "en", // opcional. Localización de idioma.
"userId": "userId", // opcional. ID de Usuario para asociar con la dirección de email.
"tz_offset": 3600, // opcional. Desplazamiento de la zona horaria en segundos.
"tags": { // opcional. Valores de etiquetas para establecer en el dispositivo registrado.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1","string2"], // establece la lista de valores para Etiquetas de tipo Lista
"DateTag": "2024-10-02 22:11", // tenga en cuenta que la hora debe estar en UTC
"BooleanTag": true // los valores válidos son: true, false
}
}
}

deleteEmail

Anchor link to

Elimina una dirección de email de su base de usuarios.

POST https://api.pushwoosh.com/json/1.3/deleteEmail

Encabezados de la solicitud

Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivos. Reemplace XXXX con su token real de la API de Dispositivos.

Cuerpo de la solicitud

Anchor link to
NombreTipoDescripción
applicationstringCódigo de aplicación de Pushwoosh
emailstringDirección de email utilizada en la solicitud /registerEmail.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "APPLICATION_CODE", // requerido. Código de aplicación de Pushwoosh
"email": "email@domain.com" // requerido. Email a eliminar de los suscriptores de la aplicación.
}
}

setEmailTags

Anchor link to

Establece los valores de las etiquetas para la dirección de email.

POST https://api.pushwoosh.com/json/1.3/setEmailTags

Encabezados de la solicitud

Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivos. Reemplace XXXX con su token real de la API de Dispositivos.

Cuerpo de la solicitud

Anchor link to
NombreTipoDescripción
applicationstringCódigo de aplicación de Pushwoosh
emailstringDirección de email.
tagsobjectObjeto JSON de etiquetas a establecer, envíe ‘null’ para eliminar el valor.
userIdstringID de Usuario asociado con la dirección de email.
{
"status_code": 200,
"status_message": "OK",
"response": {
"skipped": []
}
}
Ejemplo
{
"request": {
"email": "email@domain.com", // requerido. Dirección de email para la que se establecerán las etiquetas.
"application": "APPLICATION_CODE", // requerido. Código de aplicación de Pushwoosh.
"tags": {
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"],
"DateTag": "2024-10-02 22:11", // hora en UTC
"BooleanTag": true // los valores válidos son: true, false
},
"userId": "userId" // opcional. ID de Usuario asociado con la dirección de email.
}
}

registerEmailUser

Anchor link to

Asocia un ID de Usuario externo con una dirección de email especificada.

POST https://api.pushwoosh.com/json/1.3/registerEmailUser

Se puede usar en la llamada a la API /createEmailMessage (el parámetro ‘users’).

Encabezados de la solicitud

Anchor link to
NombreRequeridoValorDescripción
AuthorizationToken XXXXToken de Dispositivo de la API para acceder a la API de Dispositivos. Reemplace XXXX con su token real de la API de Dispositivos.

Cuerpo de la solicitud

Anchor link to
NombreTipoDescripción
application*stringCódigo de aplicación de Pushwoosh
email*stringDirección de email.
userId*stringID de Usuario para asociar con la dirección de email.
tz_offsetintegerDesplazamiento de la zona horaria en segundos.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"application": "APPLICATION_CODE", // requerido. Código de aplicación de Pushwoosh.
"email": "email@domain.com", // requerido. Dirección de email del usuario.
"userId": "userId", // requerido. ID de Usuario para asociar con la dirección de email.
"tz_offset": 3600 // opcional. Desplazamiento de la zona horaria en segundos.
}
}