Listas

Para organizar mejor tus contactos, podés organizarlos en listas. Cada contacto puede pertenecer a ninguna, una o más listas. Las listas son muy útiles al momento de enviar campañas, ya que podés elegir como destinatarios de tu campaña a todos los contactos que pertenezcan a una lista en particular.

Por ejemplo, si tenés un blog de cocina, podés crear las listas seguidores para todos los contactos que estén suscriptos a tu newsletter. Si vendés un libro de recetas a través de tu blog, podés crear la lista compradores para marcar a todos los que lo hayan adquirido. De esta forma, podés enviar una campaña de promoción de tu libro a todos tus suscriptores, menos a los compradores (que obviamente no deberían recibir promoción de un producto que ya han obtenido).

Administrar tus listas es muy sencillo, vamos a verlo a continuación.

Agregar una lista

Para agregar una lista, enviamos un POST a lists con su nombre en el campo name y su descripción en el campo description.

$list = file_get_contents(
    'https://api.myperfit.com/v2/cuenta1/lists',
    false,
    stream_context_create(['http'=> [
        'method'=>'POST',
        'header' => "Content-Type: application/x-www-form-urlencoded\r\n" .
                    'X-Auth-Token: Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s',
        'content' => http_build_query([
            'name' => 'Seguidores',
            'description' => 'Seguidores del blog suscriptos a las novedades'
        ])
    ]])
);
$.ajax({
    type: 'POST',
    url: 'https://api.myperfit.com/v2/cuenta1/lists',
    headers: { X-Auth-Token: 'Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s' },
    data: {
        name: 'Seguidores',
        description: 'Seguidores del blog suscriptos a las novedades'
    },
    success: function (response) {
        var data = response.data;
    }
});

Agregar y quitar contactos de una lista

Una vez que tenemos creada nuestra lista, podemos comenzar a agregar contactos a la misma. Para hacerlo, enviamos una llamada PUT a contacts seguido del ID del contacto, seguido de lists y el ID de la lista deseada.

Si queremos asociar el contacto número 15 con la lista número 1, entonces la URL quedaría de la siguiente forma:

https://api.myperfit.com/v2/cuenta1/contacts/15/lists/1

Al enviar el pedido:

$list = file_get_contents(
    'https://api.myperfit.com/v2/cuenta1/contacts/15/lists/1',
    false,
    stream_context_create(['http'=> [
        'method'=>'PUT',
        'header' => 'X-Auth-Token: Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s'
    ]])
);
$.ajax({
    type: 'PUT',
    url: 'https://api.myperfit.com/v2/cuenta1/contacts/15/lists/1',
    headers: { X-Auth-Token: 'Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s' },
    success: function (response) {
        var data = response.data;
    }
});

...recibiremos una respuesta con status 200 OK si la asociación ha ocurrido exitosamente.

Para quitar un contacto de una lista, debemos hacer una llamada de tipo DELETE a la misma URL:

$list = file_get_contents(
    'https://api.myperfit.com/v2/cuenta1/contacts/15/lists/1',
    false,
    stream_context_create(['http'=> [
        'method'=>'DELETE',
        'header' => 'X-Auth-Token: Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s'
    ]])
);
$.ajax({
    type: 'DELETE',
    url: 'https://api.myperfit.com/v2/cuenta1/contacts/15/lists/1',
    headers: { X-Auth-Token: 'Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s' },
    success: function (response) {
        var data = response.data;
    }
});

También recibiremos una respuesta con status 200 OK en caso de haber quitado al contacto con éxito.

Listar listas

Para ver todas las listas que tenemos creadas, podemos hacer un GET a lists.

$lists = file_get_contents(
    'https://api.myperfit.com/v2/cuenta1/lists',
    false,
    stream_context_create(['http'=> [
        'method'=>'GET',
        'header' => "X-Auth-Token: $access_token"
    ]])
);
$.ajax({
    type: 'GET',
    url: 'https://api.myperfit.com/v2/cuenta1/lists',
    data: {
        limit: 100,
        token: 'Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s'
    },
    success: function (response) {
        var data = response.data;
    }
});

El resultado obtenido será un listado como el siguiente:

{
    "href": "/cuenta1/lists",
    "success": true,
    "paging": {
        "records": 2,
        "offset": 0,
        "limit": 100
    },
    "data": [
        {
            "id": 1,
            "name": "Seguidores",
            "description": "Seguidores del blog suscriptos a las novedades",
            "totalContacts": 150,
            "activeContacts": 142,
            "quality": 0.4,
            "tags": []
        },
        {
            "id": 2,
            "name": "Compradores",
            "description": "Compradores del libro",
            "totalContacts": 25,
            "activeContacts": 25,
            "quality": 0.9,
            "tags": []
        }
    ]
}

