API da Snov.io

Você pode usar os recursos da Snov.io por meio da nossa API REST simples. Faça a integração com a API da Snov.io para sincronizar seus leads, encontrar e-mails, gerenciar clientes potenciais e muito mais. A taxa de API é limitada a 60 solicitações por minuto.

Usuários do Snov.io com plano gratuito podem testar o recurso de API sem precisar fazer upgrade entrando em contato conosco: suporte@snov.io.

Autenticação

Você precisa gerar um token de acesso para autenticar solicitações futuras. Ao fazer uma solicitação, especifique esse token de acesso no campo Autorização.

Authorization: Bearer QSlHffXmCAILIOHNGXToq4LsP2yX64VQhEBZ7Ei4

Aqui está um exemplo para geração de token.

Solicitação
POSThttps://api.snov.io/v1/oauth/access_token
Parâmetros de entrada
grant_type
Será sempre
client_credentials
client_id
Seu ID está disponível nas configurações da contahttps://app.snov.io/account#/api
client_secret
Sua chave secreta está disponível nas configurações da contahttps://app.snov.io/account#/api
Exemplos 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']
Exemplo de resposta
{
"access_token":"3yUyQZdks0Ej7T2fXzjUWzwlTcO4dWisKkeMpESz",
"token_type":"Bearer",
"expires_in":3600
}
Parâmetros de saída
access_token
Seu novo token de acesso
token_type
Será sempre Bearer
expires_in
Hora de expiração do token (em segundos)

Métodos de API

GETPesquisa de domínios V.2

1 crédito para cada 10 emails/clientes potenciais

Insira um nome de domínio e a Snov.io retornará todos os endereços de email no domínio.

Se houver alguma informação adicional sobre o proprietário do email disponível no banco de dados, nós a adicionaremos também.

Cada resposta retorna até 100 emails. Se não retornar pelo menos um email, você não será cobrado pela solicitação.

Solicitação
GEThttps://api.snov.io/v2/domain-emails-with-info
Parâmetros de entrada
domain
O nome do domínio a partir do qual você deseja localizar os endereços de email. Por exemplo, "snov.io".
type
Pode conter valores diferentes -
all
,
personal
ou
generic
. Um endereço de email genérico é um endereço de email baseado em uma função, por exemplo -contact@snov.io.

Um endereço de email pessoal é o email da pessoa que trabalha na empresa.

limit
Defina o limite para especificar o número de endereços de email a serem retornados. Cada resposta retorna até 100 endereços de email.
lastId
Para coletar mais emails do que o definido no seu parâmetro de entrada Limit, indique na próxima solicitação o ID do último endereço de email coletado da solicitação anterior. Assim, serão ignorados os emails coletados anteriormente.
Observe que lastId é um parâmetro obrigatório.
O valor padrão é
0
.
positions
Use este parâmetro para filtrar clientes potenciais por cargo. Por exemplo, "desenvolvedor de software". Para filtrar por vários cargos, insira uma matriz de cargos obrigatórios.
Exemplos 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)
Exemplo de resposta
{
  "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 saída
domain
O nome de domínio para o qual a API forneceu os endereços de email.
webmail
É
true
se o domínio que você está pesquisando for um webmail.
result
Um número de endereços de email que encontramos para este domínio. Como não podemos fornecer resultados para domínios de webmail, o resultado do webmail será sempre
0
.
limit
Especifica o número máximo de endereços de email a serem retornados.
companyName
O nome da empresa usado para encontrar os endereços de email.
emails
A série de emails de domínio recuperados na pesquisa.
email
Um endereço de email específico recuperado na pesquisa.
type
Pode conter
prospect
ou
email
valores. Se o tipo retornado for
prospect
, a Snov.io encontrou informações adicionais sobre o proprietário do email.
status
Status de verificação do email. O status pode ser
verified
ou
notVerified
.
firstName
O nome do proprietário do email.
lastName
O sobrenome do proprietário do email.
position
O cargo atual do proprietário do email.
sourcePage
A página de origem dos dados pessoais recuperados.
lastId
o ID do último email coletado da resposta anterior.

POSTContagem de emails

Gratuito

Com este método de API, você pode descobrir o número de endereços de email de um determinado domínio em nosso banco de dados. É totalmente gratuito, então você não precisa de créditos para usá-lo!

Solicitação
POSThttps://api.snov.io/v1/get-domain-emails-count
Parâmetros de entrada
domain
O nome do domínio para o qual você gostaria de saber o número de emails em nosso banco de dados.
Exemplos 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)
Exemplo de resposta
{
"success":true,
"domain":"octagon.com",
"webmail":false,
"result":1369
}
Parâmetros de saída
domain
O nome do domínio para o qual você gostaria de saber o número de emails em nosso banco de dados.
webmail
É
true
se o domínio que você está pesquisando for um webmail.
result
Um número total de endereços de email que encontramos para este domínio. Como não podemos fornecer resultados para domínios de webmail, o resultado do webmail será sempre
0
.

