API de Snov.io

Las funciones de Snov.io se pueden utilizar a través de nuestra sencilla API REST. Integra con la API de Snov.io para sincronizar tus leads, encontrar emails, gestionar prospectos y más. La tasa de la API está limitada a 60 solicitudes por minuto.

Los usuarios de Snov.io con un plan gratuito pueden probar la funcionalidad de la API sin tener que actualizar poniéndose en contacto con nosotros en help@snov.io.

Autenticación

Es necesario generar un token de acceso para autenticar futuras solicitudes. Al realizar una solicitud, especifica este token de acceso en el campo Autorización.

Authorization: Bearer QSlHffXmCAILIOHNGXToq4LsP2yX64VQhEBZ7Ei4

Este es un ejemplo de generación de tokens.

Solicitud
POSThttps://api.snov.io/v1/oauth/access_token
Parámetros de entrada
grant_type
Siempre será
client_credentials
client_id
Tu identificación está disponible en la configuración de la cuentahttps://app.snov.io/account#/api
client_secret
Tu clave secreta está disponible en la configuración de la cuentahttps://app.snov.io/account#/api
Ejemplos de código
<?php
function getAccessToken()
{
    $params = [
        'grant_type'    => 'client_credentials',
        'client_id'     => 'c57a0459f6t141659ea75cccb393c5111',
        'client_secret' => '77cbf92b71553e85ce3bfd505214f40b'
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/oauth/access_token',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res['access_token'];

}
?>
def get_access_token():
params = {
    'grant_type':'client_credentials',
    'client_id':'c57a0459f6t141659ea75cccb393c111',
    'client_secret': '77cbf92b71553e85ce3bfd505214f40b'
}

res = requests.post('https://api.snov.io/v1/oauth/access_token', data=params)
resText = res.text.encode('ascii','ignore')

return json.loads(resText)['access_token']
Ejemplo de respuesta
{
"access_token":"3yUyQZdks0Ej7T2fXzjUWzwlTcO4dWisKkeMpESz",
"token_type":"Bearer",
"expires_in":3600
}
Parámetros de salida
access_token
Tu nuevo token de acceso
token_type
Siempre será Bearer
expires_in
Tiempo de expiración del token (en segundos)

Métodos API

GETBúsqueda de dominio V.2

1 crédito por cada 10 emails/prospectos

Escribe un nombre de dominio y Snov.io le devolverá todas las direcciones de email del dominio.

Si hay alguna información adicional sobre el propietario del email disponible en la base de datos, también la añadiremos.

Cada respuesta devuelve hasta 100 emails. Si no devuelve al menos un email, no se le cobrará la solicitud.

Solicitud
GEThttps://api.snov.io/v2/domain-emails-with-info
Parámetros de entrada
domain
El nombre del dominio del que quieres encontrar las direcciones de email. Por ejemplo, "snov.io".
type
Puede contener diferentes valores -
all
,
personal
o
generic
. Una dirección de email genérica es una dirección de email basada en la función, por ejemplocontact@snov.io.

Una dirección de email personal es el email de la persona real que trabaja en la empresa.

limit
Establece el límite para especificar el número de direcciones de email a devolver. Cada respuesta devuelve hasta 100 direcciones de email.
lastId
Para recoger más correos electrónicos que los establecidos en el parámetro de entrada Límite, en tu próxima solicitud indica el id de la última dirección de correo electrónico recogida en la solicitud anterior. De este modo, se omitirán los correos electrónicos recogidos anteriormente.
Ten en cuenta que lastId es un parámetro obligatorio.
El valor por defecto es
0
.
positions
Utiliza este parámetro para filtrar los prospectos por puesto de trabajo, por ejemplo, "Desarrollador de software". Para filtrar por varios puestos, escribe una serie de puestos necesarios.
Ejemplos de código
<?php
function getDomainSearch()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'domain'       => 'octagon.com',
        'type'         => 'all',
        'limit'        => 100,
        'lastId'       => 0,
        'positions'    => ['Software Developer','QA']
    ];

    $params = http_build_query($params);
    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v2/domain-emails-with-info?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_domain_search():
token = get_access_token()
params = {
  'access_token': token,
  'domain': 'octagon.com',
  'type': 'all',
  'limit': 100,
  'lastId': 0,
  'positions[]': ['Software Developer','QA']
}

res = requests.get('https://api.snov.io/v2/domain-emails-with-info', params=params)

return json.loads(res.text)
Ejemplo de respuesta
{
  "success": true,
  "domain": "octagon.com",
  "webmail": false,
  "result": 84,
  "lastId": 1823487525,
  "limit": 100,
  "companyName": "Octagon",
  "emails": [
      {
      "email": "ben.gillespie@octagon.com",
      "firstName": "Ben",
      "lastName": "Gillespie",
      "position": "Senior Account Executive",
      "sourcePage": "https://www.linkedin.com/pub/ben-gillespie/7/73/809",
      "companyName": "Octagon",
      "type": "prospect",
      "status": "verified"
      }
    ]
}
Parámetros de salida
domain
El nombre de dominio para el que la API ha proporcionado las direcciones de email.
webmail
Es
true
si el dominio que buscas es webmail.
result
El número de direcciones de email que hemos encontrado para este dominio. No podemos proporcionar resultados para dominios de webmail, por lo que el resultado para webmail será siempre
0
.
limit
Especifica el número máximo de direcciones de email a devolver.
companyName
El nombre de la empresa utilizado para encontrar las direcciones de email.
emails
La matriz de emails del dominio recuperados en la búsqueda.
email
Una dirección de email específica recuperada en la búsqueda.
type
Puede contener
prospect
o
email
valores. Si el tipo devuelto es
prospect
Snov.io ha encontrado información adicional sobre el propietario del email.
status
Estado de verificación del email. El estado del email puede ser
verified
o
notVerified
.
firstName
El nombre del propietario del email.
lastName
El apellido del propietario del email.
position
El puesto de trabajo actual del propietario del email.
sourcePage
La página de origen de los datos personales recuperados.
lastId
ID del último correo electrónico recogido de la respuesta anterior.

POSTCuenta de email

Gratis

Con este método de la API, puedes averiguar el número de direcciones de email de un determinado dominio en nuestra base de datos. Es completamente gratuito, por lo que no necesitas créditos para utilizarlo.

Solicitud
POSThttps://api.snov.io/v1/get-domain-emails-count
Parámetros de entrada
domain
El nombre del dominio para el que deseas conocer el número de emails en nuestra base de datos.
Ejemplos de código
<?php
function getEmailCount()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'domain'       => 'octagon.com',
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-domain-emails-count',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_email_count():
token = get_access_token()
params = {'access_token':token,
        'domain':'octagon.com'

}

res = requests.post('https://api.snov.io/v1/get-domain-emails-count', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
"success":true,
"domain":"octagon.com",
"webmail":false,
"result":1369
}
Parámetros de salida
domain
El nombre del dominio para el que deseas conocer el número de emails en nuestra base de datos.
webmail
Es
true
si el dominio que buscas es webmail.
result
Número total de direcciones de emails que hemos encontrado para este dominio. No podemos proporcionar resultados para dominios de webmail, por lo que el resultado para webmail siempre será
0
.

POSTEmail Finder

Gratis

Este método de la API encuentra direcciones de correo electrónico utilizando el nombre y el apellido de la persona y un nombre de dominio. Si no tenemos esta dirección de correo electrónico en nuestra base de datos, no podremos proporcionarte los resultados inmediatamente. Para acelerar el proceso, puede utilizar el Añadir nombres para encontrar correos electrónicos método para impulsar esta dirección de correo electrónico para la búsqueda. Después de eso, intenta el método de búsqueda de correo electrónico de nuevo.

Límites: Si envías demasiadas peticiones en una hora puedes ver el siguiente mensaje de error: "Hay demasiados prospectos procesando. Por favor, inténtalo más tarde"
El límite de búsqueda en una hora depende de tu plan:

  • Starter - 200 solicitudes/hora
  • Pro 5K - 400 solicitudes/hora
  • Pro 20K - 600 solicitudes/hora
  • Pro 50K - 800 solicitudes/hora
  • Pro 100K - 1.000 solicitudes/hora
Solicitud
POSThttps://api.snov.io/v1/get-emails-from-names
Parámetros de entrada
firstName
El nombre del propietario de la dirección de correo electrónico.
lastName
El apellido del propietario de la dirección de correo electrónico.
domain
El nombre de dominio de la empresa que se utiliza en la dirección de correo electrónico.
Ejemplos de código
<?php
function getEmailFinder()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'domain'       => 'octagon.com',
        'firstName'    => 'gavin',
        'lastName'     => 'vanrooyen'
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-from-names',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_email_finder():
token = get_access_token()
params = {'access_token':token,
          'domain':'octagon.com',
          'firstName': 'gavin',
          'lastName':'vanrooyen'
}

res = requests.post('https://api.snov.io/v1/get-emails-from-names', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
"success":true,
"params":{
"firstName":"gavin",
"lastName":"vanrooyen",
"domain":"octagon.com"
},
"data":{
"firstName":"gavin",
"lastName":"vanrooyen",
"emails":[
{
"email":"Gavin@octagon.com",
"emailStatus":"valid"
}
]
},
"status":{
"identifier":"complete",
"description":"Emails search is completed"
}
}
Parámetros de salida
status
Utiliza los valores de este objeto para detectar el estado del proceso.
identifier
Puede contener los siguientes valores:
complete
,
in_progress
, o
not_found
 . Si el identificador es
not_found
 la respuesta contendrá una matriz vacía de correos electrónicos.
description
Aquí verás una descripción de texto del estado de búsqueda del correo electrónico.
data
Contiene el resultado de la búsqueda.
firstName
El nombre del propietario de la dirección de correo electrónico.
lastName
Apellido del propietario de la dirección de correo electrónico.
emails
La matriz de direcciones de correo electrónico con sus estados. El valor
emailStatus
puede contener:
valid
o
unknown
.

