Integración

Regístrate ahora y obten
1.000 envíos gratis cada mes

1. Listar Campañas

Servicio:

/campaign/list

Lista todas las campañas filtradas por nombre

Parámetros:

ParámetroRequeridoTipoExplicaciónEjemplo
countNONúmero Entero > 0Número de campañas a devolver como máximo.count=10
absolutepageNONúmero Entero > 0Página de "count" registros a la que se quiere ir. Si count vale 10 y absolutepage vale 3, entonces empezaremos a ver desde la campaña 31absolutepage=3
statusNOArreglo de Cadena de Caracteres
Valores Posibles:

Active(Pendiente de aprobación, pendiente, preparando o enviando)

Inactive(Borrador, pausada o detenida)

Completed(Enviada)
Tipos de estado por los que se desea filtrar la listastatus[]=Inactive&status[]=Completed
filterNOCadena de CaracteresNombre o parte del nombre por el que se filtran las campañasfilter=Promo Verano
orderByNOCadena de CaracteresValores posibles:

name (Nombre de la campaña)

id (Id de la campaña)
orderBy=name
descNONúmero Entero

Valores posibles:

1 (si)

0 (no)
Determina si el orden del listado es ascendente o descendente.desc=1

Errores:

errorMsg_formValidationsUno o varios de los parámetros de entrada es incorrecto, falta o es requerido. Tiene asociada una estructura del tipo "Parámetro inválido"=>"error".
errorMsg_noCampaignsPor un error inesperado no se pudo realizar ninguna consulta.

Estructura de Salida

campaign.CampaignID ID de la campaña
campaign.Name Nombre de la campaña
campaign.Status Estado de envío
  • [Draft(Borrador)
  • Halted|Paused(Pausada)
  • Stopped(Detenida)
  • Completed(Completada)
  • Pending(Pendiente)
  • Sending(Enviando)
  • Completed(Enviada)]
. Solo las campañas en Paused o Stopped se pueden enviar
campaign.ScheduleType Tipo de programación de envío [Not scheduled | Send Now | One time scheduled]
campaign.schedule.ScheduleSendDateFecha programada para el envío. Solo válido si el tipo es "One time scheduled"
campaign.schedule.ScheduleErrorStatusErrores verificados durante el envío (ver recuadro abajo)

** Solo se documentan los campos mas relevantes.

ScheduleErrorStatus:

errorMsg_remoteContentNotFoundNo se ha podido recuperar el contenido remoto de tu campaña.
errorMsg_campaignNotFoundLa campaña ha sido eliminada y no puede recuperarse.
errorMsg_administratorSuspendedLa cuenta se encontraba suspendida al momendo de intentar enviar la campaña.
errorMsg_administratorExhaustedQuotaTu cuenta no tenía créditos disponibles y la operación fué detenida.
errorMsg_maillistsEmptyLa lista de destinatarios utilizada no posee contactos activos.

** Solo se documentan los errores más relevantes.

2. Recuperar información de una Campaña

Servicio:

/campaign/load

Recupera la información de una campaña

Parámetros:

ParámetroRequeridoTipoExplicaciónEjemplo
CampaignIDSINúmero EnteroIdentificador de la campaña a recuperar.CampaignID=10

Errores:

errorMsg_formValidations Uno o varios de los parámetros de entrada es incorrecto, falta o es requerido. Tiene asociada una estructura del tipo "Parámetro inválido"=>"error".
errorMsg_campaignInvalidID Por un error inesperado no se pudo realizar ninguna consulta
errorMsg_campaignNotFoundNo se puede encontrar la campaña
errorMsg_campaignMaillistNotFoundNo se pueden encontrar las listas asociadas
errorMsg_campaignContentNotFoundNo se puede encontrar el contenido de la campaña
errorMsg_campaignScheduleNotFoundNo se puede encontrar la programación de la campaña

Estructura de Salida