En cada registro podemos ver los siguientes datos:

  • id: ID de la lista.
  • name: Nombre de la lista.
  • description: Descripción de la lista.
  • created: Fecha de creación.
  • lastMailed: Fecha de último envío a esta lista.
  • activeContacts: Cantidad de contactos activos en la lista.
  • totalContacts: Cantidad de contactos totales en la lista.
  • quality: Calidad promedio de los contactos, expresado con un un numero decimal de 0 a 1.
  • tags: Etiquetas de la lista. Sirven para agrupar o marcar listas.

Modificar una lista

Para modificar una lista, debemos hacer un PUT a lists seguido del ID de la lista con el nuevo name o description.

$list = file_get_contents(
    'https://api.myperfit.com/v2/cuenta1/lists/1',
    false,
    stream_context_create(['http'=> [
        'method'=>'PUT',
        'header' => "Content-Type: application/x-www-form-urlencoded\r\n" .
                    'X-Auth-Token: Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s',
        'content' => http_build_query([
            'name' => 'Suscriptores',
            'description' => 'Suscriptores al newsletter'
        ])
    ]])
);
$.ajax({
    type: 'PUT',
    url: 'https://api.myperfit.com/v2/cuenta1/lists/1',
    headers: { X-Auth-Token: 'Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s' },
    data: {
        name: 'Suscriptores',
        description: 'Suscriptores al newsletter'
    },
    success: function (response) {
        var data = response.data;
    }
});

Eliminar una lista

Para eliminar una lista, debemos hacer un DELETE a la misma URL.

$list = file_get_contents(
    'https://api.myperfit.com/v2/cuenta1/lists/1',
    false,
    stream_context_create(['http'=> [
        'method'=>'DELETE',
        'header' => "Content-Type: application/x-www-form-urlencoded\r\n" .
                    'X-Auth-Token: Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s'
    ]])
);
$.ajax({
    type: 'DELETE',
    url: 'https://api.myperfit.com/v2/cuenta1/lists/1',
    headers: { X-Auth-Token: 'Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s' },    
    success: function (response) {
        var data = response.data;
    }
});

¡Cuidado! Se perderá la asociación de los contactos a esta lista, y esa asociación no puede recuperarse.

Tags

Puede suceder que nuestra base tenga muchas listas, una por cada archivo que importamos, por ejemplo. A veces, las listas son tantas que podemos necesitar agruparlas: para eso son perfectos los tags. Los tags son etiquetas que podemos aplicar a una o más listas, para identificarlas más fácilmente.

Crear tags

Los tags podemos utilizarlos directamente, sin necesidad de crearlos previamente. Simplemente los incluimos en el pedido de creacion o modificacion de nuestra lista, como un array llamado tags:

$list = file_get_contents(
    'https://api.myperfit.com/v2/cuenta1/lists/1',
    false,
    stream_context_create(['http'=> [
        'method'=>'PUT',
        'header' => "Content-Type: application/x-www-form-urlencoded\r\n" .
                    'X-Auth-Token: Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s'
        'content' => http_build_query([
            'tags' => ['VIP', 'Buenos Aires']
        ])
    ]])
);
$.ajax({
    type: 'PUT',
    url: 'https://api.myperfit.com/v2/cuenta1/lists/1',
    headers: { X-Auth-Token: 'Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s' },        
    data: {
        tags: ['VIP', 'Buenos Aires']
    },
    success: function (response) {
        var data = response.data;
    }
});

Listar tags

Podemos acceder rápidamente a todos los tags que tenemos asignados a nuestras listas haciendo un pedido GET a /lists/tags de la siguiente forma:

$lists = file_get_contents(
    'https://api.myperfit.com/v2/cuenta1/lists/tags',
    false,
    stream_context_create(['http'=> [
        'method'=>'GET',
        'header' => "X-Auth-Token: $access_token"
    ]])
);
$.ajax({
    type: 'GET',
    url: 'https://api.myperfit.com/v2/cuenta1/lists/tags',
    data: {
        limit: 100,
        token: 'Shjg23Asd4Sdg8fd23F4eg8rF83kgd2s'
    },
    success: function (response) {
        var data = response.data;
    }
});

El resultado será un listado como el siguiente:

{
    "href": "/cuenta1/lists/tags",
    "success": true,
    "data": ["tag1", "tag2", "tag3", ...]
}