POSTAñade nombres para encontrar emails

1 crédito por solicitud

Si Snov.io no tiene los correos electrónicos que buscas en su base de datos y no puede proporcionar estas direcciones de correo electrónico a través del Email Finder puede tratar de impulsar la solicitud de búsqueda de correo electrónico utilizando este método. Si se encuentra un correo electrónico, puedes recogerlo utilizando la aplicación gratuita Email Finder nueva solicitud.

Límites: Si envías demasiadas peticiones en una hora puedes ver el siguiente mensaje de error: "Hay demasiados prospectos procesando. Por favor, inténtalo más tarde"
El límite de búsqueda en una hora depende de tu plan:

  • Starter - 200 solicitudes/hora
  • Pro 5K - 400 solicitudes/hora
  • Pro 20K - 600 solicitudes/hora
  • Pro 50K - 800 solicitudes/hora
  • Pro 100K - 1.000 solicitudes/hora
Solicitud
POSThttps://api.snov.io/v1/add-names-to-find-emails
Parámetros de entrada
firstName
El nombre del propietario de la dirección de correo electrónico.
lastName
El apellido del propietario de la dirección de correo electrónico.
domain
El nombre de dominio de la empresa que se utiliza en la dirección de correo electrónico.
Ejemplos de código
<?php
function getAddNamesToFindEmails()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'domain'       => 'octagon.com',
        'firstName'    => 'gavin',
        'lastName'     => 'vanrooyen'
    ];


    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/add-names-to-find-emails',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def add_names_to_find_emails():
token = get_access_token()
params = {'access_token':token,
          'domain':'octagon.com',
          'firstName': 'gavin',
          'lastName':'vanrooyen'
}

res = requests.post('https://api.snov.io/v1/add-names-to-find-emails', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
"success":true,
"firstName":"gavin",
"lastName":"vanrooyen",
"domain":"octagon.com",
"userId":666871,
"sent":true
}

Si la solicitud de correo electrónico se ha añadido con éxito a la cola, el método devuelve "sent":true.

POSTAñadir URL a la búsqueda de prospectos

1 crédito por solicitud

Encuentra prospectos por URL social. Para recibir los resultados, utiliza el botón Obtén el prospecto con el método de URL.

Solicitud
POSThttps://api.snov.io/v1/add-url-for-search
Parámetros de entrada
url
Un enlace al perfil de redes sociales del prospecto. Especifica el nombre de la red social entre [corchetes] (LinkedIn o X).
Ejemplos de código
<?php
function addUrlForSearch()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'url'          => 'https://www.linkedin.com/in/johndoe/&social'
    ];


    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/add-url-for-search',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def add_url_for_search():
token = get_access_token()
params = {'access_token':token,
          'url':'https://www.linkedin.com/in/elie-ohayon-aaab7341'
}

res = requests.post('https://api.snov.io/v1/add-url-for-search', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
  "success": true
}
Parámetros de salida
success
Es
true
si el prospecto se ha añadido con éxito a la lista de búsqueda.
message
Ha habido un error al añadir el prospecto a la lista.

POSTObtén un prospecto con URL

Gratis

Proporcionar la URL social del prospecto y Snov.io devolverá la información completa sobre el prospecto con las direcciones de correo electrónico encontradas. Previamente debes utilizar el Añade la URL para buscar el método de prospección. De lo contrario, el resultado no se mostrará.

Solicitud
POSThttps://api.snov.io/v1/get-emails-from-url
Parámetros de entrada
url
Un enlace al perfil de redes sociales del prospecto. Especifica el nombre de la red social entre [corchetes] (LinkedIn o X).
Ejemplos de código
<?php
function getEmailsFromUrl()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'url'          => 'https://www.linkedin.com/in/john-doe-123456/'
    ];


    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-from-url',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_emails_from_url():
token = get_access_token()
params = {'access_token':token,
          'url':'https://www.linkedin.com/in/elie-ohayon-aaab7341'
}

res = requests.post('https://api.snov.io/v1/get-emails-from-url', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
  "success": true,
  "data": [
    {
      "id": "xusD3-T_K5IktGoaa8Jc8A==",
      "name": "Gavin Vanrooyen",
      "firstName": "John",
      "lastName": "Doe",
      "sourcePage": "https://www.linkedin.com/in/john-doe-123456/",
      "source": "linkedIn",
      "industry": "Entertainment",
      "country": "United States",
      "locality": "Greater Atlanta Area",
      "lastUpdateDate": {
        "date": "2019-09-11 12:37:58.000000",
        "timezone_type": 3,
        "timezone": "UTC"
      },
      "currentJob": [
        {
          "companyName": "Octagon",
          "position": "Senior Brand Director",
          "socialLink": "https:\/\/www.linkedin.com\/company\/659333",
          "site": "http:\/\/octagon.com",
          "locality": "United States",
          "state": null,
          "city": null,
          "street": null,
          "street2": null,
          "postal": null,
          "founded": null,
          "startDate": "2018-07-31",
          "endDate": null,
          "size": "1-10",
          "industry": "Entertainment",
          "companyType": "Public Company",
          "country": "United States"
        }
      ],
      "previousJob": [
        {
          "companyName": "UPS",
          "position": "Manager, Sponsorships and Events",
          "socialLink": "https:\/\/www.linkedin.com\/company\/1523574",
          "site": "http:\/\/www.ups.com\/",
          "locality": "United States",
          "state": "GA",
          "city": "Atlanta",
          "street": "55 Glenlake Parkway, NE",
          "street2": null,
          "postal": "30328",
          "founded": "1907",
          "startDate": null,
          "endDate": null,
          "size": "10001+",
          "industry": "Logistics and Supply Chain",
          "companyType": "Public Company",
          "country": "United States"
        }
      ],
        "social": [],
        "emails": [
            {
                "email": "johndoe@octagon.com",
                "status": "valid"
            }
        ]
    }
  ]
}
Parámetros de salida
success
Es
true
si se encuentra el prospecto
id
Identificador único del perfil
name
Nombre completo del prospecto
firstName
Primer nombre del prospecto
lastName
Apellido del prospecto
industry
Sector de actividad indicado en el perfil del prospecto
country
País de prospecto
locality
Ubicación del prospecto
skills
Habilidades del prospecto
social
Enlaces a los perfiles sociales de los prospectos
currentJobs
La matriz contiene información sobre el puesto de trabajo actual de prospecto
previousJobs
La matriz contiene información sobre los cargos anteriores del prospecto
lastUpdateDate
Fecha de la última actualización del perfil
emails
Correo electrónico del prospecto con el estado actual

POSTObtén el perfil con el email

1 crédito por solicitud

Proporcionar una dirección de correo electrónico y Snov.io devolverá toda la información del perfil conectado al propietario de la dirección de correo electrónico proporcionada de la base de datos.

Si no encontramos información sobre el propietario del correo electrónico en nuestra base de datos, no se le cobrará por la solicitud.