campaign.CampaignIDID de la campaña
campaign.NameNombre de la campaña
campaign.StatusEstado de envío.(Solo las campañas en Paused o Stopped se pueden enviar)Valores Posibles
  • [Draft(Borrador)
  • Paused(Pausada)
  • Stopped(Detenida)
  • Pending(Pendiente)
  • Pendingfor Approval(Pendiente de aprobación)
  • Sending (Enviando)
  • Completed (Completada)
. Solo las campañas en Paused o Stopped se pueden enviar
campaign.schedule.ScheduleTypeTipo de programación de envío. Valores Posibles:
  • Not scheduled(Sin Programar)
  • Send Now(Enviar Ahora)
  • One time scheduled(Envío Programado.)
campaign.schedule.ScheduleSendDateFecha programada para el envío. Solo válido si el tipo es "One time scheduled"
campaign.schedule.ScheduleErrorStatusErrores verificados durante el envío (ver recuadro abajo)

** Solo se documentan los campos mas relevantes.

3. Crear o Modificar la información de una campaña

Servicio:

/campaign/save

Crea o modifica información de una campaña. La llamada se debe hacer mediante POST.

Parámetros:

ParámetroRequeridoTipoExplicaciónEjemplo
CampaignIDNONúmero Entero > 0Identificador de la campaña que se quiere modificar.CampaignID=2
CampaignNameSICadena de caracteresNombre de la Campaña.CampaignName=Campaña de navidad
CampaignSubjectNOCadena de caracteresAsunto con el que se enviará la campaña.CampaignSubject=Feliz Navidad
MailListsIdsNOArray de enteros > 0IDs de listas a las que se enviará la campaña.MailListsIds[]=4
FromIDNONúmero Entero > 0ID de email de administrador designado como origen de la campaña (FROM).FromID=3
ReplyToIDNONúmero Entero > 0ID del email de administrador designado como email de respuesta (ReplyTO).ReplyToID=4
TrackLinkClicksNO0 o 1 por defecto 0)Si el parámetros es = 1, se registraran todos los clicks que se hagan en los links una vez enviada la campaña.TrackLinkClicks=1
TrackReadsNO0 o 1 (por defecto 0)Si el parámetros es = 1, se registrará cada vez que un contacto abra el email de campañaTrackReads=1
TrackAnaliticsNO0 o 1 (por defecto 0)Si el parámetros es = 1, se agregaran a cada link los parámetros requeridos por "google analitics" para hacer un seguimiento de la campañaTrackAnalitics=0
SendStateReportNO0 o 1 (por defecto 0)Si el parámetros es = 1, al terminar de enviar la campaña, se enviará un email al dueño de la cuenta informando la situación.SendStateReport=0
ScheduleCampaignNO0 o 1 (por defecto 0)Si el parámetros es = 1, si se debe registrar la "Programación de envío" de la campaña.ScheduleCampaign=1
SendDateNOFecha con el formato yyyy-MM-dd HH:mm:ssFecha de envío de la campaña. Este parámetro depende de "ScheduleCampaign"SendDate=2012-11-20 14:10:00
SendNowNO0 o 1 (por defecto 0)Si se desea enviar inmediatamente la campaña una vez creadas todas las partes. Este parámetro depende de "ScheduleCampaign"SendNow=1
AddToPublicArchiveNO0 o 1 (por defecto 0)Agregar la campaña al "archivo publico de campañas"AddToPublicArchive=1

** Solo se documentan los campos mas relevantes.

Errores:

errorMsg_formValidationsUno o varios de los parámetros de entrada es incorrecto, falta o es requerido.
errorMsg_invalidCampaignDateLa fecha de envío es menor a la fecha actual
errorMsg_campaignIsCompletedNotSavedLa campaña que se quiere modificar ya fue enviada.
errorMsg_campaignMaillistsNotSavedNo se pudieron guardar asignar las listas de contactos.
errorMsg_phishingLa campaña es detectada como posible intento de estafa.
errorMsg_campaignContentNotSavedNo se pudo guardar el asunto o parámetros relacionados con el contenido de la campaña
errorMsg_campaignScheduleNotSavedNo se pudo guardar la "Programación de envío"
errorMsg_campaignLoad No se puede recuperar la campaña
errorMsg_campaignNotPostLos parámetros fueron pasados por GET y deben ser pasados por POST
errorMsg_campaignNotFoundUna vez guardados los datos, se intenta verificar la correcta persistencia de los datos. Si no se puede encontrar la campaña se retorna éste error
errorMsg_campaignMaillistNotFound Una vez guardados los datos, se intenta verificar la correcta persistencia de los datos. Si no se pueden encontrar las listas asociadas se retorna éste error
errorMsg_campaignContentNotFoundUna vez guardados los datos, se intenta verificar la correcta persistencia de los datos. Si no se puede encontrar el contenido de la campaña se retorna éste error
errorMsg_campaignScheduleNotFoundUna vez guardados los datos, se intenta verificar la correcta persistencia de los datos. Si no se puede encontrar la programación de la campaña se retorna éste error