POSTLocalizador de emails

Gratuito

Este método de API localiza endereços de email usando o nome e o sobrenome da pessoa, e um nome de domínio. Se não tivermos esse endereço de email em nosso banco de dados, não poderemos fornecer os resultados imediatamente. Para acelerar o processo, você pode usar o Adicionar nomes para localizar emails método para enviar este endereço de email para pesquisa. Depois disso, tente o método do localizador de emails novamente.

Limites: Se você enviar muitas solicitações em uma hora poderá ver a seguinte mensagem de erro: "There are too many prospects processing. Please try later"
Os limites de pesquisa por hora dependem do seu plano:

  • Starter - 200 solicitações/hora
  • Pro 5K - 400 solicitações/hora
  • Pro 20K - 600 solicitações/hora
  • Pro 50K - 800 solicitações/hora
  • Pro 100K - 1.000 solicitações/hora
Solicitação
POSThttps://api.snov.io/v1/get-emails-from-names
Parâmetros de entrada
firstName
O nome do proprietário do endereço de email.
lastName
O sobrenome do proprietário do endereço de email.
domain
O nome do domínio da empresa que é usado no endereço de email.
Exemplos 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)
Exemplo de resposta
{
"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 saída
status
Use os valores neste objeto para detectar o status do processo.
identifier
Pode conter os seguintes valores:
complete
,
in_progress
, ou
not_found
 . Se o identificador for
not_found
 , a resposta conterá uma série de emails vazios.
description
Aqui, você verá uma descrição do texto do status de localização de email.
data
Contém o resultado da pesquisa.
firstName
O nome do proprietário do endereço de email.
lastName
O sobrenome do proprietário do endereço de email.
emails
A série de endereços de email com seus status. Valor
emailStatus
pode conter:
valid
ou
unknown
.

POSTAdicionar nomes para localizar emails

1 crédito por solicitação

Se a Snov.io não tiver os emails que você procura em seu banco de dados e não puder fornecer esses endereços por meio do Localizador de emails, você pode tentar enviar a solicitação de pesquisa de emails usando esse método. Se um email for encontrado, você poderá coletá-lo usando o aplicativo gratuito Localizador de emails solicitar novamente.

Limites: Se você enviar muitas solicitações em uma hora poderá ver a seguinte mensagem de erro: "There are too many prospects processing. Please try later"
Os limites de pesquisa por hora dependem do seu plano:

  • Starter - 200 solicitações/hora
  • Pro 5K - 400 solicitações/hora
  • Pro 20K - 600 solicitações/hora
  • Pro 50K - 800 solicitações/hora
  • Pro 100K - 1.000 solicitações/hora
Solicitação
POSThttps://api.snov.io/v1/add-names-to-find-emails
Parâmetros de entrada
firstName
O nome do proprietário do endereço de email.
lastName
O sobrenome do proprietário do endereço de email.
domain
O nome do domínio da empresa que é usado no endereço de email.
Exemplos 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)
Exemplo de resposta
{
"success":true,
"firstName":"gavin",
"lastName":"vanrooyen",
"domain":"octagon.com",
"userId":666871,
"sent":true
}

Se uma solicitação de email for adicionada com êxito à fila, o método retornará "sent":true.

POSTAdicionar URL para buscar cliente potencial

1 crédito por solicitação

Encontre clientes potenciais pela URL de rede social. Para receber os resultados, use o método Obter cliente potencial com URL.

Solicitação
POSThttps://api.snov.io/v1/add-url-for-search
Parâmetros de entrada
url
Um link para o perfil de mídias sociais do cliente potencial. Especifique o nome da rede social entre [colchetes] (LinkedIn ou X).
Exemplos 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)
Exemplo de resposta
{
  "success": true
}
Parâmetros de saída
success
É
true
se o cliente potencial foi adicionado à lista de busca.
message
Houve um erro ao adicionar o cliente potencial à lista.

POSTObter cliente potencial com URL

Gratuito

Forneça a URL de rede social do cliente potencial, e a Snov.io retornará as informações completas dele com os endereços de email encontrados. Para isso, é preciso usar antes o método Adicionar URL para buscar cliente potencial. Do contrário, o resultado não será exibido.

