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.
GETObter análises de campanha
GratuitoEste método mostra as estatísticas da campanha com base nos filtros aplicados.
GET | https://api.snov.io/v2/statistics/campaign-analytics |
campaign_id | O ID da campanha. Você pode encontrá-lo no URL ao visualizar as informações da campanha (exemplo).
Se deixar este campo vazio, você receberá dados de todas as campanhas ativas dentro do período especificado. Para obter dados de múltiplas campanhas, separe os IDs por vírgula. |
sender_email | O ID da conta de e-mail de remetente. Você pode encontrá-lo no URL ao visualizar as informações da conta de e-mail (exemplo).
Para ver análises de múltiplas contas de e-mail, separe os IDs por vírgula. Ou deixe este parâmetro vazio se não quiser aplicar filtros de conta de e-mail. |
sender_linkedin | O ID da conta de remetente do LinkedIn. Você pode encontrá-lo no URL ao visualizar ou editar as informações da conta do LinkedIn. Para ver análises de múltiplas contas, separe os IDs por vírgula. Deixe este parâmetro vazio se não quiser aplicar filtros de conta do LinkedIn. |
campaign_owner | Para ver dados de campanha para um membro específico da equipe, insira o respectivo endereço de e-mail. Para filtrar por múltiplos donos de campanhas, liste os endereços de e-mail separados por vírgula (sem espaços). Exemplo: exemplo1@gmail.com,exemplo2@gmail.com Observe que, para usar este filtro, sua conta precisa ter a permissão "Ver registros da equipe" ativada, e você precisa estar num plano Pro ou superior. |
date_from | A data de início do período sobre o qual você deseja receber estatísticas. Formato: aaaa-mm-dd. Deixe vazio para receber as estatísticas desde sempre. |
date_to | A data de fim do período sobre o qual você deseja receber estatísticas. Formato: aaaa-mm-dd. Deixe vazio para receber as estatísticas desde sempre. |
<?php
function getCampaignAnalytics()
{
$token = getAccessToken();
$campaignIds = [1, 2];
$senderEmailIds = [21, 22];
$senderLinkedInIds = [31, 32, 33];
$ownerEmails = ['owner1@email.loc', 'owner2@email.loc'];
$params = [
'access_token' => $token,
'campaign_id' => implode(',', $campaignIds),
'sender_email' => implode(',', $senderEmailIds),
'sender_linkedin' => implode(',', $senderLinkedInIds),
'campaign_owner' => implode(',', $ownerEmails),
'date_from' => '2024-06-15',
'date_to' => '2024-09-15',
];
$params = http_build_query($params);
$options = [
CURLOPT_URL => 'https://api.snov.io/v2/statistics/campaign-analytics?' . $params,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true
];
$ch = curl_init();
curl_setopt_array($ch, $options);
$res = json_decode(curl_exec($ch), true);
curl_close($ch);
return $res;
}
?>
def get_campaign_analytics():
token = get_access_token()
campaign_ids = [1, 2]
sender_email_ids = [21, 22]
sender_linkedin_ids = [31, 32, 33]
owner_emails = ['owner1@email.loc', 'owner2@email.loc']
params = {
'access_token': token,
'campaign_id': ','.join(map(str, campaign_ids)),
'sender_email': ','.join(map(str, sender_email_ids)),
'sender_linkedin': ','.join(map(str, sender_linkedin_ids)),
'campaign_owner': ','.join(owner_emails),
'date_from': '2024-06-15',
'date_to': '2024-09-15',
}
res = requests.get('https://api.snov.io/v2/statistics/campaign-analytics', params=params)
return json.loads(res.text)
{ "total_contacted": 255, "emails_sent": 446, "first_emails": 299, "first_emails_rate": "67%", "follow_ups": 147, "follow_ups_rate": "33%", "delivered": 363, "delivered_rate": "81%", "bounced": 83, "bounced_rate": "19%", "contacted_by_email": 233, "email_opens": 130, "email_opens_rate": "56%", "link_clicks": 100, "link_clicks_rate": "43%", "email_replies": 29, "email_replies_rate": "12%", "unsubscribed": 4, "unsubscribed_rate": "2%", "auto_replied": 13, "auto_replied_rate": "6%", "contacted_by_linkedin": 23, "linkedin_total_replies": 15, "linkedin_total_replies_rate": "65%", "connection_request_replies": 8, "connection_request_replies_rate": "53%", "message_replies": 7, "message_replies_rate": "47%", "connection_requests": 19, "accepted_requests": 11, "accepted_requests_rate": "58%", "failed_connection_requests": 4, "messages_sent": 6, "linkedin_views": 11, "linkedin_likes": 1, "linkedin_follows": 3 }
total_contacted | Número total de destinatários que foram contatados por e-mail ou LinkedIn (solicitação de conexão, mensagem ou InMail). |
emails_sent | Número total de e-mails enviados pelas campanhas. Observe que não estão inclusos e-mails enviados fora de campanhas. |
first_emails | Número de primeiros e-mails numa sequência de campanha enviados no período indicado. |
first_emails_rate | Porcentagem de primeiros e-mails em relação ao total de e-mails enviados. |
follow_ups | Número de e-mails de acompanhamento numa sequência de campanha enviados no período indicado. |
follow_ups_rate | Porcentagem de e-mails de acompanhamento em relação ao total de e-mails enviados. |
delivered | Número de e-mails enviados que não foram devolvidos. |
delivered_rate | Porcentagem de e-mails que não foram devolvidos em relação ao total de e-mails enviados. |
bounced | Número de e-mails que foram devolvidos. |
bounced_rate | Porcentagem de e-mails que foram devolvidos em relação ao total de e-mails enviados. |
contacted_by_email | Número de destinatários que receberam pelo menos um e-mail que não foi devolvido. |
email_opens | Número de destinatários que abriram o seu e-mail pelo menos uma vez. |
email_opens_rate | Porcentagem de destinatários que abriram o seu e-mail pelo menos uma vez em relação ao total de destinatários contatados. |
link_clicks | Número de destinatários que clicaram em pelo menos um link nas suas campanhas. |
link_clicks_rate | Porcentagem de destinatários que clicaram em pelo menos um link nas campanhas em relação ao total de destinatários contatados. |
email_replies | Número de destinatários que responderam pelo menos uma vez. |
email_replies_rate | Porcentagem de destinatários que responderam pelo menos uma vez em relação ao total de destinatários contatados. |
unsubscribed | Número de destinatários que clicaram no Link de descadastro nas suas campanhas, optando por não receber mais e-mails. |
unsubscribed_rate | Porcentagem de destinatários que clicaram no Link de descadastro nas suas campanhas em relação ao total de destinatários contatados. |
auto_replied | Número de destinatários que responderam automaticamente aos e-mails da sua campanha. |
auto_replied_rate | Porcentagem de destinatários que responderam automaticamente em relação ao total de destinatários contatados. |
contacted_by_linkedin | Número de destinatários aos quais você enviou pelo menos uma mensagem ou solicitação de conexão no LinkedIn. |
linkedin_total_replies | Número de destinatários que responderam a pelo menos uma das mensagens enviadas no LinkedIn (mensagens do LinkedIn, mensagens de solicitação de conexão e InMail). |
linkedin_total_replies_rate | Porcentagem de destinatários que responderam a pelo menos uma das mensagens enviadas no LinkedIn (mensagens do LinkedIn, mensagens de solicitação de conexão e InMail). |
connection_request_replies | Número de destinatários que responderam a uma mensagem de solicitação de conexão. |
connection_request_replies_rate | Porcentagem de destinatários que responderam a uma mensagem de solicitação de conexão em relação ao total de destinatários contatados. |
message_replies | Número de destinatários que responderam a uma mensagem normal do LinkedIn. |
message_replies_rate | Porcentagem de destinatários que responderam a uma mensagem normal do LinkedIn em relação ao total de destinatários contatados. |
connection_requests | Número de solicitações de conexão enviadas a clientes potenciais por meio de campanhas da Snov.io. |
accepted_requests | Número de solicitações de conexão que foram aceitas por membros do LinkedIn. |
accepted_requests_rate | Porcentagem de solicitações de conexão que foram aceitas em relação a todas as solicitações enviadas. |
failed_connection_requests | Número de solicitações de conexão do LinkedIn que não foram enviadas porque:
|
messages_sent | Número de mensagens do LinkedIn enviadas. |
linkedin_views | Número de perfis de clientes potenciais visualizados. |
linkedin_likes | Número de posts de clientes potenciais curtidos no LinkedIn. |
linkedin_follows | Número de perfis de clientes potenciais seguidos. |
GETVer andamento da campanha
GratuitoEste método retorna o andamento e o status da campanha.
GET | https://api.snov.io/v2/campaigns/[campaign_id]/progress |
campaign_id *necessário | O ID da campanha. Você pode encontrá-lo no URL ao visualizar as informações da campanha (exemplo). |
<?php
function getCampaignProgress()
{
$token = getAccessToken();
$campaignId = 1;
$params = [
'access_token' => $token,
];
$params = http_build_query($params);
$options = [
CURLOPT_URL => "https://api.snov.io/v2/campaigns/$campaignId/progress?" . $params,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true
];
$ch = curl_init();
curl_setopt_array($ch, $options);
$res = json_decode(curl_exec($ch), true);
curl_close($ch);
return $res;
}
?>
def get_campaign_progress():
token = get_access_token()
campaign_id = 1
params = {
'access_token': token,
}
res = requests.get(f"https://api.snov.io/v2/campaigns/{campaign_id}/progress", params=params)
return json.loads(res.text)
{ "status":"Active", "unfinished":1, "progress":"90%" }
progress | Porcentagem de destinatários que:
|
unfinished | Número de destinatários na campanha que não atingiram o final da sequência ou para quem a sequência não foi interrompida. |
status | Status da campanha. Saiba mais |
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 |