Estructura de Salida

** Devuelve todos los parámetros de entrada y agrega los siguientes datos:.

campaign.integrity.status = 1 si la campaña tiene toda la información necesaria para ser enviada. = -1
campaign.integrity.schedule = 1 si la información de programación de envío es correcta y completa. = -1
campaign.integrity.subject = 1 si tiene asunto. = -1
campaign.integrity.content = 1 si el cuerpo de los emails no esta vacío. = -1
campaign.integrity.replyTo = 1 si tiene un email de respuesta asignado. = -1
campaign.integrity.fromTo = 1 si tiene un email de remitente asignado. = -1
campaign.integrity.maillist = 1 si tiene una o varias listas asignadas. = -1

4. Vista previa de una campaña por e-mail o Navegador

Servicio:

/campaign/preview

Vista previa de una campaña por e-mail o Navegador. Este servicio soporta un tipo de formato de salida ("format") especial. El tipo "email".

Parámetros:

ParámetroRequeridoTipoExplicaciónEjemplo
CampaignIDSINúmero EnteroIdentificador de la campaña a recuperarCampaignID=10
EmailSolo si el formato es "email"Dirección de correo electrónicoDestinatario de la pre-visualización de la campaña.Email=j.f.fray@envialosimple.com

** Solo se documentan los campos mas relevantes.

Errores:

errorMsg_formValidationsUno o varios de los parámetros de entrada es incorrecto, falta o es requerido. Tiene asociada una estructura del tipo "Parámetro inválido"=>"error"..
errorMsg_campaignNotFoundNo se puede encontrar la campaña
errorMsg_remoteContentEmptyEl contenido remoto asociado a la campaña esta vacío..
errorMsg_remoteContentNotFoundEl contenido remoto asociado a la campaña no se pudo encontrar.
errorMsg_campaignNotPersonalizedNo se pueden reemplazar los tokens de los campos personalizados.

Estructura de Salida

email.fromName Etiqueta nombre del email del remitente..
email.from Email del remitente.
email.replyToName Etiqueta nombre del emailResponder a:
email.replyTo Email de Responder a:.
campaign.CampaignName Nombre de la campaña.
campaign.subject Asunto de la campaña.
campaign.HTML Código HTML de la campaña.
campaign.plainText Texto plano alternativo para los clientes que no soportan HTML..
campaign.CampaignID Identificador de la campaña..

5. Borrar una campaña

Servicio:

/campaign/delete

Elimina definitivamente una campaña.

Parámetros:

ParámetroRequeridoTipoExplicaciónEjemplo
CampaignIdsSIArreglo de Números EnterosIds de campañas a eliminarCampaignIds[]=10&CampaignIds[]=1

Errores:

errorMsg_formValidationsUno o varios de los parámetros de entrada es incorrecto, falta o es requeridoTiene asociada una estructura del tipo "Parámetro inválido"=>"error".
errors.notDeletedEn caso de no poder eliminar una campaña en la respuesta tendremos un nodo "errors" los los IDs de las campañas no eliminadas y otro nodo "countNotDeleted" con la cantidad de campañas no eliminadas.
Ej: errors:{notDeleted:["10","2"]},countNotDeleted: "2.

En caso de no poder eliminar una campaña en la respuesta tendremos un nodo "errors" los los IDs de las campañas no eliminadas y otro nodo "countNotDeleted" con la cantidad de campañas no eliminadas.

Ej: errors:{notDeleted:["10","2"]},countNotDeleted: "2″

Estructura de Salida

countDeleted Número de campañas eliminadas.

6. Crear cuerpo de la campaña (HTML/Texto plano)

Servicio:

/content/edit

Crea/Modifica el cuerpo del e-mail de la campaña.

Ver detalles del servicio

7. Enviar una campaña

Servicio:

/campaign/resume

Una vez creada la campaña con su contenido se puede comenzar el proceso de envío de e-mails a los destinatarios. Este método también debe usarse para reanudar una campaña pausada.