Solicitação
POSThttps://api.snov.io/v1/get-emails-from-url
Parâmetros de entrada
url
Um link para o perfil de mídias sociais do cliente potencial. Especifique o nome da rede social entre [colchetes] (LinkedIn ou X).
Exemplos 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)
Exemplo de resposta
{
  "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 saída
success
É
true
se o cliente potencial foi encontrado
id
Identificador de perfil único
name
Nome completo do cliente potencial
firstName
Nome do cliente potencial
lastName
Sobrenome do cliente potencial
industry
Setor confirme indicado no perfil do cliente potencial
country
País do cliente potencial
locality
Local do cliente potencial
skills
Habilidades do cliente potencial
social
Links para os perfis sociais do cliente potencial
currentJobs
A série contém informações sobre o cargo atual do cliente potencial
previousJobs
A série contém informações sobre os cargos anteriores do cliente potencial
lastUpdateDate
Data da última atualização do perfil
emails
E-mail do cliente potencial com status real

POSTObter perfil com email

1 crédito por solicitação

Forneça um endereço de email e a Snov.io retornará todas as informações de perfil conectadas ao proprietário do endereço de email fornecido a partir do banco de dados.

Se não encontrarmos informações sobre o proprietário do email em nosso banco de dados, você não será cobrado pela solicitação.

Solicitação
POSThttps://api.snov.io/v1/get-profile-by-email
Parâmetros de entrada
email
O endereço de email da pessoa para a qual você deseja encontrar informações adicionais.
Exemplos 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)
Exemplo de resposta
{
"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 saída
id
Um identificador de perfil exclusivo.
source
A fonte dos dados pessoais recuperados.
name
O nome completo do proprietário do endereço de email.
firstName
O nome da pessoa.
lastName
O sobrenome da pessoa.
logo
A foto do perfil da pessoa.
industry
O setor da pessoa conforme indicado na fonte.
country
O país da pessoa conforme indicado na fonte.
locality
O local da pessoa conforme indicado na fonte.
social
Links para os perfis sociais da pessoa.
currentJobs
Uma matriz contendo informações sobre os cargos atuais da pessoa.
previousJobs
Uma matriz contendo informações sobre os cargos anteriores da pessoa.
lastUpdateDate
A data da última atualização do perfil no banco de dados.

POSTVerificador de emails

Gratuito

Verifique se os endereços de e-mail fornecidos são válidos e podem ser entregues. O endpoint da API retornará os resultados da verificação de e-mail. Se não tivermos verificado um determinado endereço de e-mail antes, os resultados não serão retornados a você. Nesse caso, a API retornará um identificador "not_verified", e você não receberá créditos por este e-mail. Você deve usar o Adicionar emails para verificação método para enviar este endereço de email para verificação, após o qual você poderá obter os resultados da verificação de email usando este endpoint.

Limites: Se você enviar muitas solicitações em uma hora poderá ver a seguinte mensagem de erro: "There are too many prospects processing. Please try later"
Os limites de pesquisa por hora dependem do seu plano:

  • Starter - 500 e-mails/hora
  • Pro 5K - 1.000 e-mails/hora
  • Pro 20K - 1.400 e-mails/hora
  • Pro 50K - 2.000 e-mails/hora
  • Pro 100K - 4.000 e-mails/hora
Solicitação
POSThttps://api.snov.io/v1/get-emails-verification-status
Parâmetros de entrada
emails
Os endereços de email que você precisa verificar.
Exemplos 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)
Exemplo de resposta
{
"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 retornará dados para cada endereço de email solicitado. A resposta contém um status de verificação de email e os resultados da verificação.

Parâmetros de saída
status
O status de verificação do email. Contém identificador e descrição.
identifier
Pode conter os seguintes valores:
complete
,
in_progress
, ou
not_verified
. Se o identificador for
not_verified
,
data
será vazio.
description
Aqui, você verá uma descrição do texto do status de verificação.
data
Contém mais resultados de verificação -
email
,
isValidFormat
,
isWebmail
,
isGibberish
,
isCatchall
,
isGreylist
,
isBannedError
,
isConnectionError
.
email
O endereço de email que foi verificado.
isValidFormat
É
true
se o formato do email estiver correto, ou seja, se contiver símbolos válidos na ordem correta.
isDisposable
É
true
se acharmos que esse endereço de email é de um serviço de email descartável.
isWebmail
É
true
se este endereço de email for de um webmail.
isGibberish
É
true
se este endereço de email tiver sido gerado automaticamente.
smtpStatus
Pode retornar
valid
,
not_valid
,
greylisted
ou
unknown
(Não verificável). Você pode saber mais sobre status de email aqui.
isCatchall
É
true
se o e-mail pertencer a um servidor de e-mails com configuração genérica, ou seja, aceitar e-mails mesmo se o destinatário for inativo ou não existir.
isGreylist
É
true
se o servidor do domínio usar tecnologia de lista cinza e bloquear nossas tentativas de verificar o e-mail mesmo quando usamos métodos de contornar lista cinza.
isBannedError
É
true
quando não conseguimos resposta do servidor para a nossa solicitação de conexão.
isConnectionError
É
true
quando ocorre um erro no lado do cliente do servidor durante nossa tentativa de estabelecer uma conexão.
Se você receber um status SMTP de
greylisted
, significa que estamos temporariamente impossibilitados de verificar este email e continuaremos as tentativas de validá-lo.
Você pode reenviar esta solicitação ao API após um curto intervalo (geralmente de 15 minutos a uma hora) para receber os resultados corretos.
Observe que não cobramos por emails com status
greylisted
até terminarmos de validá-los e recebermos um status SMTP definitivo,
valid
ou
not_valid
.

POSTAdicionar emails para verificação

1 crédito por endereço de e-mail

Se você nunca verificou um determinado endereço de email antes, deve enviá-lo para verificação usando este método de API. Depois de executar esta ação, você poderá receber os resultados da verificação usando o Verificador de emails.

Limites: Se você enviar muitas solicitações em uma hora poderá ver a seguinte mensagem de erro: "There are too many prospects processing. Please try later"
Os limites de pesquisa por hora dependem do seu plano:

  • Starter - 500 e-mails/hora
  • Pro 5K - 1.000 e-mails/hora
  • Pro 20K - 1.400 e-mails/hora
  • Pro 50K - 2.000 e-mails/hora
  • Pro 100K - 4.000 e-mails/hora
Solicitação
POSThttps://api.snov.io/v1/add-emails-to-verification
Parâmetros de entrada
emails
Uma lista de endereços de email que você precisa adicionar à fila de verificação. Cada solicitação pode conter até 10 emails.
Exemplos 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)
Exemplo de resposta
{
"success":true,
"gavin.vanrooyen@octagon.com":{
"sent":true
},
"lizi.hamer@octagon.com":{
"sent":true
}
}

