Saltar al contenido

API de Email

createEmailMessage Obsoleto

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 de 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 preset de email. Cópielo de la barra de URL del Editor de Contenido de Email en el Panel de Control de Pushwoosh.
subjectstring u objectNoLínea de asunto del email. El email siempre estará en el idioma del contenido. Si subject no contiene un idioma coincidente para content, el asunto estará vacío.
contentstring u 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 la cabecera “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 User ID 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 los tags de dispositivo.
conditionsarrayNoCondiciones de segmentación usando tags. Ejemplo: [["Country", "EQ", "BR"]].
fromobjectNoEspecifique un nombre y un email de remitente personalizados, anulando el predeterminado en las propiedades de la aplicación.
reply-toobjectNoEspecifique un email de respuesta personalizado, anulando el predeterminado en las propiedades de la aplicación.
bccarrayNoBCC (Copia de carbón oculta): array de direcciones de email que reciben una copia del email sin que otros destinatarios las vean.
email_typestringNoEspecifique 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áx. 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 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_rateintegerNoLimite 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 preset 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 la cabecera "Link-Unsubscribe"
"campaign": "CAMPAIGN_CODE", // opcional. Para asignar este mensaje de email a una campaña 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. Envíe 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. Registra 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 los tags de dispositivo.
"firstname": "John",
"firstname_en": "John"
},
"conditions": [ // opcional. Condiciones de segmentación, vea la 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. BCC: 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áx. 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 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.
// Limite 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 tags

Anchor link to

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

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

Descripción del operando

Anchor link to
  • EQ: el valor del tag es igual al operando;
  • IN: el valor del tag se cruza con el operando (el operando siempre debe ser un array);
  • NOTEQ: el valor del tag no es igual a un operando;
  • NOTIN: el valor del tag no se cruza con el operando (el operando siempre debe ser un array);
  • GTE: el valor del tag es mayor o igual que el operando;
  • LTE: el valor del tag es menor o igual que el operando;
  • BETWEEN: el valor del tag 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).

Tags 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"];

Tags 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].

Tags 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)
  • "N days ago" (cadena) para los operadores EQ, BETWEEN, GTE, LTE

Tags de tipo Boolean

Anchor link to

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

Tags 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 la dirección de email para la aplicación.

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

Cabeceras 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.
languagestringConfiguración regional de idioma del dispositivo. Debe ser un código de dos letras en minúsculas según el estándar ISO-639-1.
userIdstringUser ID para asociar con la dirección de email.
tz_offsetintegerDesplazamiento de la zona horaria en segundos.
tagsobjectValores de tag 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. Configuración regional de idioma.
"userId": "userId", // opcional. User ID para asociar con la dirección de email.
"tz_offset": 3600, // opcional. Desplazamiento de la zona horaria en segundos.
"tags": { // opcional. Valores de tag para establecer para el dispositivo registrado.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1","string2"], // establece la lista de valores para Tags 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
}
}
}

Códigos de respuesta

Anchor link to

La API pública devuelve el resultado en status_code. Use la siguiente tabla para decidir si una llamada fallida debe reintentarse.

status_codeSignificado¿Reintentar?
200Éxito — la dirección de email está registrada.No — listo.
210Error de argumento/validación — la solicitud fue entendida pero rechazada (dirección en lista negra, email inválido o desechable, plataforma incorrecta para el plan de la cuenta). Consulte los mensajes de error 210 a continuación.No — la misma solicitud devuelve el mismo 210. Registre la dirección y sáltela.
400Solicitud mal formada — JSON inválido o un campo requerido faltante.No — corrija la solicitud, no la repita.
403Prohibido — token de la API de Dispositivos inválido o restringido.No — corrija la autorización.
500Error interno del servidor — problema temporal de infraestructura o tiempo de espera., con retroceso exponencial — el único caso transitorio.

Mensajes de error 210

Anchor link to

Una respuesta 210 lleva la razón específica en status_message.

status_messageSignificado
this hwid (email) is blacklistedLa dirección está en la lista de supresión después de un rebote permanente (duro) y no se volverá a registrar.
hwid (email) is invalid / has invalid semanticLa dirección no supera la validación.
hwid (email) is emptyNo se proporcionó ninguna dirección.
hwid (email) has invalid count of partsFalta o sobra un @.
hwid (email) has invalid local partLa parte antes de @ es inválida.
hwid (email) has invalid domain partLa parte del dominio es inválida.
hwid (email) has disposable domainLa dirección utiliza un dominio de email desechable/temporal (por ejemplo, 10minutemail).
hwid is not validEl hwid en sí está mal formado.
only email platform allowed for Email Only subscriptionLa cuenta tiene un plan de Solo Email y no puede registrar dispositivos que no sean de email.

deleteEmail

Anchor link to

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

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

Cabeceras 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 los tags para la dirección de email.

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

Cabeceras 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 tags para establecer, envíe ‘null’ para eliminar el valor.
userIdstringUser ID 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 los tags.
"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. User ID asociado con la dirección de email.
}
}

registerEmailUser

Anchor link to

Asocia un User ID 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’).

Cabeceras 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*stringUser ID 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. User ID para asociar con la dirección de email.
"tz_offset": 3600 // opcional. Desplazamiento de la zona horaria en segundos.
}
}