Parámetros:

ParámetroRequeridoTipoExplicaciónEjemplo
CampaignIDSINúmero EnteroIdentificador de la campaña a enviarCampaignID=10

Errores:

errorMsg_formValidationsUno o varios de los parámetros de entrada es incorrecto, falta o es requeridoTiene asociada una estructura del tipo "Parámetro inválido"=>"error".
errorMsg_campaignNotActiveLa campaña esta en estado "Draft" por lo que no esta lista para ser enviada.
errorMsg_campaignNotResumedLa campaña no se pudo reanudar/enviar
errorMsg_campaignNotScheduledNo se pudo Cambiar el estado a la configuración de envío.
errorMsg_campaignCompletedLa campaña ya fue enviada en su totalidad. No puede reenviarse.
errorMsg_maxSimultaneousCampaignLimitExceededNo pueden enviarse más de 10 campañas simultáneamente.

Estructura de Salida

campaign.CampaignID ID de la campaña

8. Pausar campaña

Servicio:

/campaign/pause

Detiene el envío de una campaña. Esta campaña luego puede ser retomada con una llamada al servicio "/campaign/resume"

Parámetros:

ParámetroRequeridoTipoExplicaciónEjemplo
CampaignIDSINúmero EnteroIdentificador de la campaña a enviarCampaignID=10

Errores:

errorMsg_formValidationsUno o varios de los parámetros de entrada es incorrecto, falta o es requerido. Tiene asociada una estructura del tipo "Parámetro inválido"=>"error".
errorMsg_campaignNotActiveLa campaña esta en estado "Draft" por lo que no puede ser pausada.
errorMsg_campaignAlreadyPausedLa campaña ya esta pausada.
errorMsg_campaignStoppedOrCompletedLa campaña esta detenida o completada.
errorMsg_campaignCompletedLa campaña ya fue enviada en su totalidad. No puede pausarse.
errorMsg_campaignNotPausedLa campaña no pudo pausarse.

Estructura de Salida

campaign.CampaignID ID de la campaña

9. Ejemplos útiles de implementación en PHP

En este ejemplo vamos a:

  • 1. Crear una campaña con las siguentes características.
    • 1. Nombre: 'Promo Verano'
    • 2. Asunto: 'Super Ofertas de verano!!!'
    • 3. ID de lista de contactos: 1
    • 4. ID de email de remitente: 21
    • 5. ID de email de respuesta: 21
    • 6. Seguir enlaces: si
    • 7. Contar aperturas: si
    • 8. Usar Google Analytics: si
    • 9. Enviar informe al finalizar: no
    • 10. Agregar al archivo público: si
  • 2. Modificación de estado de envío activada: si
  • 3. Programar para envío inmediato: si
  • 4. Crear el contenido del email y asignáraselo a la campaña.
  • 5. Enviar la campaña.

Script

textarea con el codigo del script member.php

Salida Script PHP

Nueva Campaña: XX

Cuerpo de la campaña creado

Campaña enviada. Para ver el avance y el resultado de la campaña ver el modulo de 'reportes'