Solicitud
POSThttps://api.snov.io/v1/get-profile-by-email
Parámetros de entrada
email
La dirección de correo electrónico de la persona sobre la que desea encontrar información adicional.
Ejemplos de código
<?php
function getProfileByEmail()
{
    $token = getAccessToken();

    $params = [
        'access_token'    => $token,
        'email'           => 'gavin.vanrooyen@octagon.com'
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-profile-by-email',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);
    
    return $res;

}
?>
def get_profile_by_email():
token = get_access_token()
params = {'access_token':token,
        'email':'gavin.vanrooyen@octagon.com'
}

res = requests.post('https://api.snov.io/v1/get-profile-by-email', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
"success": true,
"id": 301592,
"source": "linkedIn",
"name": "Lizi Hamer",
"firstName": "Lizi",
"lastName": "Hamer",
"logo": "https://app.snov.io/img/peoples/010fcf23c70dfa68d880545ec89a9215.jpg",
"industry": null,
"country": "Singapore",
"locality": "Singapore",
"social": [
    {
        "link": "https://www.linkedin.com/in/lizihamer/",
        "type": "linkedIn"
    },
    {
        "link": "https://twitter.com/LiziHamer",
        "type": "twitter"
    }
],
"currentJobs": [
    {
        "companyName": "Octagon",
        "position": "Regional Creative Director",
        "socialLink": "https://www.linkedin.com/company/165282",
        "site": "www.octagon.com",
        "locality": "Greater New York City Area",
        "state": "Connecticut",
        "city": "Stamford",
        "street": "290 Harbor Dr",
        "street2": "2nd Floor",
        "postal": "06902",
        "founded": "1983",
        "startDate": "2016-01-31",
        "endDate": null,
        "size": "1-10",
        "industry": "Marketing and Advertising",
        "companyType": "Public Company",
        "country": "United States"
    },
    {
        "companyName": "SisuGirls",
        "position": "Co Founder",
        "socialLink": "https://www.linkedin.com/company/3841118",
        "site": "http://www.sisugirls.org",
        "locality": null,
        "state": "SG",
        "city": "Singapore",
        "street": "33-03 Hong Leong Building",
        "street2": null,
        "postal": null,
        "founded": "2014",
        "startDate": "2015-07-31",
        "endDate": null,
        "size": "1-10",
        "industry": "Health, Wellness and Fitness",
        "companyType": null,
        "country": "Singapore"
    }
],
"previousJobs": [
    {
        "companyName": "Fusion Co-innovation Labs",
        "position": "Creative Entrepreneur",
        "socialLink": null,
        "site": null,
        "locality": null,
        "state": null,
        "city": null,
        "street": null,
        "street2": null,
        "postal": null,
        "founded": null,
        "startDate": "2013-05-31",
        "endDate": "2013-10-31",
        "size": null,
        "industry": null,
        "companyType": null,
        "country": null
    },
    {
        "companyName": "Russell Commission",
        "position": "Youth Advisory Board Member",
        "socialLink": null,
        "site": null,
        "locality": null,
        "state": null,
        "city": null,
        "street": null,
        "street2": null,
        "postal": null,
        "founded": null,
        "startDate": "2004-06-30",
        "endDate": "2006-06-30",
        "size": null,
        "industry": null,
        "companyType": null,
        "country": null
    }
],
"lastUpdateDate": "2018-02-07 10:12:28"
}
Parámetros de salida
id
Un identificador de perfil único.
source
La fuente de los datos personales recuperados.
name
El nombre completo del propietario de la dirección de correo electrónico.
firstName
El nombre de la persona.
lastName
El apellido de la persona.
logo
La foto de perfil de la persona.
industry
El sector de la persona indicado en la fuente.
country
El país de la persona como se indica en la fuente.
locality
La localidad de la persona como se indica en la fuente.
social
Enlaces a los perfiles sociales de la persona.
currentJobs
Una matriz que contiene información sobre el o los puestos de trabajo actuales de la persona.
previousJobs
Una matriz que contiene información sobre los puestos de trabajo anteriores de la persona.
lastUpdateDate
La fecha de la última actualización del perfil en la base de datos.

POSTEmail Verifier

Gratis

Comprueba si las direcciones de correo electrónico proporcionadas son válidas y entregables. El punto final API devolverá los resultados de la verificación del correo electrónico. Si no hemos verificado una determinada dirección de correo electrónico antes, no se devolverán los resultados. En este caso, la API devolverá un identificador "no_verificable" y no se cobrarán créditos por este correo electrónico. Deberías usar el Añade emails para verificación para impulsar esta dirección para la verificación, después de lo cual serás capaz de obtener los resultados de verificación de email utilizando este criterio de valoración.

Límites: Si envías demasiadas peticiones en una hora puedes ver el siguiente mensaje de error: "Hay demasiados prospectos procesando. Por favor, inténtalo más tarde"
El límite de búsqueda en una hora depende de tu plan:

  • Starter - 500 emails/hora
  • Pro 5K - 1000 emails/hora
  • Pro 20K - 1400 emails/hora
  • Pro 50K - 2000 emails/hora
  • Pro 100K - 4000 emails/hora
Solicitud
POSThttps://api.snov.io/v1/get-emails-verification-status
Parámetros de entrada
emails
Las direcciones de email que debes verificar.
Ejemplos de código
<?php
function getEmailVerifier()
{
    $token = getAccessToken();
    $emails = ['gavin.vanrooyen@octagon.com', 'lizi.hamer@octagon.com'];

    $emailsQuery = http_build_query(
        [
            'emails' => $emails
        ]
    );
    $params = ['access_token' => $token];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-verification-status?' . $emailsQuery,
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_email_verifier():
token = get_access_token()
params = {'access_token':token,
}

res = requests.post('https://api.snov.io/v1/get-emails-verification-status?emails[]=gavin.vanrooyen@octagon.com&emails[]=lizi.hamer@octagon.com', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
"success":true,
"gavin.vanrooyen@octagon.com":{
"status":{
"identifier":"not_verified",
"description":"Email is not verified, try to send it for verification"
},
"data":[
]
},
"lizi.hamer@octagon.com":{
"data":{
"email":"lizi.hamer@octagon.com",
"isValidFormat":true,
"isDisposable":false,
"isWebmail":true,
"isGibberish":false,
"smtpStatus":"valid"
"isCatchall":false
"isGreylist":false
"isBannedError":false
"isConnectionError":false
},
"status":{
"identifier":"complete",
"description":"Email verification is completed"
}
}
}

Este método devolverá datos para cada dirección de email solicitada. La respuesta contiene un estado de verificación y los resultados de la verificación.

Parámetros de salida
status
El estado de Email verification. Contiene el identificador y la descripción.
identifier
Puede contener los siguientes valores:
complete
,
in_progress
, o
not_verified
. Si el identificador es
not_verified
,
data
estará vacío.
description
Aquí verás una descripción de texto del estado de verificación.
data
Contiene otros resultados de verificación -
email
,
isValidFormat
,
isWebmail
,
isGibberish
,
isCatchall
,
isGreylist
,
isBannedError
,
isConnectionError
.
email
La dirección de email que ha sido verificada.
isValidFormat
Es
true
si el formato del email es correcto, es decir, si contiene símbolos válidos en el orden correcto.
isDisposable
Es
true
si comprobamos que esta dirección de email es de un servicio de email desechable.
isWebmail
Es
true
si esta dirección de email es de un webmail.
isGibberish
Es
true
si esta dirección de email se ha generado automáticamente.
smtpStatus
Puede devolver
valid
,
not_valid
,
greylisted
o
unknown
(también conocido como "no verificable"). Puedes saber más sobre los estados del correo electrónico aquí.
isCatchall
Es
true
si el correo electrónico pertenece a un servidor de correo electrónico con una configuración general, lo que significa que acepta correos electrónicos incluso si el destinatario está inactivo o no existe.
isGreylist
Es
true
si el servidor de dominio emplea tecnología de lista gris y bloquea nuestros intentos de verificar el correo electrónico incluso cuando utilizamos métodos de omisión.
isBannedError
Es
true
cuando no podemos obtener respuesta del servidor a nuestra solicitud de conexión.
isConnectionError
Es
true
cuando ocurre un error en el lado del servidor de un cliente durante nuestro intento de establecer una conexión.
Si obtienes un
greylisted
smtpStatus, significa que no podemos verificar temporalmente este correo electrónico y que continuaremos con los intentos de validarlo.
Puedes volver a enviar esta solicitud de API después de una breve pausa (normalmente de 15 minutos a 1 hora) para recibir los resultados correctos.
Recuerda que no cobramos por los correos electrónicos con estado
greylisted
hasta que terminemos de validarlos y recibamos un estado SMTP definitivo -
valid
o
not_valid
.

POSTAñade emails para verificación

1 crédito por dirección de correo electrónico

Si nunca has verificado una determinada dirección de correo electrónico antes, debes empujarla para su verificación utilizando este método de la API. Después de realizar esta acción, puedes recibir los resultados de la verificación utilizando el método Email Verifier.

Límites: Si envías demasiadas peticiones en una hora puedes ver el siguiente mensaje de error: "Hay demasiados prospectos procesando. Por favor, inténtalo más tarde"
El límite de búsqueda en una hora depende de tu plan:

  • Starter - 500 emails/hora
  • Pro 5K - 1000 emails/hora
  • Pro 20K - 1400 emails/hora
  • Pro 50K - 2000 emails/hora
  • Pro 100K - 4000 emails/hora
Solicitud
POSThttps://api.snov.io/v1/add-emails-to-verification
Parámetros de entrada
emails
Una lista de direcciones de correo electrónico que debes añadir a la cola de verificación. Cada solicitud puede contener hasta 10 correos electrónicos.
Ejemplos de código
<?php
function addEmailsForVerification()
{
    $token = getAccessToken();
    $emails = ['gavin.vanrooyen@octagon.com', 'lizi.hamer@octagon.com'];

    $emailsQuery = http_build_query(
        [
            'emails' => $emails
        ]
    );
    $params = ['access_token' => $token];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/add-emails-to-verification?' . $emailsQuery,
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def add_emails_for_verification():
token = get_access_token()
params = {'access_token': token
}

res = requests.post('https://api.snov.io/v1/add-emails-to-verification?emails[]=gavin.vanrooyen@octagon.com&emails[]=lizi.hamer@octagon.com', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
"success":true,
"gavin.vanrooyen@octagon.com":{
"sent":true
},
"lizi.hamer@octagon.com":{
"sent":true
}
}

Si una dirección de correo electrónico se añade con éxito a la cola, el método devuelve "sent":true.

GETGet campaign analytics

Gratis

This method shows campaign statistics based on the applied filters.

Solicitud
GEThttps://api.snov.io/v2/statistics/campaign-analytics
Parámetros de entrada
campaign_id
Campaign ID. You can find it in the URL when you view the campaign info (example). If you leave this field empty, you’ll get data for all active campaigns within the specified time period.

To get data for multiple campaigns, separate IDs with commas.
sender_email
Email sender account ID. You can find it in the URL when viewing or editing the email account info (example). To see analytics for multiple email accounts, separate IDs with commas.

Alternatively, leave this parameter empty if you don’t want to apply an email account filter.
sender_linkedin
LinkedIn sender account ID. You can find it in the URL when viewing or editing the LinkedIn account info. To see analytics for multiple accounts, separate IDs with commas.

Leave this parameter empty if you don’t want to apply a LinkedIn account filter.
campaign_owner
To view campaign data for a specific team member, enter their email address. To filter by multiple campaign owners, list the email addresses separated by commas (no spaces).

Example: example1@gmail.com,example2@gmail.com

Please note that to use this filter, your account must have the ‘View team records’ permission enabled, and you need to be on a Pro plan or higher.
date_from
The start date of the period for which you want to receive statistics. Format: yyyy-mm-dd. Leave empty to receive statistics for all time.
date_to
The end date of the period for which you want to receive statistics. Format: yyyy-mm-dd. Leave empty to receive statistics for all time.
Ejemplos de código

<?php

function getCampaignAnalytics()

{

   $token = getAccessToken();

   $campaignIds = [1, 2];

   $senderEmailIds = [21, 22];

   $senderLinkedInIds = [31, 32, 33];

   $ownerEmails = ['owner1@email.loc', 'owner2@email.loc'];

   $params = [

       'access_token' => $token,

       'campaign_id' => implode(',', $campaignIds),

       'sender_email' => implode(',', $senderEmailIds),

       'sender_linkedin' => implode(',', $senderLinkedInIds),

       'campaign_owner' => implode(',', $ownerEmails),

       'date_from' => '2024-06-15',

       'date_to' => '2024-09-15',

   ];

   $params = http_build_query($params);

   $options = [

       CURLOPT_URL => 'https://api.snov.io/v2/statistics/campaign-analytics?' . $params,

       CURLOPT_RETURNTRANSFER => true,

       CURLOPT_FOLLOWLOCATION => true

   ];

   $ch = curl_init();

   curl_setopt_array($ch, $options);

   $res = json_decode(curl_exec($ch), true);

   curl_close($ch);

   return $res;

}

?>

def get_campaign_analytics():

   token = get_access_token()

   campaign_ids = [1, 2]

   sender_email_ids = [21, 22]

   sender_linkedin_ids = [31, 32, 33]

   owner_emails = ['owner1@email.loc', 'owner2@email.loc']

   params = {

       'access_token': token,

       'campaign_id': ','.join(map(str, campaign_ids)),

       'sender_email': ','.join(map(str, sender_email_ids)),

       'sender_linkedin': ','.join(map(str, sender_linkedin_ids)),

       'campaign_owner': ','.join(owner_emails),

       'date_from': '2024-06-15',

       'date_to': '2024-09-15',

   }

   res = requests.get('https://api.snov.io/v2/statistics/campaign-analytics', params=params)

   return json.loads(res.text)

Ejemplo de respuesta
{
    "total_contacted": 255,
    "emails_sent": 446,
    "first_emails": 299,
    "first_emails_rate": "67%",
    "follow_ups": 147,
    "follow_ups_rate": "33%",
    "delivered": 363,
    "delivered_rate": "81%",
    "bounced": 83,
    "bounced_rate": "19%",
    "contacted_by_email": 233,
    "email_opens": 130,
    "email_opens_rate": "56%",
    "link_clicks": 100,
    "link_clicks_rate": "43%",
    "email_replies": 29,
    "email_replies_rate": "12%",
    "unsubscribed": 4,
    "unsubscribed_rate": "2%",
    "auto_replied": 13,
    "auto_replied_rate": "6%",
    "contacted_by_linkedin": 23,
    "linkedin_total_replies": 15,
    "linkedin_total_replies_rate": "65%",
    "connection_request_replies": 8,
    "connection_request_replies_rate": "53%",
    "message_replies": 7,
    "message_replies_rate": "47%",
    "connection_requests": 19,
    "accepted_requests": 11,
    "accepted_requests_rate": "58%",
    "failed_connection_requests": 4,
    "messages_sent": 6,
    "linkedin_views": 11,
    "linkedin_likes": 1,
    "linkedin_follows": 3
}
Parámetros de salida
total_contacted
Total number of recipients that were contacted by email or LinkedIn (connection request, message or InMail).
emails_sent
Total number of emails sent via campaigns.

Note that this does not include emails sent outside of campaigns.
first_emails
Number of first emails in a campaign sequence that were sent within the indicated time period.
first_emails_rate
Percentage of first emails out of the total emails sent.
follow_ups
Number of follow-up emails in a campaign sequence that were sent within the indicated time period.
follow_ups_rate
Percentage of follow-up emails out of the total emails sent.
delivered
Number of sent emails that didn’t bounce.
delivered_rate
Percentage of emails that didn’t bounce out of total emails sent.
bounced
Number of emails that bounced.
bounced_rate
Percentage of emails that bounced out of total emails sent.
contacted_by_email
Number of recipients that received at least one email that didn’t bounce.
email_opens
Number of recipients who opened your email at least once.
email_opens_rate
Percentage of recipients who opened your email at least once out of all recipients contacted.
link_clicks
Number of recipients who clicked on at least one link in your campaigns.
link_clicks_rate
Percentage of recipients who clicked on at least one link in campaigns out of all recipients contacted.
email_replies
Number of recipients who replied at least once.
email_replies_rate
Percentage of recipients who replied at least once out of all recipients contacted.
unsubscribed
Number of recipients who clicked the Unsubscribe link in your campaigns, opting out of receiving further emails.
unsubscribed_rate
Percentage of recipients who clicked the Unsubscribe link in your campaigns out of all recipients contacted.
auto_replied
Number of recipients who auto-replied to your campaign emails.
auto_replied_rate
Percentage of recipients who auto-replied out of all recipients contacted.
contacted_by_linkedin
Number of recipients to whom you sent at least one message or connection request on LinkedIn.
linkedin_total_replies
Number of recipients who replied at least once to any of the messages sent on LinkedIn (LinkedIn messages, connection request messages and InMail).
linkedin_total_replies_rate
Percentage of recipients who replied at least once to any of the messages sent on LinkedIn (LinkedIn messages, connection request messages and InMail).
connection_request_replies
Number of recipients who replied to a connection request message.
connection_request_replies_rate
Percentage of recipients who replied to a connection request message out of all recipients contacted.
message_replies
Number of recipients who replied to a regular LinkedIn message.
message_replies_rate
Percentage of recipients who replied to a regular LinkedIn message out of all recipients contacted.
connection_requests
Number of connection requests sent to prospects via Snov.io campaigns.
accepted_requests
Number of connection requests that were accepted by LinkedIn members.
accepted_requests_rate
Percentage of connection requests that were accepted out of all requests sent.
failed_connection_requests
Number of LinkedIn connection requests that were not sent because:
  • prospect's LinkedIn URL doesn't exist
  • you already sent them a connection request before and it's pending
  • you’re already connected with the prospect
messages_sent
Number of LinkedIn messages sent.
linkedin_views
Number of prospect profiles viewed.
linkedin_likes
Number of prospect posts liked on LinkedIn.
linkedin_follows
Number of prospect profiles followed.

GETView campaign progress

Gratis

This method returns the campaign progress and status.

Solicitud
GEThttps://api.snov.io/v2/campaigns/[campaign_id]/progress
Parámetros de entrada
campaign_id
*Requerido
Campaign ID. You can find it in the URL when you view the campaign info (example).
Ejemplos de código

<?php

function getCampaignProgress()

{

   $token = getAccessToken();

   $campaignId = 1;

   $params = [

       'access_token' => $token,

   ];

   $params = http_build_query($params);

   $options = [

       CURLOPT_URL => "https://api.snov.io/v2/campaigns/$campaignId/progress?" . $params,

       CURLOPT_RETURNTRANSFER => true,

       CURLOPT_FOLLOWLOCATION => true

   ];

   $ch = curl_init();

   curl_setopt_array($ch, $options);

   $res = json_decode(curl_exec($ch), true);

   curl_close($ch);

   return $res;

}

?>

def get_campaign_progress():

   token = get_access_token()

   campaign_id = 1

   params = {

       'access_token': token,

   }

   res = requests.get(f"https://api.snov.io/v2/campaigns/{campaign_id}/progress", params=params)

   return json.loads(res.text)

Ejemplo de respuesta
{
    "status":"Active",
    "unfinished":1,
    "progress":"90%"
}
Parámetros de salida
progress
Percentage of recipients who:
  • Reached the end of the sequence
  • Bounced, replied, auto-replied, unsubscribed, were deleted, or moved from the campaign, so the campaign was stopped for them.
unfinished
Number of recipients in the campaign who didn’t reach the end of the sequence or for whom the sequence wasn’t stopped.
status
Campaign status. Learn more

POSTCambia el estado del destinatario

Gratis

Cambiar el estado de un destinatario en una campaña específica.

Solicitud
POSThttps://api.snov.io/v1/change-recipient-status
Parámetros de entrada
email
*Requerido
La dirección de correo electrónico del prospecto.
campaign_id
*Requerido
El identificador de la campaña. Puedes encontrarlo en la URL cuando veas la información de la campaña (mostrar un ejemplo).
status
*Requerido
Puede contener Activo, Pausado o No suscrito. No puedes cambiar el estado de los destinatarios si su estado es Finalizado o Movido.
Ejemplos de código
<?php
function changeRecipientStatus()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'email'       => 'gavin.vanrooyen@octagon.com',
        'campaign_id'    => '179025',
        'status'     => 'Paused'
    ];


    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/change-recipient-status',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def change_recipient_status():
token = get_access_token()
params = {'access_token':token,
          'email':'gavin.vanrooyen@octagon.com',
          'campaign_id': '179025',
          'status':'Paused'
}

res = requests.post('https://api.snov.io/v1/change-recipient-status', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
  "success": true
}
Parámetros de salida

El método devuelve success: true si el estado del prospecto ha sido cambiado con éxito. Si se produce algún error, el método devolverá success: false con una descripción del error.

GETVer lista de prospectos completados

Gratis

Este método devuelve los prospectos para los que se ha completado la campaña.

Solicitud
GEThttps://api.snov.io/v1/prospect-finished
Parámetros de entrada
campaignId
*Requerido
El identificador único de la campaña para recuperar la lista de prospectos.
Ejemplos de código
<?php
function finishedProspects()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/prospect-finished?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/prospect-finished', data=params)

return json.loads(res.text)
Ejemplo de respuesta
[
    {
        "id": "88c268d404797d1001b4d72806207625",
        "prospectId": "9c2eb5b46bb5873e408684dd577d002354e4f7026f47bf8a592d659bba3d2dd0ff186b90dc7a5",
        "userName": "zach Jones",
        "userEmail": "zach@entselect.us",
        "campaign": "Zipari - Salesforce Developer",
        "hash": "f3967971cbab6e769b5f7e3457d00159"
    }
]
Parámetros de salida
id
Identificador único de la solicitud.
prospectId
Identificador único del prospecto.
userName
Nombre completo del prospecto.
userEmail
Dirección de email del prospecto.
campaign
Nombre de la campaña.

GETVer las respuestas de la campaña

Gratis

Este método devuelve las respuestas de la campaña con toda la información, incluyendo el nombre del prospecto, el ID, la campaña, etc.

Solicitud
GEThttps://api.snov.io/v1/get-emails-replies
Parámetros de entrada
campaignId
*Requerido
Identificador único de la campaña de la que quieres ver las respuestas.
offset
Puedes recopilar hasta 10.000 respuestas por cada solicitud. Si tu campaña tiene más respuestas, utiliza el desplazamiento para indicar cuántas respuestas anteriores deseas omitir. Por ejemplo, si tu campaña tiene 20.000 respuestas y deseas solicitar respuestas 10.001-20.000, configura el desplazamiento como 10.000. Si el desplazamiento no se especifica, recibirás las últimas 10.000 respuestas recibidas.
Ejemplos de código
<?php
function campaignReplies()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-replies?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/get-emails-replies', data=params)

return json.loads(res.text)
Ejemplo de respuesta
[
    {
        "visitedAt": {
            "date": "2020-07-14 13:10:46.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "campaignId": 1234567,
        "campaign": "My top campaign",
        "prospectId": "7a941739b09f1187532d52a684df545f3a223e432c7f53662264db8d33db80ee5fc19e573416a",
        "prospectFirstName": "John",
        "prospectLastName": "Doe",
        "prospectName": "John Doe",
        "sourcePage": null,
        "source": "copy",
        "locality": null,
        "industry": "Airlines/Aviation",
        "country": null,
        "prospectEmail": "Johndoe@snov.io",
        "hash": "6745f8162ecadbe325693345d1a53976",
        "emailSubject": "\"Special content for you\"",
        "emailBody": "\"<\p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.<\/p>\"",
        "skills": "",
        "links": null,
        "customFields": null,
        "id": "f676edc5de58f341dc7bf4e75c0c8580",
        "customField_fdfd": "",
        "customField_рпа": ""
    }
]
Parámetros de salida
campaignId
Identificador único de la campaña.
campaign
Nombre de la campaña.
prospectName
Nombre completo del prospecto.
emailSubject
Línea de asunto del correo electrónico que recibió una respuesta.
emailBody
Contenido del correo electrónico que ha recibido respuesta.

GETObtén información sobre la apertura de la campaña

Gratis

Este método muestra la información sobre los correos electrónicos abiertos en la campaña.

Solicitud
GEThttps://api.snov.io/v1/get-emails-opened
Parámetros de entrada
campaignId
*Requerido
Identificador único de la campaña de la que deseas ver información sobre las aperturas de los correos electrónicos.
offset
Puedes recopilar hasta 10.000 aperturas por cada solicitud. Si tu campaña tiene más correos electrónicos abiertos, usa el desplazamiento para indicar cuántas aperturas anteriores deseas omitir. Por ejemplo, si tu campaña tiene 20.000 aperturas y quieres solicitar las aperturas 10.001-20.000, configura el desplazamiento como 10.000. Si el desplazamiento no está especificado, recibirás los últimos 10.000 correos electrónicos abiertos.
Ejemplos de código
<?php
function emailsOpen()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-opened?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/get-emails-opened', data=params)

return json.loads(res.text)
Ejemplo de respuesta
[
    {
        "visitedAt": {
            "date": "2020-01-08 21:48:14.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "campaignId": 1234567
        "campaign": "My top campaign",
        "prospectId": "a9e58c3eecff94e617815a90ca412c4c305045102be1312b41fd0073c9c9f3eee30e090bbc3e3",
        "prospectFirstName": "John",
        "prospectLastName": "Doe",
        "prospectName": "John Doe",
        "sourcePage": null,
        "source": "copy",
        "locality": null,
        "industry": null,
        "country": null,
        "prospectEmail": "Johndoe@snov.io",
        "hash": "20b1aeb0e2949fdf7e58363f84b7aff1",
        "emailSubject": "\"Special content for you\"",
        "emailBody": "\"<\p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.<\/p>\"",
	"skills": "",
        "links": null,
        "customFields": null,
        "id": "c2a67a47d59745f548ea7b0213c3a81d",
        "customField_Phone": ""
    }
]
Parámetros de salida
campaignId
Identificador único de la campaña.
campaign
Nombre de la campaña.
prospectName
Nombre completo del prospecto que abrió un email.
emailSubject
Línea de asunto del correo electrónico que se abrió.
visitedAt
Hora exacta en que el prospecto abrió el correo electrónico.

GETComprobar los clics del link

Gratis

Este método devuelve información sobre todos los destinatarios de la campaña que han hecho clic en un link en uno de los correos electrónicos de la campaña.

Solicitud
GEThttps://api.snov.io/v1/get-emails-clicked
Parámetros de entrada
campaignId
*Requerido
Identificador único de la campaña para la que desea ver los clics de los links.
offset
Puedes recopilar hasta 10.000 clics por cada solicitud. Si tu campaña tiene más clics, utiliza el desplazamiento para indicar cuántos clics anteriores quieres omitir. Por ejemplo, si tu campaña tiene 20.000 clics y deseas solicitar los clics del 10.001 al 20.000, establece el desplazamiento en 10.000. Si el desplazamiento no se especifica, recibirás los últimos 10.000 correos electrónicos que hicieron clic en un enlace dentro de la campaña.
Ejemplos de código
<?php
function emailsClicked()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-clicked?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/get-emails-clicked', data=params)

return json.loads(res.text)
Ejemplo de respuesta
[
    {
        "visitedAt": {
            "date": "2020-01-08 21:48:14.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "campaignId": 1234567
        "campaign": "My top campaign",
        "prospectId": "a9e58c3eecff94e617815a90ca412c4c305045102be1312b41fd0073c9c9f3eee30e090bbc3e3",
        "prospectFirstName": "John",
        "prospectLastName": "Doe",
        "prospectName": "John Doe",
        "sourcePage": null,
        "source": "copy",
        "locality": null,
        "industry": null,
        "country": null,
        "prospectEmail": "Johndoe@snov.io",
        "hash": "20b1aeb0e2949fdf7e58363f84b7aff1",
        "emailSubject": "\"Special content for you\"",
        "emailBody": "\"<\p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.<\/p>\"",
	"skills": "",
        "links": null,
        "customFields": null,
        "id": "c2a67a47d59745f548ea7b0213c3a81d",
        "customField_Phone": ""
    }
]
Parámetros de salida
campaignId
Identificador único de la campaña.
campaign
Nombre de la campaña.
prospectName
Nombre completo del prospeccto que hizo clic en un link de un correo electrónico de la campaña.
prospectEmail
Dirección de email del prospecto.
emailSubject
Línea de asunto del correo electrónico que contenía un link cliqueado.
emailBody
Contenidos del correo electrónico.
visitedAt
La hora exacta en que el prospecto hizo clic en un link del correo electrónico.

GETVer correos electrónicos enviados

Gratis

Este método muestra la información sobre los correos electrónicos enviados en la campaña.

Solicitud
GEThttps://api.snov.io/v1/emails-sent
Parámetros de entrada
campaignId
*Requerido
Identificador único de la campaña para la que deseas ver los correos electrónicos enviados.
offset
Puedes recopilar hasta 10.000 correos electrónicos enviados por cada solicitud. Si tu campaña envió más correos electrónicos, utiliza el desplazamiento para indicar cuántos correos electrónicos anteriores quieres omitir. Por ejemplo, si tu campaña ha enviado 20.000 correos electrónicos y deseas solicitar los correos electrónicos del 10.001 al 20.000, establece el desplazamiento en 10.000. Si el desplazamiento no se especifica, recibirás los últimos 10.000 correos electrónicos que se enviaron dentro de la campaña.
Ejemplos de código
<?php
function emailsSended()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/emails-sent?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/emails-sent', data=params)

return json.loads(res.text)
Ejemplo de respuesta
[
    {
        "sentDate": {
            "date": "2020-07-06 06:58:10.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "userName": "John Doe",
        "userEmail": "johndoe@snov.io",
        "campaign": "Test",
        "hash": "be8fd412b793c15ccab9f1a6573d6595",
        "id": "010f091d81860753a19867ba1dd805d1"
    },
    {
        "sentDate": {
            "date": "2020-07-06 06:56:44.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "userName": "Mister Smith",
        "userEmail": "mistersmith@snov.io",
        "campaign": "Test",
        "hash": "55bb20def471e630c539935cb0efcbf8",
        "id": "00e3df8427477a21d64bbe959ff95471"
    }
]
Parámetros de salida
sentDate
Hora exacta en que se envió el correo electrónico.
userName
Nombre completo del prospecto al que se envió el correo electrónico.
userEmail
Dirección de email del prospecto.
campaign
Nombre de la campaña.

GETVer todas las campañas

Gratis

Este método muestra la lista de todas las campañas de los usuarios.

Solicitud
GEThttps://api.snov.io/v1/get-user-campaigns
Parámetros de entrada
No hay parámetros de entrada para este método
Ejemplos de código
<?php
function userCampaigns()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-user-campaigns?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()

headers = {'Authorization': token}

url = 'https://api.snov.io/v1/get-user-campaigns'

response = requests.request('GET', url, headers=headers)

return json.loads(res.text)
Ejemplo de respuesta
[
    {
        "id": 237945,
        "campaign": "New Campaign",
        "list_id": 8512947,
        "status": "Paused",
        "created_at": 1639469976,
        "updated_at": 1639470026,
        "started_at": 1639470021,
        "hash": "e272be8f9a6894f5b5894fe2ef77095e"
    },
    {
        "id": 237956,
        "campaign": "Test campaign",
        "list_id": 7654321,
        "status": "Draft",
        "created_at": 1638808262,
        "updated_at": 1638808262,
        "started_at": null,
        "hash": "f97fce248b77e9a1ae770b21c7bd783d"
    }
]
Parámetros de salida
id
Identificador único de la campaña del usuario.
campaign
Nombre de la campaña.
list_id
Identificador único de la lista de prospectos utilizada en la campaña.
status
Estado de la campaña.
created_at
Fecha y hora de creación de la campaña en el formato de Unix Timestamp.
updated_at
Fecha y hora de la última actualización de la campaña en formato Unix Timestamp.
started_at
Fecha y hora de lanzamiento de la campaña en el formato de Unix Timestamp.

POSTAñadir a la lista de No enviar email

Gratis

Utilizando este método puedes añadir un correo electrónico o un dominio a tu Lista de no enviar email. Una vez que este correo electrónico/dominio se haya añadido a la lista, no podrás enviarle correos electrónicos.

Solicitud
POSThttps://api.snov.io/v1/do-not-email-list
Parámetros de entrada
items
Correo electrónico o dominio que deseas añadir a tu lista de No enviar email.
listId
*Requerido
El identificador de la Lista de No enviar emails al que pertenecen los emails y los dominios.
Ejemplos de código
<?php
function addToBlackList()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token
    ];

    $data = http_build_query([
      'items' => [
          'gavin.vanrooyen@octagon.com',
          'octagon.com'
      ]
  ]);

    $options = [
        CURLOPT_URL => 'https://api.snov.io/v1/do-not-email-list?'. $data,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $params,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);
}
?>
def do_not_email_list():
    token = get_access_token()
    params = {
        'access_token':token,
        'items[]':['gavin.vanrooyen@octagon.com','octagon.com']
    }

    res = requests.post('https://api.snov.io/v1/do-not-email-list', data=params)

    return json.loads(res.text)
Ejemplo de respuesta
[
    {
        "success": true,
        "data": {
            "duplicates": []
        }
    }
]
Parámetros de salida
duplicates
Este parámetro muestra qué correos electrónicos/dominios han sido añadidos previamente a la lista de No enviar email.

POSTAñade el prospecto a la lista

Gratis

Agregar un prospecto a una lista específica. Este método será útil para aquellos que quieran automatizar la adición de prospectos a las listas con campañas activas por email. De esta manera, después de que un prospecto se agregue automáticamente a una lista elegida, se iniciará automáticamente una campaña para ellos.

Solicitud
POSThttps://api.snov.io/v1/add-prospect-to-list
Parámetros de entrada
email
*Requerido
La dirección de correo electrónico del prospecto.
fullName
El nombre completo del prospecto.
firstName
El nombre del prospecto.
lastName
El apellido del prospecto.
phones
Arreglo con números de teléfono de prospectos.
country
El país del prospecto. Los nombres de los países se definen aquí. Por favor, utiliza solo los países de esta lista.
locality
La ubicación del prospecto.
position
El cargo del prospecto.
companyName
El nombre de la empresa del prospecto.
companySite
La página web de la empresa del prospecto. Por favor, utiliza el
http://example.com
formato.
updateContact
Actualiza un prospecto existente. Puede contener
true
, o
false
. Si
true
y un prospecto con esta dirección de correo electrónico ya existe en una de las listas, el sistema actualizará el perfil existente. Si
false
, el sistema no actualizará el perfil existente.
customFields[specialization]
Puede añadir valores personalizados en campos personalizados previamente creados. Para ello, especifica el nombre del campo personalizado entre los [brackets].
socialLinks[linkedIn]
Un enlace al perfil de redes sociales del prospecto. Especifica el nombre de la red social entre [corchetes] (LinkedIn, Facebook o X).
listId
*Requerido
El identificador de la lista a la que pertenece el prospecto.
Ejemplos de código
<?php
function addProspectToList()
{
    $token = getAccessToken();

    $params = [
        'access_token'                => $token,
        'email'                       => 'john.doe@example.com',
        'fullName'                    => 'John Doe',
        'firstName'                   => 'John',
        'lastName'                    => 'Doe',
        'phones'                      => ['+18882073333', '+18882074444'],
        'country'                     => 'United States',
        'locality'                    => 'Woodbridge, New Jersey',
        'socialLinks[linkedIn]'       => 'https://www.linkedin.com/in/johndoe/&social',
        'social[twiiter]'             => 'https://twitter.com/johndoe&social',
        'customFields[specialization]'=> 'Software Engineering',
        'position'                    => 'Vice President of Sales',
        'companyName'                 => 'GoldenRule',
        'companySite'                 => 'https://goldenrule.com',
        'updateContact'               => true,
        'listId'                      => '12345',
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/add-prospect-to-list',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);
    
    return $res;

}
?>
def add_prospect_to_list():
token = get_access_token()
params = {'access_token':token,
          'email':'john.doe@example.com',
          'fullName': 'John Doe',
          'firstName':'John',
          'lastName':'Doe',
          'phones':['+18882073333', '+18882074444'],
          'country':'United States',
          'locality':'Woodbridge, New Jersey',
          'socialLinks[linkedIn]':'https://www.linkedin.com/in/johndoe/&social',
          'social[twiiter]':'https://twitter.com/johndoe&social',
          'customFields[specialization]':'Software Engineering',
          'position':'Vice President of Sales',
          'companyName':'GoldenRule',
          'companySite':'https://goldenrule.com',
          'updateContact':1,
          'listId':'12345'
}

res = requests.post('https://api.snov.io/v1/add-prospect-to-list', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
    "success": true,
    "id": "0Y2QzowWL1rHpIptwaRp0Q==",
    "added": true,
    "updated": false
}
Parámetros de salida
success
Es
true
si el prospecto se ha añadido con éxito a la lista.
id
Se ha añadido el identificador de los prospectos.
added
Es
true
si el prospecto se ha añadido a la lista.
updated
Es
true
si se han actualizado los datos del prospecto existente.
errors
Ha habido un error al añadir el prospecto a la lista.

POSTEncuentra el prospect por el ID

Gratis

Encuentra prospectos de tus listas por id. Conociendo el id de un prospecto específico puedes obtener información completa sobre el mismo, incluyendo las listas y campañas a las que ha sido añadido.

Solicitud
POSThttps://api.snov.io/v1/get-prospect-by-id
Parámetros de entrada
id
*Requerido
El identificador del prospecto. Se puede ver en la respuesta cuando se añade un prospecto a través de Añade el prospecto a la lista método API o en la URL al ver la página del prospecto (ver un ejemplo).
Ejemplos de código
<?php
function getProspectById()
{
    $token = getAccessToken();

    $params = [
        'access_token'    => $token,
        'id'           => 'xusD3-T_K5IktGoaa8Jc8A=='
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-prospect-by-id',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);
    
    return $res;

}
?>
def getProspectById():
token = get_access_token()
params = {'access_token':token,
        'id':'xusD3-T_K5IktGoaa8Jc8A=='
}

res = requests.post('https://api.snov.io/v1/get-prospect-by-id', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
  "success": true,
  "data": {
    "id": "xusD3-T_K5IktGoaa8Jc8A==",
    "name": "Gavin Vanrooyen",
    "firstName": "Gavin",
    "lastName": "Vanrooyen",
    "industry": "Entertainment",
    "country": "United States",
    "locality": "Greater Atlanta Area",
    "social": [
      {
        "link": "https:\/\/www.linkedin.com\/in\/gavin-vanrooyen-8090738\/",
        "type": "linkedIn"
      }
    ],
    "lastUpdateDate": {
      "date": "2019-09-11 12:37:58.000000",
      "timezone_type": 3,
      "timezone": "UTC"
    },
    "currentJob": [
      {
        "companyName": "Octagon",
        "position": "Senior Brand Director",
        "socialLink": "https:\/\/www.linkedin.com\/company\/659312",
        "site": "http:\/\/octagon.com",
        "locality": "United States",
        "state": null,
        "city": null,
        "street": null,
        "street2": null,
        "postal": null,
        "founded": null,
        "startDate": "2018-07-31",
        "endDate": null,
        "size": "1-10",
        "industry": "Entertainment",
        "companyType": "Public Company",
        "country": "United States"
      }
    ],
    "previousJob": [
      {
        "companyName": "UPS",
        "position": "Manager, Sponsorships and Events",
        "socialLink": "https:\/\/www.linkedin.com\/company\/152322",
        "site": "http:\/\/www.ups.com\/",
        "locality": "United States",
        "state": "GA",
        "city": "Atlanta",
        "street": "55 Glenlake Parkway, NE",
        "street2": null,
        "postal": "30328",
        "founded": "1907",
        "startDate": null,
        "endDate": null,
        "size": "10001+",
        "industry": "Logistics and Supply Chain",
        "companyType": "Public Company",
        "country": "United States"
      }
    ],
    "lists": [
      {
        "id": 1250344,
        "name": "People List"
      }
    ],
    "campaigns": []
  }
}
Parámetros de salida
success
Es
true
si se encuentra el prospecto
id
Identificador único del perfil
name
Nombre completo del prospecto
firstName
Primer nombre del prospecto
lastName
Apellido del prospecto
industry
Sector de actividad indicado en el perfil del prospecto
country
País de prospecto
locality
Ubicación de prospecto
social
Enlaces a los perfiles sociales de los prospectos
currentJobs
La matriz contiene información sobre el puesto de trabajo actual de prospecto
previousJobs
La matriz contiene información sobre los cargos anteriores del prospecto
lastUpdateDate
Fecha de la última actualización del perfil
lists
Listas a las que se ha añadido el prospecto
campaigns
Lista de campañas a las que se ha añadido este prospecto como destinatario. Contiene breves estadísticas como el estado, el número de mensajes enviados, las aperturas y las respuestas.

POSTEncuentra el prospecto por el email

Gratis

Encuentra prospectos de sus listas por dirección de correo electrónico. Cuando buscas por correo electrónico, recibes una lista de todos los prospectos vinculados a esta dirección de correo electrónico. Cada elemento de la lista contiene información completa sobre el prospecto, incluyendo las listas y las campañas a las que ha sido añadido.

Solicitud
POSThttps://api.snov.io/v1/get-prospects-by-email
Parámetros de entrada
email
*Requerido
La dirección de correo electrónico del prospecto.
Ejemplos de código
<?php
function getProspectsByEmail()
{
    $token = getAccessToken();

    $params = [
        'access_token'    => $token,
        'email'           => 'gavin.vanrooyen@octagon.com'
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-prospects-by-email',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);
    
    return $res;

}
?>
def getProspectsByEmail():
token = get_access_token()
params = {'access_token':token,
        'email':'gavin.vanrooyen@octagon.com'
}

res = requests.post('https://api.snov.io/v1/get-prospects-by-email', data=params)

return json.loads(res.text)
Ejemplo de respuesta
{
  "success": true,
  "data": [
    {
      "id": "xusD3-T_K5IktGoaa8Jc8A==",
      "name": "Gavin Vanrooyen",
      "firstName": "Gavin",
      "lastName": "Vanrooyen",
      "industry": "Entertainment",
      "country": "United States",
      "locality": "Greater Atlanta Area",
      "social": [
        {
          "link": "https:\/\/www.linkedin.com\/in\/gavin-vanrooyen-809073755\/",
          "type": "linkedIn"
        }
      ],
      "lastUpdateDate": {
        "date": "2019-09-11 12:37:58.000000",
        "timezone_type": 3,
        "timezone": "UTC"
      },
      "currentJob": [
        {
          "companyName": "Octagon",
          "position": "Senior Brand Director",
          "socialLink": "https:\/\/www.linkedin.com\/company\/659333",
          "site": "http:\/\/octagon.com",
          "locality": "United States",
          "state": null,
          "city": null,
          "street": null,
          "street2": null,
          "postal": null,
          "founded": null,
          "startDate": "2018-07-31",
          "endDate": null,
          "size": "1-10",
          "industry": "Entertainment",
          "companyType": "Public Company",
          "country": "United States"
        }
      ],
      "previousJob": [
        {
          "companyName": "UPS",
          "position": "Manager, Sponsorships and Events",
          "socialLink": "https:\/\/www.linkedin.com\/company\/1523574",
          "site": "http:\/\/www.ups.com\/",
          "locality": "United States",
          "state": "GA",
          "city": "Atlanta",
          "street": "55 Glenlake Parkway, NE",
          "street2": null,
          "postal": "30328",
          "founded": "1907",
          "startDate": null,
          "endDate": null,
          "size": "10001+",
          "industry": "Logistics and Supply Chain",
          "companyType": "Public Company",
          "country": "United States"
        }
      ],
      "lists": [
        {
          "id": 1250344,
          "name": "People List"
        }
      ],
      "campaigns": []
    }
  ]
}
Parámetros de salida
success
Es
true
si se encuentra el prospecto
id
Identificador único del perfil
name
Nombre completo del prospecto
firstName
Nombre del prospecto
lastName
Apellido del prospecto
industry
Sector de actividad indicado en el perfil del prospecto
country
País del prospecto
locality
Ubicación del prospecto
social
Enlaces a los perfiles sociales de los prospectos
currentJobs
La matriz contiene información sobre el cargo actual del cliente potencial
previousJobs
La matriz contiene información sobre los títulos de trabajo anteriores del cliente potencial
lastUpdateDate
Fecha de la última actualización del perfil
lists
Listas a las que se ha añadido el prospecto
campaigns
Lista de campañas a las que se ha añadido este prospecto como destinatario. Contiene breves estadísticas como el estado, el número de mensajes enviados, las aperturas y las respuestas.

GETEncuentra los campos personalizados del prospecto

Gratis

Este método devuelve una lista de todos los campos personalizados creados por el usuario, incluyendo el nombre de los campos, si el campo es opcional u obligatorio, y el tipo de datos del campo.

Solicitud
GEThttps://api.snov.io/v1/prospect-custom-fields
Parámetros de entrada
No hay parámetros de entrada para este método
Ejemplos de código
<?php
function customFields()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/prospect-custom-fields?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def custom_fields():
token = get_access_token()
params = {'access_token':token
}

res = requests.get('https://api.snov.io/v1/prospect-custom-fields', data=params)

return json.loads(res.text)
Ejemplo de respuesta
  [
    {
        "key": "customFields['company']",
        "label": "company",
        "required": false,
        "type": "string"
    },
    {
        "key": "customFields['Project name']",
        "label": "Project name",
        "required": false,
        "type": "string"
    },
    {
        "key": "customFields['SEO']",
        "label": "SEO",
        "required": false,
        "type": "string"
    }
  ]
Parámetros de salida
key
La clave del campo en la matriz
customFields
.
label
El nombre del campo.
required
Es
true
si el campo personalizado es obligatorio.
type
El tipo de datos del campo personalizado (cadena, número o fecha).

GETVer listas de usuarios

Gratis

Este método devuelve todas las listas creadas por el usuario. Puedes utilizar este método para revisar las listas que se pueden utilizar para una campaña por email.

Solicitud
GEThttps://api.snov.io/v1/get-user-lists
Parámetros de entrada
No hay parámetros de entrada para este método
Ejemplos de código
<?php
function getUserLists()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-user-lists?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token
}

res = requests.get('https://api.snov.io/v1/get-user-lists', data=params)

return json.loads(res.text)
Ejemplo de respuesta
[
    {
        "id": 1818597,
        "name": "FirstSend",
        "contacts": 1,
        "isDeleted": false,
        "creationDate": {
            "date": "2020-04-07 08:25:44.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "deletionDate": null
    },
    {
        "id": 1505383,
        "name": "All prospects",
        "contacts": 10,
        "isDeleted": true,
        "creationDate": {
            "date": "2019-12-17 15:07:30.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "deletionDate": {
            "date": "2020-02-17 14:05:44.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        }
    },
    {
        "id": 1479070,
        "name": "EMAIL",
        "contacts": 13,
        "isDeleted": true,
        "creationDate": {
            "date": "2019-12-06 10:51:01.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "deletionDate": {
            "date": "2020-02-17 14:05:48.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        }
    }
]

Parámetros de salida
id
Identificador único de la lista de usuarios.
name
Nombre de la lista
contacts
El número de prospectos en la lista.
isDeleted
Estado de la lista. Es
true
si la lista ha sido borrada.
creationDate
La fecha y la hora de creación de la lista (incluye información sobre la fecha, la hora y la zona horaria).
deleteDate
Si la lista se ha eliminado, contiene la fecha y la hora de la supresión de la lista (incluye información sobre la fecha, la hora y la zona horaria).

POSTVer prospectos en la lista

Gratis

Este método devuelve todos los datos de los prospectos en una lista específica, incluyendo los datos del prospecto como las direcciones de correo electrónico y su estado.

Solicitud
POSThttps://api.snov.io/v1/prospect-list
Parámetros de entrada
listId
*Requerido
El identificador único de la lista.
page
Puedes elegir en qué página de la lista quieres empezar tu búsqueda. Este campo es opcional.
perPage
Puedes elegir en qué página de la lista quieres terminar tu búsqueda. Este campo es opcional. El valor máximo es 100.
Ejemplos de código
<?php
function prospectsInList()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'listId'       => '1234567',
        'page'         => '1',
        'perPage'      => '2'
    ];

    $options = [
        CURLOPT_URL            => ' https://api.snov.io/v1/prospect-list',
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def prospect_in_list():
token = get_access_token()
params = {'access_token':token,
        'listId':'1234567',
        'page':'1',
        'perPage':'2'
}

res = requests.post('https://api.snov.io/v1/prospect-list', params=params)

return json.loads(res.text)
Ejemplo de respuesta

Ten en cuenta que los resultados de los prospectos se muestran en orden inverso, del último al primero.

{
    "success": true,
    "list": {
        "name": "Lead LIST",
        "contacts": 3,
        "creationDate": {
            "date": "2020-05-19 17:34:39.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "emailsCount": []
    },
    "prospects": [
        {
            "id": "226db935fc93422496fda5d5209e8cbf77cc77ec685891706028009b86608f7ce5877a3faf",
            "name": "Andrew Garfiled",
            "firstName": "Andrew",
            "lastName": "Garfiled",
            "emails": [
                {
                    "email": "andrewexp@exp.com",
                    "probability": 99,
                    "isVerified": null,
                    "jobStatus": "any",
                    "domainType": "linkedin_email",
                    "isValidFormat": null,
                    "isDisposable": null,
                    "isWebmail": null,
                    "isGibberish": null,
                    "smtpStatus": null
                }
            ]
        },
        {
            "id": "f20d30219b039d1408d837a748a1e2ab843c97e65080f6cf8fa7d948477d9093d87413f05f",
            "name": "John Doe",
            "firstName": "John",
            "lastName": "Doe",
            "emails": [
                {
                    "email": "johndoe@gmail.com",
                    "probability": 99,
                    "isVerified": null,
                    "jobStatus": "any",
                    "domainType": "linkedin_email",
                    "isValidFormat": true,
                    "isDisposable": false,
                    "isWebmail": true,
                    "isGibberish": false,
                    "smtpStatus": 3
                }
            ]
        }
    ]
}

Parámetros de salida
list
Una matriz con información sobre la lista y los prospectos en ella.
name
El nombre de la lista.
contacts
El número de prospectos en la lista.
creation_date
La fecha de creación de la lista (incluye la fecha, la hora y la información de la zona horaria).
emailsCount
El número de correos electrónicos de la lista.
prospects
Una lista de prospectos en la lista.
id
Un identificador único del prospecto.
name
El nombre completo de un prospecto.
emails
Una lista de correos electrónicos pertenecientes al prospecto.

POSTCrear una nueva lista de prospectos

Gratis

Utiliza este método para crear nuevas listas de prospectos en tu cuenta.

Solicitud
POSThttps://api.snov.io/v1/lists
Parámetros de entrada
name
El nombre de la nueva lista de prospectos.
Ejemplos de código
<?php
function createNewList()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'name' => 'New list'
    ];

    $options = [
        CURLOPT_URL => 'https://api.snov.io/v1/lists',
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);
}
?>
def add_prospect_list():
    token = get_access_token()
    params = {
        'access_token':token,
        'name':'New list'
    }

    res = requests.post('https://api.snov.io/v1/lists', data=params)

    return json.loads(res.text)
Ejemplo de respuesta
[
    {
        "success": true,
        "data": {
            "id": 1234567
        }
    }
]
Parámetros de salida
id
El ID de la lista de prospectos creada.

GETConsulta el saldo del usuario

Gratis

Utiliza este método para comprobar tu saldo de crédito.

Solicitud
GEThttps://api.snov.io/v1/get-balance
Parámetros de entrada
No hay parámetros de entrada para este método
Ejemplos de código
<?php
function getBalance()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-balance?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def get_balance():
token = get_access_token()
headers = {'authorization':token
}

res = requests.get('https://api.snov.io/v1/get-balance', headers=headers)

return json.loads(res.text)
Ejemplo de respuesta
{
    "success": true,
    "data": {
        "balance": "25000.00",
        "teamwork": false,
        "unique_recipients_used": 0,
        "limit_resets_in": 29,
        "expires_in": 359
    }
}

Parámetros de salida
balance
Saldo actual del usuario en créditos.
teamwork
Es verdadero si actualmente es miembro o líder de un equipo, falso si no forma parte de un equipo.
recipients_used
Número de destinatarios únicos utilizados este mes.
limit_resets_in
Días hasta el reinicio del límite.
expires_in
Días hasta el final de la suscripción.

Webhooks

Descripción

Los webhooks le permiten recibir notificaciones de eventos que sucedieron en su cuenta de Snov.io.

Puede usar webhooks para llamar al punto final (URL) en su servidor cada vez que ocurre un evento suscrito en Snov.io y enviar datos en tiempo real a su aplicación.

Cada vez que ocurre un evento, Snov.io envía una solicitud HTTP con un cuerpo JSON al punto final de URL especificado.

Puedes suscribirte y gestionar los webhooks a través de un conjunto de llamadas a la API.

Los objetos y acciones de webhook admitidos actualmente se enumeran a continuación:

Objeto de webhookAccióncuando se activa
campaign_email
sentCuando se envía cualquier email al destinatario en cualquier campaña
first_sentCuando se envía el primer email al destinatario en cualquier campaña
openedCuando un destinatario abre cualquier email de cualquier campaña
campaign_reply
receivedCuando el destinatario responde a cualquier correo electrónico de cualquiera de las campañas
first_receivedCuando el destinatario responde al correo electrónico por primera vez en cualquiera de las campañas

Límites: los usuarios del plan premium pueden crear hasta 50 webhooks.

Política de reintento: el webhook tiene éxito si recibimos un estado HTTP del rango 200-299 en respuesta dentro de los 3 segundos.

Si obtenemos cualquier otro estado HTTP o se produce un tiempo de espera, hacemos siete intentos de reintento con intervalos crecientes hasta 38 horas después del evento que dispararó un webhook:

Si todos los reintentos son infructuosos, el webhook se desactiva.

  • 1º: inmediatamente después del evento
  • 2º: 20 minutos después del último intento (20 minutos después del evento
  • 3º: 40 minutos después del último intento (1 hora después del evento)
  • 4º: 60 minutos después del último intento (2 horas después del evento)
  • 5º: 4 horas después del último intento (6 horas después del evento)
  • 6º: 8 horas después del último intento (14 horas después del evento)
  • 7º: 24 horas después del último intento (38 horas después del evento)

GETListar todos los webhooks

Este método API le permite obtener una lista de webhooks en su cuenta.
Solicitud
GEThttps://api.snov.io/v2/webhooks
Encabezado de solicitud

Content-Type: application/json

Parámetros de entrada
Este método no tiene parámetros de entrada.
Ejemplo de respuesta
{
    "data": [
        {
            "data": {
                "id": 8,
                "end_point": "https://hooks.yourdomain.com/hooks/catch/1237321/awwwcz/",
                "event_object": "campaign_email",
                "event_action": "sent",
                "status": "active",
                "created_at": 1655847444
            }
        },
        {
            "data": {
                "id": 14,
                "end_point": "https://hooks.yourdomain.com/hooks/catch/1237321/abqqqpcz/",
                "event_object": "campaign_email",
                "event_action": "sent",
                "status": "deactivated",
                "created_at": 1655890563
            }
        },
        {
            "data": {
                "id": 17,
                "end_point": "https://hooks.yourdomain.com/hooks/catch/1237321/abwfpcz/",
                "event_object": "campaign_email",
                "event_action": "sent",
                "status": "active",
                "created_at": 1656057947
            }
        }
    ],
    "meta": {
        "webhooks_count": 3,
        "user_id": 1313777
    }
}
Parámetros de salida
La respuesta devuelve una colección de modelos de webhook. Las propiedades del modelo se enumeran a continuación:
ParámetroTipo de datosTipo de datos
data
arrayColección de modelos de webhook
id
intWebhook ID
end_point
stringLa URL real que proporcionó al agregar el webhook y adónde se enviará
event_object
stringEl objeto sobre el que se realiza la acción.
event_action
stringAcción sobre el objeto
created_at
intFecha de creación del webhook en formato Unix Timestamp
status
stringEstado del webhook: activo, desactivado
meta
objectDatos relacionados
webhooks_count
intNúmero total de webhooks en su cuenta (máximo 50)
user_id
intTu identificación de usuario

POSTAgregar webhook

Este método API le permite crear una suscripción de webhook y recibir notificaciones de eventos en la URL del punto final especificado.
Solicitud
POSThttps://api.snov.io/v2/webhooks
Encabezado de solicitud

Content-Type: application/json

Parámetros de entrada
event_object
el objeto en el que se realiza la acción (lista de objetos admitidos)
event_action
la acción realizada sobre el objeto (lista de acciones admitidas)
endpoint_url
la dirección URL donde se envía el webhook
Ejemplo de solicitud
{
  "event_object": "campaign_email",
  "event_action": "sent",
  "endpoint_url": "https://hooks.yourdomain.com/hooks/catch/1237321/abwfpcz/"
}
Ejemplo de respuesta
{
    "data": {
        "id": 17,
        "end_point": "https://hooks.yourdomain.com/hooks/catch/1237321/abwfpcz/",
        "event_object": "campaign_email",
        "event_action": "sent",
        "created_at": 1656057947,
        "status": "active"
    },
    "meta": {
        "user_id": 1313777
    }
}
Parámetros de salida
La respuesta devuelve un modelo del webhook agregado. Las propiedades del modelo se enumeran a continuación:
ParámetroTipo de datosTipo de datos
data
objectdatos de webhook
id
intWebhook ID
end_point
stringLa URL real que proporcionó al agregar el webhook y adónde se enviará
event_object
stringEl objeto sobre el que se realiza la acción.
event_action
stringAcción sobre el objeto
created_at
intFecha de creación del webhook en formato Unix Timestamp
status
stringEstado del webhook: activo, desactivado
meta
objectDatos relacionados
user_id
intTu identificación de usuario

PUTCambiar el estado del webhook

Cambia el estado de una suscripción de webhook elegida.

Incluye el valor de "id" único del webhook elegido al final de la dirección URL de la solicitud.

Utiliza el método "Lista de todos los webhooks" para obtener los valores de identificación de tus webhooks.

Solicitud
PUThttps://api.snov.io/v2/webhooks/webhook_id
Encabezado de solicitud

Content-Type: application/json

Parámetros de entrada
status
Activo o desactivado
Ejemplo de solicitud
{
    https://api.snov.io/v2/webhooks/14
    "status": "deactivated"
}
Ejemplo de respuesta
{
    "data": {
        "id": 14,
        "end_point": "https://hooks.yourdomain.com/hooks/catch/1237321/abqqqpcz/",
        "event_object": "campaign_email",
        "event_action": "sent",
        "created_at": 1655890563,
        "status": "deactivated"
    },
    "meta": {
        "user_id": 1313777
    }
}
Parámetros de salida
La respuesta devuelve un modelo del webhook agregado. Las propiedades del modelo se enumeran a continuación:
ParámetroTipo de datosTipo de datos
data
objectdatos de webhook
id
intWebhook ID
end_point
stringLa URL real que proporcionó al agregar el webhook y adónde se enviará
event_object
stringEl objeto sobre el que se realiza la acción.
event_action
stringAcción sobre el objeto
created_at
intFecha de creación del webhook en formato Unix Timestamp
status
stringEstado del webhook: activo, desactivado
meta
objectDatos relacionados
user_id
intTu identificación de usuario

DELETEEliminar un webhook

Elimina un webhook elegido.

Incluye el valor de "id" único del webhook elegido al final de la dirección URL de la solicitud.

Utiliza el método "Lista de todos los webhooks" para obtener los valores de identificación de tus webhooks.

Solicitud
DELETEhttps://api.snov.io/v2/webhooks/webhook_id
Encabezado de solicitud

Content-Type: application/json

Ejemplo de solicitud
{
    https://api.snov.io/v2/webhooks/8
}
Ejemplo de respuesta
{
    "data": {
        "success": true
    }
}
Parámetros de salida
La respuesta devuelve una colección de modelos de webhook. Las propiedades del modelo se enumeran a continuación:
ParámetroTipo de datosTipo de datos
success
booleanIndica si se elimina el webhook