Se um endereço de email for adicionado com sucesso à fila, o método retornará "sent":true.

POSTAlterar status do destinatário

Gratuito

Altere o status de um destinatário em uma campanha específica.

Solicitação
POSThttps://api.snov.io/v1/change-recipient-status
Parâmetros de entrada
email
*necessário
O endereço de email do cliente potencial.
campaign_id
*necessário
O ID da campanha. Você pode encontrá-lo no URL ao visualizar as informações da campanha (mostrar um exemplo).
status
*necessário
Novo status do destinatário. Pode conter Ativo, Pausado, Finalizado, Descadastrado, Respondido automaticamente, Respondido, Respondido de outro email. Você não pode alterar o status dos destinatários se o status for Finalizado ou Movido.
Exemplos 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)
Exemplo de resposta
{
  "success": true
}
Parâmetros de saída

O método retorna success: true se o status do possível cliente foi alterado com sucesso. Se ocorrer algum erro, o método retornará success: false com uma descrição do erro.

GETVer lista de clientes potenciais concluídos

Gratuito

Este método retorna clientes potenciais para os quais a campanha foi concluída.

Solicitação
GEThttps://api.snov.io/v1/prospect-finished
Parâmetros de entrada
campaignId
*necessário
Identificador exclusivo da campanha para recuperar a lista de clientes potenciais.
Exemplos 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)
Exemplo de resposta
[
    {
        "id": "88c268d404797d1001b4d72806207625",
        "prospectId": "9c2eb5b46bb5873e408684dd577d002354e4f7026f47bf8a592d659bba3d2dd0ff186b90dc7a5",
        "userName": "zach Jones",
        "userEmail": "zach@entselect.us",
        "campaign": "Zipari - Salesforce Developer",
        "hash": "f3967971cbab6e769b5f7e3457d00159"
    }
]
Parâmetros de saída
id
Identificador único da solicitação.
prospectId
Identificador único do cliente potencial.
userName
Nome completo do cliente potencial.
userEmail
Endereço de email do cliente potencial.
campaign
Nome da campanha.

GETVer respostas da campanha

Gratuito

Este método retorna as respostas da campanha com todas as informações, incluindo nome do cliente potencial, ID, campanha etc.