<?php

    $baseURL = 'https://app.envialosimple.com';
    $apiKey = 'TU LLAVE';

    // Creo nueva campaña
    $params = array();
    $params['APIKey']=$apiKey;
    $params['CampaignName']='Promo Verano';
    $params['CampaignSubject']='Super Ofertas de verano!!!';
    $params['MailListsIds']=array('1','2');
    $params['FromID']='21';
    $params['ReplyToID']='21';
    $params['TrackLinkClicks']='1';
    $params['TrackReads']='1';
    $params['TrackAnalitics']='1';
    $params['SendStateReport']='';
    $params['AddToPublicArchive']='1';
    $params['ScheduleCampaign']='1';
    $params['SendNow']='1';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $baseURL.'/campaign/save/format/json');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
    $jsonResponse = curl_exec($ch);
    curl_close($ch);

    $response = json_decode($jsonResponse, true);

    $ok = isset($response['root']['ajaxResponse']['success']);
    if(!$ok)
    {
        echo "Error al crear la campaña\n";
        print_r($response);
        exit;
    }

    $id = $response['root']['ajaxResponse']['campaign']['CampaignID'];
    $name = $response['root']['ajaxResponse']['campaign']['Name'];
    echo "Nueva Campaña: $id $name\n";
    if($response['root']['ajaxResponse']['campaign']['integrity']['status']=='1')
    {
        if($response['root']['ajaxResponse']['campaign']['integrity']['subject']=='-1')
        {
            echo "Debes asignar un Asunto.\n";
        }

        if($response['root']['ajaxResponse']['campaign']['integrity']['schedule']=='-1')
        {
            echo "Debes determinar una configuracion de envio\n";
        }

        if($response['root']['ajaxResponse']['campaign']['integrity']['content']=='-1')
        {
            echo "Debes determinar un contenido de la campaña\n";
        }

        if($response['root']['ajaxResponse']['campaign']['integrity']['replyTo']=='-1')
        {
            echo "Debes determinar un remitente 'reply to'\n";
        }

        if($response['root']['ajaxResponse']['campaign']['integrity']['fromTo']=='-1')
        {
            echo "Debes determinar un origen 'from'\n";
        }

        if($response['root']['ajaxResponse']['campaign']['integrity']['maillist']=='-1')
        {
            echo "Debes determinar una o varias listas de contactos\n";
        }
    }

    // Crea contenido
    $params = array();
    $params['APIKey']=$apiKey;
    $params['CampaignID']=$id;
    $params['HTML']='<h1>Super ofertas de verano!!!</h1><p>Mirá nuestros <a href="http://mitiendita.com.ar">productos</a></p> <br/> para desuscribirse click <a href="%UnSubscribe%">aquí</a>';
    $params['PlainText']="Super ofertas de verano!!! \n\n\tMira nustros productos en http://mitiendita.com.ar";

    // Asigno contenido a la campaña.
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $baseURL.'/content/edit/format/json');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
    $jsonResponse = curl_exec($ch);
    curl_close($ch);

    $response = json_decode($jsonResponse, true);
    $ok = isset($response['root']['ajaxResponse']['success']);
    if(!$ok)
    {
        echo "No se pudo asigar el contenido del email a la campaña\n";
        print_r($response);
        exit;
    }

    echo "Cuerpo de campaña creado\n";

    // Envio la campaña
    $params = array();
    $params['APIKey']=$apiKey;
    $params['CampaignID']=$id;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $baseURL.'/campaign/resume/format/json');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
    $jsonResponse = curl_exec($ch);
    curl_close($ch);

    $response = json_decode($jsonResponse, true);
    $ok = isset($response['root']['ajaxResponse']['success']);

    if(!$ok)
    {
        echo "Error al enviar la campaña\n";
        print_r($response);
        exit;
    }
    if($ok)
    {
        echo "Campaña enviada. Para ver el avance y el resultado de la campaña ver el modulo de 'reportes'\n";
    }
?>
Regístrate en EnvialoSimple ahora y obtén 1000 ENVÍOS GRATIS POR MES

CUIDADO ¡Riesgo de adicción!
Te invitamos a probar nuestro Newsletter. Recibirás pequeñas dosis del mejor contenido y alguna invitación especial para nuestros seminarios de email marketing.

Tranquilo,... no compartimos tu dirección.

  • ARGENTINA

    Buenos Aires: +54 11 52388127

    Córdoba: +54 351 5681826

    Mendoza: +54 261 4058337

    Rosario: +54 341 6075300

    Fax: +54 341 5169001


    USA

    Miami: +1 305 6776829

  • BRASIL

    Rio: +55 21 35219672

    São Paulo: +55 11 30135046

    Brasília: 55 61 37175051

    Porto Alegre: +55 51 32512951



    VENEZUELA

    Caracas: +58 212 3357430

  • COLOMBIA

    Bogotá: +57 1 5087540

    Cali: +57 26 205104

    Barranquilla: 57 53 161012

    Medellin: +57 4 6042535




    PERU

    Lima: +51 17185400

  • CHILE

    Santiago: +56 2 24958462

    Valparaíso: +56 32 2768422

    Antofagasta: +56 55 2 539786




    ESPAÑA

    Madrid: +34 917 610945

  • MEXICO

    D.F.: +52 55 53509210

    Guadalajara: +52 33 53501808

    Monterrey: +52 81 53501838

Contacto

El mensaje ha sido enviado con Éxito


Cerrar
Ingresa el texto verificador

Enviando Enviar