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.
POST | https://api.snov.io/v1/oauth/access_token |
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 |
<?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']
{ | |||
| |||
} |
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 potenciaisInsira 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.
GET | https://api.snov.io/v2/domain-emails-with-info |
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. |
<?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)
{ "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" } ] }
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
GratuitoCom 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!
POST | https://api.snov.io/v1/get-domain-emails-count |
domain | O nome do domínio para o qual você gostaria de saber o número de emails em nosso banco de dados. |
<?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)
{ | ||||
| ||||
} |
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
GratuitoEste 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
POST | https://api.snov.io/v1/get-emails-from-names |
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. |
<?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)
{ | |||||||||||||
| |||||||||||||
| |||||||||||||
| |||||||||||||
} |
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çãoSe 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
POST | https://api.snov.io/v1/add-names-to-find-emails |
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. |
<?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)
{ | ||||||
| ||||||
} |
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çãoEncontre clientes potenciais pela URL de rede social. Para receber os resultados, use o método Obter cliente potencial com URL.
POST | https://api.snov.io/v1/add-url-for-search |
url | Um link para o perfil de mídias sociais do cliente potencial. Especifique o nome da rede social entre [colchetes] (LinkedIn ou X). |
<?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)
{ "success": true }
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
GratuitoForneç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.
POST | https://api.snov.io/v1/get-emails-from-url |
url | Um link para o perfil de mídias sociais do cliente potencial. Especifique o nome da rede social entre [colchetes] (LinkedIn ou X). |
<?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)
{ "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" } ] } ] }
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çãoForneç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.
POST | https://api.snov.io/v1/get-profile-by-email |
email | O endereço de email da pessoa para a qual você deseja encontrar informações adicionais. |
<?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)
{ "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" }
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
GratuitoVerifique 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
POST | https://api.snov.io/v1/get-emails-verification-status |
emails | Os endereços de email que você precisa verificar. |
<?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)
{ | |||||||||||||||||||||
| |||||||||||||||||||||
| |||||||||||||||||||||
} |
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.
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-mailSe 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
POST | https://api.snov.io/v1/add-emails-to-verification |
emails | Uma lista de endereços de email que você precisa adicionar à fila de verificação. Cada solicitação pode conter até 10 emails. |
<?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)
{ | |||||
| |||||
| |||||
} |
Se um endereço de email for adicionado com sucesso à fila, o método retornará "sent":true.
POSTAlterar status do destinatário
GratuitoAltere o status de um destinatário em uma campanha específica.
POST | https://api.snov.io/v1/change-recipient-status |
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 | Pode conter Ativo, Pausado ou Descadastrado. Você não pode alterar o status dos destinatários se o status for Finalizado ou Movido. |
<?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)
{ "success": true }
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
GratuitoEste método retorna clientes potenciais para os quais a campanha foi concluída.
GET | https://api.snov.io/v1/prospect-finished |
campaignId *necessário | Identificador exclusivo da campanha para recuperar a lista de clientes potenciais. |
<?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)
[ { "id": "88c268d404797d1001b4d72806207625", "prospectId": "9c2eb5b46bb5873e408684dd577d002354e4f7026f47bf8a592d659bba3d2dd0ff186b90dc7a5", "userName": "zach Jones", "userEmail": "zach@entselect.us", "campaign": "Zipari - Salesforce Developer", "hash": "f3967971cbab6e769b5f7e3457d00159" } ]
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
GratuitoEste método retorna as respostas da campanha com todas as informações, incluindo nome do cliente potencial, ID, campanha etc.
GET | https://api.snov.io/v1/get-emails-replies |
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. |
<?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)
[ { "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_рпа": "" } ]
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
GratuitoEste método mostra as informações sobre os emails abertos na campanha.
GET | https://api.snov.io/v1/get-emails-opened |
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. |
<?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)
[ { "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": "" } ]
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
GratuitoEste método retorna informações sobre todos os destinatários que clicaram em algum link contido nos emails da campanha.
GET | https://api.snov.io/v1/get-emails-clicked |
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. |
<?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)
[ { "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": "" } ]
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
GratuitoEste método mostra as informações sobre os emails enviados na campanha.
GET | https://api.snov.io/v1/emails-sent |
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. |
<?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)
[ { "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" } ]
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
GratuitoEste método mostra a lista de todas as campanhas do usuário.
GET | https://api.snov.io/v1/get-user-campaigns |
Não há parâmetros de entrada para este método |
<?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)
[ { "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" } ]
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
GratuitoUsando 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.
POST | https://api.snov.io/v1/do-not-email-list |
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. |
<?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)
[ { "success": true, "data": { "duplicates": [] } } ]
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
GratuitoAdicione 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.
POST | https://api.snov.io/v1/add-prospect-to-list |
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. |
<?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)
{ "success": true, "id": "0Y2QzowWL1rHpIptwaRp0Q==", "added": true, "updated": false }
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
GratuitoLocalize 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.
POST | https://api.snov.io/v1/get-prospect-by-id |
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). |
<?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)
{ "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": [] } }
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
GratuitoEncontre 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.
POST | https://api.snov.io/v1/get-prospects-by-email |
email *necessário | O endereço de email do cliente potencial |
<?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)
{ "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": [] } ] }
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
GratuitoEste 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.
GET | https://api.snov.io/v1/prospect-custom-fields |
Não há parâmetros de entrada para este método |
<?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)
[ { "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" } ]
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
GratuitoEste 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.
GET | https://api.snov.io/v1/get-user-lists |
Não há parâmetros de entrada para este método |
<?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)
[ { "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" } } ]
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
GratuitoEste 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.
POST | https://api.snov.io/v1/prospect-list |
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. |
<?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)
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 } ] } ] }
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
GratuitoUse este método para criar novas listas de clientes potenciais na sua conta.
POST | https://api.snov.io/v1/lists |
name | O nome da nova lista de clientes potenciais. |
<?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)
[ { "success": true, "data": { "id": 1234567 } } ]
id | O ID da lista de clientes potenciais criada. |
GETVerificar saldo do usuário
GratuitoUse este método para verificar seu saldo de créditos.
GET | https://api.snov.io/v1/get-balance |
Não há parâmetros de entrada para este método |
<?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)
{ "success": true, "data": { "balance": "25000.00", "teamwork": false, "unique_recipients_used": 0, "limit_resets_in": 29, "expires_in": 359 } }
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
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 webhook | Ação | Quando é ativado |
---|---|---|
campaign_email | sent | Quando qualquer e-mail é enviado ao destinatário em qualquer campanha de automação |
first_sent | Quando o primeiro e-mail é enviado ao destinatário em qualquer campanha de automação | |
opened | Quando um destinatário abre qualquer e-mail de qualquer campanha de automação | |
campaign_reply | received | Quando o destinatário responde a qualquer e-mail em qualquer uma das campanhas |
first_received | Quando 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
GET | https://api.snov.io/v2/webhooks |
Tipo de conteúdo: application/json |
Este método não tem parâmetros de entrada. |
{ "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âmetro | Tipo de dados | Tipo de dados |
---|---|---|
data | array | Coleção de modelos de webhook |
id | int | ID de webhook |
end_point | string | A URL real que você forneceu ao adicionar o webhook e para onde será feito o envio |
event_object | string | O objeto sobre o qual a ação é executada |
event_action | string | A ação realizada no objeto |
created_at | int | Data de criação do webhook no formato de timestamp Unix |
status | string | Status do webhook: active, deactivated |
meta | object | Dados relacionados |
webhooks_count | int | Número total de webhooks na sua conta (máx. 50) |
user_id | int | Seu ID de usuário |
POSTAdicionar webhook
POST | https://api.snov.io/v2/webhooks |
Tipo de conteúdo: application/json |
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 |
{ "event_object": "campaign_email", "event_action": "sent", "endpoint_url": "https://hooks.yourdomain.com/hooks/catch/1237321/abwfpcz/" }
{ "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âmetro | Tipo de dados | Tipo de dados |
---|---|---|
data | object | Dados do webhook |
id | int | ID de webhook |
end_point | string | A URL real que você forneceu ao adicionar o webhook e para onde será feito o envio |
event_object | string | O objeto sobre o qual a ação é executada |
event_action | string | A ação realizada no objeto |
created_at | int | Data de criação do webhook no formato de timestamp Unix |
status | string | Status do webhook: active, deactivated |
meta | object | Dados relacionados |
user_id | int | Seu ID de usuário |
PUTAlterar status de webhook
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.
PUT | https://api.snov.io/v2/webhooks/webhook_id |
Tipo de conteúdo: application/json |
status | active ou deactivated |
{ https://api.snov.io/v2/webhooks/14 "status": "deactivated" }
{ "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âmetro | Tipo de dados | Tipo de dados |
---|---|---|
data | object | Dados do webhook |
id | int | ID de webhook |
end_point | string | A URL real que você forneceu ao adicionar o webhook e para onde será feito o envio |
event_object | string | O objeto sobre o qual a ação é executada |
event_action | string | A ação realizada no objeto |
created_at | int | Data de criação do webhook no formato de timestamp Unix |
status | string | Status do webhook: active, deactivated |
meta | object | Dados relacionados |
user_id | int | Seu ID de usuário |
DELETEExcluir um webhook
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.
DELETE | https://api.snov.io/v2/webhooks/webhook_id |
Tipo de conteúdo: application/json |
{ https://api.snov.io/v2/webhooks/8 }
{ "data": { "success": true } }
Parâmetro | Tipo de dados | Tipo de dados |
---|---|---|
success | boolean | Indica se o webhook foi removido |