Solicitação
GEThttps://api.snov.io/v1/get-emails-replies
Parâmetros de entrada
campaignId
*necessário
Identificador exclusivo da campanha cujas respostas você deseja visualizar.
offset
Você pode coletar até 10.000 respostas para cada solicitação. Se sua campanha tiver mais respostas, use o deslocamento para indicar quantas respostas anteriores você deseja ignorar. Por exemplo, se sua campanha tiver 20.000 respostas, e você quiser solicitar as respostas de 10.001 a 20.000, configure um deslocamento de 10.000. Se o deslocamento não for especificado, você obterá as últimas 10.000 respostas recebidas.
Exemplos 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)
Exemplo de resposta
[
    {
        "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 saída
campaignId
Identificador exclusivo da campanha.
campaign
Nome da campanha.
prospectName
Nome completo do cliente potencial.
emailSubject
Assunto do email que recebeu resposta.
emailBody
Conteúdo do email que recebeu resposta.

GETVer informações sobre aberturas na campanha

Gratuito

Este método mostra as informações sobre os emails abertos na campanha.

Solicitação
GEThttps://api.snov.io/v1/get-emails-opened
Parâmetros de entrada
campaignId
*necessário
Identificador exclusivo da campanha cujas informações de abertura de emails você deseja visualizar.
offset
Você pode coletar até 10.000 aberturas para cada solicitação. Se sua campanha tiver mais aberturas de e-mails, use o deslocamento para indicar quantas aberturas anteriores você deseja ignorar. Por exemplo, se sua campanha tiver 20.000 aberturas, e você quiser solicitar as aberturas de 10.001 a 20.000, configure um deslocamento de 10.000. Se o deslocamento não for especificado, você obterá as últimas 10.000 aberturas de e-mails.
Exemplos 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)
Exemplo de resposta
[
    {
        "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 saída
campaignId
Identificador exclusivo da campanha.
campaign
Nome da campanha.
prospectName
Nome completo do cliente potencial que abriu um email.
emailSubject
Assunto do email que foi aberto.
visitedAt
Horário exato em que o cliente potencial abriu o email.

GETVer cliques no link

Gratuito

Este método retorna informações sobre todos os destinatários que clicaram em algum link contido nos emails da campanha.

Solicitação
GEThttps://api.snov.io/v1/get-emails-clicked
Parâmetros de entrada
campaignId
*necessário
Identificador exclusivo da campanha cujos cliques em link você deseja visualizar.
offset
Você pode coletar até 10.000 cliques para cada solicitação. Se sua campanha tiver mais cliques, use o deslocamento para indicar quantos cliques anteriores você deseja ignorar. Por exemplo, se sua campanha tiver 20.000 cliques, e você quiser solicitar os cliques de 10.001 a 20.000, configure um deslocamento de 10.000. Se o deslocamento não for especificado, você obterá os últimos 10.000 e-mails que geraram clique no link dentro da campanha.
Exemplos 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)
Exemplo de resposta
[
    {
        "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 saída
campaignId
Identificador exclusivo da campanha.
campaign
Nome da campanha.
prospectName
Nome completo do cliente potencial que clicou em um link a partir de um email na campanha.
prospectEmail
Endereço de email do cliente potencial.
emailSubject
Assunto do email que continha um link que gerou clique.
emailBody
Conteúdo do email.
visitedAt
Horário exato em que o cliente potencial clicou em um link no email.

GETVer emails enviados

Gratuito

Este método mostra as informações sobre os emails enviados na campanha.

Solicitação
GEThttps://api.snov.io/v1/emails-sent
Parâmetros de entrada
campaignId
*necessário
Identificador exclusivo da campanha cujos emails enviados você deseja visualizar.
offset
Você pode coletar até 10.000 e-mails enviados para cada solicitação. Se sua campanha enviou mais e-mails, use o deslocamento para indicar quantos e-mails anteriores você deseja ignorar. Por exemplo, se sua campanha tiver 20.000 e-mails enviados, e você quiser solicitar os e-mails de 10.001 a 20.000, configure um deslocamento de 10.000. Se o deslocamento não for especificado, você obterá os últimos 10.000 e-mails que foram enviados na campanha.
Exemplos 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)
Exemplo de resposta
[
    {
        "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 saída
sentDate
Horário exato em que o email foi enviado.
userName
Nome completo do cliente potencial ao qual foi enviado o email.
userEmail
Endereço de email do cliente potencial.
campaign
Nome da campanha.

GETVer todas as campanhas

Gratuito

Este método mostra a lista de todas as campanhas do usuário.

Solicitação
GEThttps://api.snov.io/v1/get-user-campaigns
Parâmetros de entrada
Não há parâmetros de entrada para este método
Exemplos 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)
Exemplo de resposta
[
    {
        "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 saída
id
Identificador exclusivo da campanha do usuário.
campaign
Nome da campanha.
list_id
Identificador único das listas de clientes potenciais usados na campanha.
status
Status da campanha.
created_at
Criação de campanha dia e horário no formato Unix Timestamp.
updated_at
Dia e horário da atualização da última campanha no formato Unix Timestamp.
started_at
Lançamento da campanha dia e horário no formato Unix Timestamp.

POSTAdicionar à Lista de e-mails a não enviar

Gratuito

Usando este método, você pode adicionar um e-mail ou domínio à sua Lista de e-mails a não enviar. Após adicionar esse e-mail/domínio à lista, você não poderá enviar e-mails para ele.

Solicitação
POSThttps://api.snov.io/v1/do-not-email-list
Parâmetros de entrada
items
O e-mail ou domínio que você deseja adicionar à sua Lista de e-mails a não enviar.
listId
*necessário
O identificador da Lista de e-mails a não enviar ao qual pertencem os e-mails e domínios.
Exemplos 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)
Exemplo de resposta
[
    {
        "success": true,
        "data": {
            "duplicates": []
        }
    }
]
Parâmetros de saída
duplicates
Este parâmetro mostra quais e-mails/domínios foram adicionados anteriormente à Lista de e-mails a não enviar.

POSTAdicionar cliente potencial à lista

Gratuito

Adicione um cliente potencial a uma lista específica. Esse método será útil para quem deseja automatizar a adição de clientes potenciais às listas com campanhas de automação de email ativas. Dessa forma, após um cliente potencial ser adicionado automaticamente a uma lista escolhida, uma campanha de automação de email será iniciada automaticamente.

Solicitação
POSThttps://api.snov.io/v1/add-prospect-to-list
Parâmetros de entrada
email
*necessário
O endereço de email do cliente potencial.
fullName
O nome completo do cliente potencial.
firstName
O nome do cliente potencial.
lastName
O sobrenome do cliente potencial.
phones
Matriz com os números de telefone do cliente potencial.
country
O país do cliente potencial. Os nomes dos países são definidos aqui. Use apenas países desta lista.
locality
O local do cliente potencial.
position
O cargo do cliente potencial.
companyName
O nome da empresa do cliente potencial.
companySite
O site da empresa do cliente potencial. Use o
http://example.com
formato.
updateContact
Atualiza um cliente potencial existente. Pode conter
true
, ou
false
. Se
true
e já existe um cliente potencial com este endereço de email em uma das listas, o sistema atualizará o perfil existente. Se
false
, o sistema não atualizará o perfil existente.
customFields[specialization]
Você pode adicionar valores personalizados aos campos personalizados criados anteriormente. Para isso, especifique o nome do campo personalizado em [brackets].
socialLinks[linkedIn]
Um link para o perfil de mídias sociais do cliente potencial. Especifique o nome da rede social entre [colchetes] (LinkedIn, Facebook ou X).
listId
*necessário
O identificador da lista ao qual o cliente potencial pertence.
Exemplos 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)
Exemplo de resposta
{
    "success": true,
    "id": "0Y2QzowWL1rHpIptwaRp0Q==",
    "added": true,
    "updated": false
}
Parâmetros de saída
success
É
true
se o cliente potencial foi adicionado à lista com sucesso.
id
Identificador do cliente potencial adicionado.
added
É
true
se o cliente potencial foi adicionado à lista.
updated
É
true
se os dados existentes do cliente potencial foram atualizados.
errors
Houve um erro ao adicionar o cliente potencial à lista.

POSTLocalizar cliente potencial por ID

Gratuito

Localize clientes potenciais de suas listas por ID. Ao conhecer o ID de um cliente potencial específico, você pode obter informações completas sobre esse cliente potencial, incluindo as listas e campanhas às quais ele foi adicionado.

Solicitação
POSThttps://api.snov.io/v1/get-prospect-by-id
Parâmetros de entrada
id
*necessário
O ID do cliente potencial. Você pode vê-lo na resposta ao adicionar um cliente potencial por meio de Adicionar cliente potencial à lista Método de API ou no URL ao visualizar a página do cliente potencial (ver um exemplo).
Exemplos 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)
Exemplo de resposta
{
  "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 saída
success
É
true
se o cliente potencial foi encontrado
id
Identificador de perfil único
name
Nome completo do cliente potencial
firstName
Nome do cliente potencial
lastName
Sobrenome do cliente potencial
industry
Setor confirme indicado no perfil do cliente potencial
country
País do cliente potencial
locality
Local do cliente potencial
social
Links para os perfis sociais do cliente potencial
currentJobs
A série contém informações sobre o cargo atual do cliente potencial
previousJobs
A série contém informações sobre os cargos anteriores do cliente potencial
lastUpdateDate
Data da última atualização do perfil
lists
Lista à qual o cliente potencial foi adicionado
campaigns
Lista de campanhas às quais este cliente potencial foi adicionado como destinatário. Contém estatísticas curtas como status, número de mensagens enviadas, aberturas e respostas.

POSTLocalizar cliente potencial por email

Gratuito

Encontre clientes potenciais de suas listas por endereço de email. Ao pesquisar por email, você recebe uma lista de todos os clientes potenciais vinculados a este endereço de email. Cada elemento da lista contém informações completas sobre os clientes potenciais, incluindo as listas e campanhas às quais eles foram adicionados.

Solicitação
POSThttps://api.snov.io/v1/get-prospects-by-email
Parâmetros de entrada
email
*necessário
O endereço de email do cliente potencial
Exemplos 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)
Exemplo de resposta
{
  "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 saída
success
É
true
se o cliente potencial foi encontrado
id
Identificador de perfil único
name
Nome completo do cliente potencial
firstName
Nome do cliente potencial
lastName
Sobrenome do cliente potencial
industry
Setor confirme indicado no perfil do cliente potencial
country
País do cliente potencial
locality
Local do cliente potencial
social
Links para os perfis sociais do cliente potencial
currentJobs
A série contém informações sobre o cargo atual do cliente potencial
previousJobs
A série contém informações sobre os cargos anteriores do cliente potencial
lastUpdateDate
Data da última atualização do perfil
lists
Lista à qual o cliente potencial foi adicionado
campaigns
Lista de campanhas às quais este cliente potencial foi adicionado como destinatário. Contém estatísticas curtas como status, número de mensagens enviadas, aberturas e respostas.

GETEncontrar os campos personalizados do cliente potencial

Gratuito

Este método retorna uma lista de todos os campos personalizados criados pelo usuário, incluindo nome do campo, se ele é opcional ou necessário e tipo de dado do campo.

Solicitação
GEThttps://api.snov.io/v1/prospect-custom-fields
Parâmetros de entrada
Não há parâmetros de entrada para este método
Exemplos 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)
Exemplo de resposta
  [
    {
        "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 saída
key
A chave do campo na matriz
customFields
.
label
O nome do campo.
required
É
true
se o campo personalizado é necessário.
type
O tipo de dado do campo (cadeia de caracteres, número ou data).

GETVer listas do usuário

Gratuito

Este método retorna todas as listas criadas pelo usuário. Você pode usá-lo para examinar listas que podem ser usadas para uma campanha de automação de email.

Solicitação
GEThttps://api.snov.io/v1/get-user-lists
Parâmetros de entrada
Não há parâmetros de entrada para este método
Exemplos 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)
Exemplo de resposta
[
    {
        "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 saída
id
Identificador único da lista do usuário.
name
Nome da lista
contacts
O número de clientes potenciais na lista.
isDeleted
Status da lista. É
true
se a lista foi excluída.
creationDate
Data e hora da criação da lista (incluindo informações de data, hora e fuso horário).
deleteDate
Se a lista foi excluída, contém a data e hora da exclusão da lista (incluindo informações de data, hora e fuso horário).

POSTVer clientes potenciais na lista

Gratuito

Este método retorna todos os dados sobre os clientes potenciais em uma lista específica, incluindo os dados do cliente potencial, como endereço de email e status.

Solicitação
POSThttps://api.snov.io/v1/prospect-list
Parâmetros de entrada
listId
*necessário
Identificador único da lista.
page
Você pode escolher em que página da lista iniciar sua pesquisa. Este campo é opcional.
perPage
Você pode escolher em que página da lista você deseja terminar sua pesquisa. Este campo é opcional. O valor máximo é 100.
Exemplos 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)
Exemplo de resposta

Observe que os resultados de clientes potenciais são exibidos em ordem reversa, do último ao primeiro.

{
    "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 saída
list
Uma matriz com informações sobre a lista e os clientes potenciais contidos nela.
name
O nome da lista.
contacts
O número de clientes potenciais na lista.
creation_date
Data da criação da lista (incluindo informações de data, hora e fuso horário).
emailsCount
Número de emails na lista.
prospects
Relação de clientes potenciais na lista.
id
Identificador único do cliente potencial.
name
Nome completo do cliente potencial.
emails
Lista de emails pertencentes ao cliente potencial.

POSTCriar nova lista de clientes potenciais

Gratuito

Use este método para criar novas listas de clientes potenciais na sua conta.

Solicitação
POSThttps://api.snov.io/v1/lists
Parâmetros de entrada
name
O nome da nova lista de clientes potenciais.
Exemplos 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)
Exemplo de resposta
[
    {
        "success": true,
        "data": {
            "id": 1234567
        }
    }
]
Parâmetros de saída
id
O ID da lista de clientes potenciais criada.

GETVerificar saldo do usuário

Gratuito

Use este método para verificar seu saldo de créditos.

Solicitação
GEThttps://api.snov.io/v1/get-balance
Parâmetros de entrada
Não há parâmetros de entrada para este método
Exemplos 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)
Exemplo de resposta
{
    "success": true,
    "data": {
        "balance": "25000.00",
        "teamwork": false,
        "unique_recipients_used": 0,
        "limit_resets_in": 29,
        "expires_in": 359
    }
}

Parâmetros de saída
balance
Saldo atual do usuário em créditos.
teamwork
Verdadeiro se você é membro ou líder de equipe atualmente. Falso se você não faz parte de nenhuma equipe.
recipients_used
Número de destinatários exclusivos usados neste mês.
limit_resets_in
Dias até a redefinição de limite.
expires_in
Dias até o fim da assinatura.

Webhooks

Descrição

Webhooks permitem que você receba notificações de eventos que aconteceram na sua conta da Snov.io.

Você pode usar webhooks para chamar o endpoint (URL) do seu servidor sempre que ocorre um evento assinado na Snov.io e enviar dados em tempo real para seu aplicativo.

Sempre que ocorre um evento, a Snov.io envia uma solicitação HTTP com corpo JSON para o endpoint (URL) especificado.

Você pode assinar e gerenciar webhooks por meio de um conjunto de chamadas de API.

Listamos a seguir os objetos e ações de webhook suportados:

Objeto de webhookAçãoQuando é ativado
campaign_email
sentQuando qualquer e-mail é enviado ao destinatário em qualquer campanha de automação
first_sentQuando o primeiro e-mail é enviado ao destinatário em qualquer campanha de automação
openedQuando um destinatário abre qualquer e-mail de qualquer campanha de automação
campaign_reply
receivedQuando o destinatário responde a qualquer e-mail em qualquer uma das campanhas
first_receivedQuando o destinatário responde ao e-mail pela primeira vez em qualquer uma das campanhas

Limites: usuários de planos premium podem criar até 50 webhooks.

Política de novas tentativas: o webhook será bem-sucedido se recebermos um status HTTP de 200 a 299 como resposta em até 3 segundos.

Se recebermos qualquer outro status HTTP ou for ultrapassado o tempo limite, faremos sete novas tentativas com intervalos cada vez maiores até 38 horas após o evento que iniciou um webhook:

Se todas as sete tentativas forem malsucedidas, o webhook será desativado.

  • 1ª: imediatamente após o evento
  • 2ª: 20 minutos após a última tentativa (20 minutos após o evento)
  • 3ª: 40 minutos após a última tentativa (1 hora após o evento)
  • 4ª: 60 minutos após a última tentativa (2 horas após o evento)
  • 5ª: 4 horas após a última tentativa (6 horas após o evento)
  • 6ª: 8 horas após a última tentativa (14 horas após o evento)
  • 7ª: 24 horas após a última tentativa (38 horas após o evento)

GETListar todos os webhooks

Este método de API permite obter uma lista de webhooks da sua conta.
Solicitação
GEThttps://api.snov.io/v2/webhooks
Cabeçalho de solicitação

Tipo de conteúdo: application/json

Parâmetros de entrada
Este método não tem parâmetros de entrada.
Exemplo de resposta
{
    "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 saída
A resposta retorna uma coleção de modelos de webhook. Listamos as propriedades do modelo a seguir:
ParâmetroTipo de dadosTipo de dados
data
arrayColeção de modelos de webhook
id
intID de webhook
end_point
stringA URL real que você forneceu ao adicionar o webhook e para onde será feito o envio
event_object
stringO objeto sobre o qual a ação é executada
event_action
stringA ação realizada no objeto
created_at
intData de criação do webhook no formato de timestamp Unix
status
stringStatus do webhook: active, deactivated
meta
objectDados relacionados
webhooks_count
intNúmero total de webhooks na sua conta (máx. 50)
user_id
intSeu ID de usuário

POSTAdicionar webhook

Este método de API permite criar uma assinatura de webhook e receber notificações de evento no URL de endpoint especificado.
Solicitação
POSThttps://api.snov.io/v2/webhooks
Cabeçalho de solicitação

Tipo de conteúdo: application/json

Parâmetros de entrada
event_object
o objeto sobre o qual a ação é executada (lista de objetos suportados)
event_action
a ação realizada no objeto (lista de ações suportadas)
endpoint_url
o endereço da URL para onde o webhook é enviado
Exemplo de solicitação
{
  "event_object": "campaign_email",
  "event_action": "sent",
  "endpoint_url": "https://hooks.yourdomain.com/hooks/catch/1237321/abwfpcz/"
}
Exemplo de resposta
{
    "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 saída
A resposta retorna um modelo do webhook adicionado. Listamos as propriedades do modelo a seguir:
ParâmetroTipo de dadosTipo de dados
data
objectDados do webhook
id
intID de webhook
end_point
stringA URL real que você forneceu ao adicionar o webhook e para onde será feito o envio
event_object
stringO objeto sobre o qual a ação é executada
event_action
stringA ação realizada no objeto
created_at
intData de criação do webhook no formato de timestamp Unix
status
stringStatus do webhook: active, deactivated
meta
objectDados relacionados
user_id
intSeu ID de usuário

PUTAlterar status de webhook

Altera o status de uma assinatura de webhook escolhida.

Inclua o valor “id” exclusivo do webhook escolhido no final do endereço URL da solicitação.

Use o método "Listar todos os webhooks" para obter os valores de id de seus webhooks.

Solicitação
PUThttps://api.snov.io/v2/webhooks/webhook_id
Cabeçalho de solicitação

Tipo de conteúdo: application/json

Parâmetros de entrada
status
active ou deactivated
Exemplo de solicitação
{
    https://api.snov.io/v2/webhooks/14
    "status": "deactivated"
}
Exemplo de resposta
{
    "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 saída
A resposta retorna um modelo do webhook adicionado. Listamos as propriedades do modelo a seguir:
ParâmetroTipo de dadosTipo de dados
data
objectDados do webhook
id
intID de webhook
end_point
stringA URL real que você forneceu ao adicionar o webhook e para onde será feito o envio
event_object
stringO objeto sobre o qual a ação é executada
event_action
stringA ação realizada no objeto
created_at
intData de criação do webhook no formato de timestamp Unix
status
stringStatus do webhook: active, deactivated
meta
objectDados relacionados
user_id
intSeu ID de usuário

DELETEExcluir um webhook

Exclui um webhook escolhido.

Inclua o valor “id” exclusivo do webhook escolhido no final do endereço URL da solicitação.

Use o método "Listar todos os webhooks" para obter os valores de id de seus webhooks.

Solicitação
DELETEhttps://api.snov.io/v2/webhooks/webhook_id
Cabeçalho de solicitação

Tipo de conteúdo: application/json

Exemplo de solicitação
{
    https://api.snov.io/v2/webhooks/8
}
Exemplo de resposta
{
    "data": {
        "success": true
    }
}
Parâmetros de saída
A resposta retorna uma coleção de modelos de webhook. Listamos as propriedades do modelo a seguir:
ParâmetroTipo de dadosTipo de dados
success
booleanIndica se o webhook foi removido