Snov.io API: методи для пошуку, верифікації та розсилок
Користуйтеся інструментами Snov.io за допомогою нашого простого REST API. Інтегруйте Snov.io API до своєї платформи для синхронізації лідів, пошуку і перевірки їхніх контактів, запуску розсилок та ін. Пропускна здатність API обмежена 60 запитами на хвилину.
Якщо у вас безплатний тариф Snov.io і ви хочете затестити функціонал API без апґрейду, напишіть нам на help@snov.io.
Автентифікація
Для автентифікації майбутніх запитів вам необхідно згенерувати токен доступу. Відправляючи запит, укажіть токен доступу в полі для авторизації.
Authorization: Bearer QSlHffXmCAILIOHNGXToq4LsP2yX64VQhEBZ7Ei4 |
Ось приклад генерування токену.
POST | https://api.snov.io/v1/oauth/access_token |
grant_type | Завжди client_credentials |
client_id | Ваш персональний id, який можна знайти в налаштуваннях акаунтаhttps://app.snov.io/account#/api |
client_secret | Ваш секретний ключ, який можна знайти в налаштуваннях акаунтаhttps://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 | Ваш новий токен доступу. |
token_type | Завжди Bearer |
expires_in | Строк дії токену (в секундах). |
Методи API
GETПошук за доменом V.2
1 кредит за 10 адрес/контактівУкажіть домен, і Snov.io надасть вам всі email-адреси, які з ним пов'язані.
Якщо в базі даних є додаткова інформація про людину, якій належить емейл, її також буде додано.
За кожен запит ми надаємо вам до 100 адрес. Запит, за яким не повернулася хоча б одна адреса, не оплачується.
GET | https://api.snov.io/v2/domain-emails-with-info |
domain | Домен, на якому ви хочете знайти email-адреси. Наприклад, «snov.io». |
type | Може містити різні значення: all
,personal або generic . Загальна адреса електронної пошти пов'язана з функцією співробітників, які її використовують, наприклад, contact@snov.io.Персональний емейл — це адреса конкретного співробітника компанії. |
limit | Використовуйте це поле, щоб зазначити кількість адрес, яку необхідно знайти. Кожен запит повертає до 100 адрес. |
lastId | Щоб зібрати більше email-адрес, ніж зазначено у вхідному параметрі Limit, у наступному запиті зазначте id останньої знайденої адреси з попереднього запиту. Таким чином, раніше зібрані email-адреси будуть пропущені. Зверніть увагу, що параметр lastId — обов'язковий. Значення за замовчуванням — 0
. |
positions | Використовуйте цей параметр для фільтрації лідів за посадою. Наприклад, «Software Developer». Щоб відфільтрувати за кількома позиціями, зазначте відповідний масив з усіма посадами, що вас цікавлять. |
<?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 | Домен, для якого API знайшов email-адреси. |
webmail | Буде true , якщо вибраний вами домен — сайт електронної пошти. |
result | Кількість email-адрес, знайдених нами для цього домену. Ми не можемо надати результати для сайтів електронної пошти, тому для них результат завжди буде 0
. |
limit | Визначає максимальну кількість адрес, які будуть повернені за запит. |
companyName | Назва компанії, яка використовується для пошуку адрес. |
emails | Адреси з домену, знайдені під час пошуку. |
email | Конкретний емейл, знайдений в результаті пошуку. |
type | Може мати значення prospect або email . Якщо повернене значення prospect , значить Snov.io знайшов додаткову інформацію про власника email-адреси. |
status | Статус перевірки email-адреси. Може бути verified або notVerified . |
firstName | Ім'я власника email-адреси. |
lastName | Прізвище власника email-адреси. |
position | Поточна посада власника email-адреси. |
sourcePage | Сторінка, на якій були знайдені персональні контакти. |
lastId | Id останньої зібраної email-адреси з попереднього пошуку. |
POSTПідрахунок адрес
БезплатноЦей метод API дозволяє дізнатися скільки email-адрес з певного домену є в нашій базі даних. Ця послуга безплатна і кредити за неї не списуються.
POST | https://api.snov.io/v1/get-domain-emails-count |
domain | Ім'я домену, кількість емейлів на якому вам необхідно дізнатися. |
<?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 | Ім'я домену, кількість емейлів на якому вам необхідно дізнатися. |
webmail | Буде true , якщо вибраний вами домен — сайт електронної пошти. |
result | Загальна кількість email-адрес, які були знайдені для цього домену. Ми не можемо надати результати для сайтів електронної пошти, тому для них результат завжди буде 0
. |
POSTПошук адрес
БезплатноЦей метод API шукає адреси за іменем і прізвищем людини та доменом. Якщо емейл відсутній у нашій базі даних, ми не зможемо одразу надати вам результати пошуку. Щоб прискорити процес, скористайтесь методом «Додати імена для пошуку адрес», щоб відправити адресу на перевірку. Після цього скористайтесь методом «Пошук адрес» повторно.
Обмеження: Якщо ви надсилаєте значну кількість запитів протягом години, ви можете побачити таке повідомлення про помилку: «There are too many prospects processing. Please try later»
Кількість допустимих запитів на годину визначає ваш тарифний план:
- Starter - 200 запитів/годину
- Pro 5K - 400 запитів/годину
- Pro 20K - 600 запитів/годину
- Pro 50K - 800 запитів/годину
- Pro 100K - 1 000 запитів/годину
POST | https://api.snov.io/v1/get-emails-from-names |
firstName | Ім'я власника email-адреси. |
lastName | Прізвище власника email-адреси. |
domain | Доменне ім'я, яке використовується в 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 | У цьому полі буде зазначено статус процесу. |
identifier | Може містити такі значення: complete
,in_progress
, або not_found Якщо ідентифікатор not_found , відповідь не буде містити email-адреси. |
description | Статус процесу пошуку адреси. |
data | Містить результати пошуку. |
firstName | Ім'я власника email-адреси. |
lastName | Прізвище власника email-адреси. |
emails | Масив адрес електронної пошти та їхніх статусів. Значення emailStatus може містити статуси valid або unknown
. |
POSTДодати імена для пошуку адрес
1 кредит за запитЯкщо Snov.io не містить необхідні адреси у своїй базі даних і не може надати їх за допомогою метода Пошук адрес, ви можете спробувати відправити запит на пошук адрес, використовуючи цей метод. Якщо адресу буде знайдено, ви зможете безплатно отримати її, повторно відправивши запит через метод Пошук адрес.
Обмеження: Якщо ви надсилаєте значну кількість запитів протягом години, ви можете побачити таке повідомлення про помилку: «There are too many prospects processing. Please try later»
Кількість допустимих запитів на годину визначає ваш тарифний план:
- Starter - 200 запитів/годину
- Pro 5K - 400 запитів/годину
- Pro 20K - 600 запитів/годину
- Pro 50K - 800 запитів/годину
- Pro 100K - 1 000 запитів/годину
POST | https://api.snov.io/v1/add-names-to-find-emails |
firstName | Ім'я власника email-адреси. |
lastName | Прізвище власника email-адреси. |
domain | Доменне ім'я, яке використовується в 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)
{ | ||||||
| ||||||
} |
Якщо адресу електронноЇ пошти було додано до черги, метод поверне "sent":true.
POSTШукати контакт за посиланням на профіль
1 кредит за запитЗнаходьте контакти за профілями соцмереж. Для подальшого отримання результатів пошуку застосовуйте метод «Отримати контакт за посиланням на профіль».
POST | https://api.snov.io/v1/add-url-for-search |
url | Посилання на профіль контакта в соцмережах. Укажіть назву соціальної мережі в [таких дужках] (LinkedIn або 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 , якщо контакт було додано до списку для пошуку. |
message | Під час додавання контакта до списку виникла помилка. |
POSTОтримати контакт за посиланням на профіль
БезплатноПісля застосування методу «Шукати контакт за посиланням на профіль», використовуйте цей метод для отримання результатів пошуку. Результат буде містити повну інформацію про контакт та всі знайдені адреси електронної пошти.
POST | https://api.snov.io/v1/get-emails-from-url |
url | Посилання на профіль контакта в соцмережах. Укажіть назву соціальної мережі в [таких дужках] (LinkedIn або 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 , якщо контакт був знайдений. |
id | Унікальний ідентифікатор профілю. |
name | Повне ім'я контакта. |
firstName | Ім'я контакта. |
lastName | Прізвище контакта. |
industry | Галузь, зазначена в профілі контакта. |
country | Країна контакта. |
locality | Місцезнаходження контакта. |
skills | Навички контакта |
social | Посилання на профілі соцмереж контакта. |
currentJobs | Масив, який містить інформацію про поточну посаду контакта. |
previousJobs | Масив, який містить інформацію про попередні посади контакта. |
lastUpdateDate | Дата останнього оновлення контакта. |
emails | Email-адреса контакта та її актуальний статус. |
POSTЗнайти профіль за адресою
1 кредит за запитЗазначте адресу електронної пошти, і Snov.io поверне всю пов'язану з власником емейлу інформацію, яка міститься у нашій базі даних.
Якщо нам не вдасться знайти інформацію про власника адреси у нашій базі даних, оплата за запит не буде знята.
POST | https://api.snov.io/v1/get-profile-by-email |
email | Адреса електронної пошти особи, про яку ви хочете знайти додаткову інформацію. |
<?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 | Унікальний ідентифікатор профілю. |
source | Джерело отриманих персональних даних. |
name | Повне ім'я власника email-адреси. |
firstName | Ім'я власника email-адреси. |
lastName | Прізвище власника email-адреси. |
logo | Аватар профілю. |
industry | Галузь, зазначена в джерелі даних. |
country | Країна, зазначена в джерелі даних. |
locality | Місцезнаходження, зазначене в джерелі даних. |
social | Посилання на профілі у соцмережах. |
currentJobs | Масив, який містить інформацію про поточну посаду особи. |
previousJobs | Масив, який містить інформацію про попередні посади особи. |
lastUpdateDate | Дата останнього оновлення профілю в базі даних. |
POSTВерифікація адрес
БезплатноПереконайтесь, що отримані адреси валідні й лист, відправлений на них, може бути доставлений. API поверне результати верифікації емейлу. Якщо ми не перевіряли цю адресу раніше, API поверне ідентифікатор «not_verified», а кредити за цю адресу не будуть списуватися. Скористайтесь методом Додати адреси для перевірки, щоб передати цю email-адресу на верифікацію, після чого ви зможете отримати результати перевірки, повторно використовуючи цю URL-адресу.
Обмеження: Якщо ви надсилаєте значну кількість запитів протягом години, ви можете побачити таке повідомлення про помилку: «There are too many prospects processing. Please try later»
Кількість допустимих запитів на годину визначає ваш тарифний план:
- Starter - 500 email-адрес/годину
- Pro 5K - 1 000 email-адрес/годину
- Pro 20K - 1 400 email-адрес/годину
- Pro 50K - 2 000 email-адрес/годин
- Pro 100K - 4 000 email-адрес/годину
POST | https://api.snov.io/v1/get-emails-verification-status |
emails | Email-адреси, які необхідно перевірити. |
<?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)
{ | |||||||||||||||||||||
| |||||||||||||||||||||
| |||||||||||||||||||||
} |
Цей метод поверне дані за кожною адресою, зазначеною в запиті. Відповідь міститиме статус та результати верифікації емейлу.
status | Статус перевірки адреси. Містить ідентифікатор та опис. |
identifier | Може містити такі значення: complete
,in_progress
, або not_verified
.. Якщо ідентифікатор not_verified
,data буде пустим. |
description | У цьому полі буде описано статус процесу верифікації. |
data | Містить додаткову інформацію про результати перевірки: email
,isValidFormat
,isWebmail
,isGibberish
,isCatchall
,isGreylist
,isBannedError
,isConnectionError
. |
email | Email-адреса, яку було перевірено. |
isValidFormat | Буде true , якщо формат правильний, тобто адреса містить допустимі символи в правильному порядку. |
isDisposable | Буде true , якщо установлено, що адреса надана службою одноразової електронної пошти. |
isWebmail | Буде true , якщо адреса надана службою електронної пошти. |
isGibberish | Буде true , якщо адреса згенерована автоматично. |
smtpStatus | Можливі відповіді: valid
,not_valid
,greylisted або unknown (недоступна для перевірки). Ви можете дізнатися більше про email-статуси тут. |
isCatchall | Буде true , якщо адреса належить email-серверу з налаштуваннями catch-all; це означає, що він прийматиме листи, навіть якщо отримувач неактивний або не існує. |
isGreylist | Буде true , якщо сервер домену має активну технологію грейлістингу і блокує спроби верифікувати адресу, навіть коли ми використовуємо методи обходу. |
isBannedError | Буде true , коли ми не можемо отримати відповідь від сервера на наш запит зʼєднання. |
isConnectionError | Буде true , коли зʼявляється помилка на сервері клієнта протягом нашої спроби встановити зʼєднання. |
Якщо smtpStatus greylisted , це означає, що ми тимчасово не можемо верифікувати цей емейл, але продовжимо спроби. Ви можете повторно відправити цей запит API через деякий час (зазвичай від 15 хвилин до 1 години), щоб отримати коректні результати. Зверніть увагу, що ми не знімаємо плату за статус greylisted , допоки ми не зможемо точно визначити SMTP-статус як valid або not_valid . |
POSTДодати адреси для перевірки
1 кредит за адресуЯкщо ви перевіряєте адресу вперше, відправте її на верифікацію за допомогою цього методу API. Після цього ви зможете отримати результати перевірки методом Верифікація адрес.
Обмеження: Якщо ви надсилаєте значну кількість запитів протягом години, ви можете побачити таке повідомлення про помилку: «There are too many prospects processing. Please try later»
Кількість допустимих запитів на годину визначає ваш тарифний план:
- Starter - 500 email-адрес/годину
- Pro 5K - 1 000 email-адрес/годину
- Pro 20K - 1 400 email-адрес/годину
- Pro 50K - 2 000 email-адрес/годин
- Pro 100K - 4 000 email-адрес/годину
POST | https://api.snov.io/v1/add-emails-to-verification |
emails | Список email-адрес, які необхідно додати до черги на перевірку. Кожен запит може містити до 10 адрес. |
<?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)
{ | |||||
| |||||
| |||||
} |
Якщо адреса електронної пошти додана до черги, метод поверне "sent":true.
POSTЗмінити статус отримувача
БезплатноЗмініть статус отримувача конкретної розсилки.
POST | https://api.snov.io/v1/change-recipient-status |
email *обов'язковий | Адреса електронної пошти контакта. |
campaign_id *обов'язковий | Id розсилки. Його можна побачити в адресному рядку під час перегляду інформації про розсилку (приклад). |
status *обов'язковий | Може містити статуси Активний, Призупинений або Відписаний. Ви не можете змінити статус отримувача, якщо він Завершений або Переміщений. |
<?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 }
Метод поверне success: true, якщо статус контакта було змінено. У випадку виникнення помилки метод поверне success: false з описом помилки.
GETСписок контактів, для яких завершена розсилка
БезплатноЦей метод надає список контактів, для яких розсилка завершена.
GET | https://api.snov.io/v1/prospect-finished |
campaignId *обов'язковий | Унікальний id розсилки, за якою вам необхідно переглянути список отримувачів. |
<?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 | Унікальний id запиту. |
prospectId | Унікальний id контакта. |
userName | Повне ім'я контакта. |
userEmail | Email-адреса контакта. |
campaign | Назва розсилки. |
GETВідповіді на розсилку
БезплатноЦей метод повертає інформацію про відповіді на листи з усіма даними, включно з іменем контакта, id, назвою розсилки та ін.
GET | https://api.snov.io/v1/get-emails-replies |
campaignId *обов'язковий | Унікальний id розсилки для перегляду отриманих відповідей. |
offset | Ви можете зібрати до 10 000 відповідей за запит. Якщо у вашій кампанії більше відповідей, використовуйте зміщення, щоб указати, скільки попередніх відповідей ви хочете пропустити. Наприклад, якщо у вашій кампанії 20 000 відповідей, а ви хочете отримати відповіді 10 001-20 000, установіть зміщення на 10 000. Якщо зміщення не вказано, ви отримаєте останні 10 000 відповідей. |
<?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 | Унікальний id розсилки. |
campaign | Назва розсилки. |
prospectName | Повне ім'я контакта. |
emailSubject | Тема емейлу, на який було отримано відповідь. |
emailBody | Зміст емейлу, на який було отримано відповідь. |
GETІнформація про відкриття емейлів у розсилці
БезплатноЦей метод показує інформацію про відкриті емейли в розсилці.
GET | https://api.snov.io/v1/get-emails-opened |
campaignId *обов'язковий | Унікальний id розсилки, за якою ви хочете побачити відкриття емейлів. |
offset | Ви можете зібрати до 10 000 відкриттів за запит. Якщо у вашій кампанії більше відкриттів, використовуйте зміщення, щоб указати, скільки попередніх відкриттів ви хочете пропустити. Наприклад, якщо у вашій кампанії 20 000 відкриттів, а ви хочете отримати відкриття 10 001-20 000, установіть зміщення на 10 000. Якщо зміщення не вказано, ви отримаєте останні 10 000 відкриттів. |
<?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 | Унікальний id розсилки. |
campaign | Назва розсилки. |
prospectName | Повне ім'я отримувача, який відкрив емейл. |
emailSubject | Тема відкритого емейлу. |
visitedAt | Точний час перегляду емейлу. |
GETПерегляд переходів за посиланнями
БезплатноЦей метод повертає інформацію про всіх отримувачів в межах розсилки, які перейшли за посиланням в емейлах.
GET | https://api.snov.io/v1/get-emails-clicked |
campaignId *обов'язковий | Унікальний id розсилки, у якій ви хочете переглянути переходи за посиланнями. |
offset | Ви можете зібрати до 10 000 кліків за запит. Якщо у вашій кампанії більше кліків, використовуйте зміщення, щоб указати, скільки попередніх кліків ви хочете пропустити. Наприклад, якщо у вашій кампанії 20 000 кліків, а ви хочете отримати кліки 10 001-20 000, установіть зміщення на 10 000. Якщо зміщення не вказано, ви отримаєте останні 10 000 кліків. |
<?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 | Унікальний id розсилки. |
campaign | Назва розсилки. |
prospectName | Повне ім'я отримувача, який перейшов за посиланням в емейлі. |
prospectEmail | Email-адреса контакта. |
emailSubject | Тема емейлу, в якому отримувач перейшов за посиланням. |
emailBody | Текст емейлу. |
visitedAt | Точний час переходу за посиланням у листі. |
GETПерегляд відправлених емейлів
БезплатноЦей метод показує інформацію про відправлені емейли в межах вибраної розсилки.
GET | https://api.snov.io/v1/emails-sent |
campaignId *обов'язковий | Унікальний id розсилки, за якою вам необхідно переглянути надіслані емейли. |
offset | Ви можете зібрати до 10 000 надісланих емейлів за запит. Якщо у вашій кампанії більше емейлів, використовуйте зміщення, щоб указати, скільки попередніх емейлів ви хочете пропустити. Наприклад, якщо у вашій кампанії 20 000 емейлів, а ви хочете отримати емейли 10 001-20 000, установіть зміщення на 10 000. Якщо зміщення не вказано, ви отримаєте останні 10 000 емейлів. |
<?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 | Точний час надсилання емейлу. |
userName | Повне ім'я отримувача розсилки. |
userEmail | Email-адреса контакта. |
campaign | Назва розсилки. |
GETПереглянути усі розсилки
БезплатноЦей метод надає список усіх розсилок користувача.
GET | https://api.snov.io/v1/get-user-campaigns |
Для цього методу відсутні вхідні параметри |
<?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 | Унікальний id розсилки користувача. |
campaign | Назва розсилки. |
list_id | Унікальний id списку отримувачів розсилки. |
status | Статус розсилки. |
created_at | Дата та час створення розсилки в форматі Unix Timestamp. |
updated_at | Дата та час останнього редагування розсилки в форматі Unix Timestamp. |
started_at | Дата та час запуску розсилки в форматі Unix Timestamp. |
POSTДодати контакти до списку винятків
БезплатноЗа допомогою цього методу ви можете додати адресу або домен до списку «Контакти-винятки». Після додавання ви не зможете надсилати листи на ці адреси/домени.
POST | https://api.snov.io/v1/do-not-email-list |
items | Адреса або домен, який необхідно додати до списку «Контакти-винятки». |
listId *обов'язковий | ID списку контактів-винятків, в якому знаходяться email-адреси і домени. |
<?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 | Цей параметр показує, які з адрес/доменів були раніше додані до списку винятків. |
POSTДодати контакти до списку
БезплатноВикористовуйте цей метод, якщо вам необхідно автоматизувати додавання контактів до списків, для яких запущена розсилка. Таким чином, після додавання контакта до вибраного списку, розсилка для нього почнеться автоматично.
POST | https://api.snov.io/v1/add-prospect-to-list |
email *обов'язковий | Адреса електронної пошти контакта. |
fullName | Повне ім'я контакта. |
firstName | Ім'я контакта. |
lastName | Прізвище контакта. |
phones | Масив з номерами телефонів контакта. |
country | Країна, у якій проживає контакт. Список країн представлений тут. Будь ласка, використовуйте лише країни з цього списку. |
locality | Місцезнаходження контакта. |
position | Посада контакта. |
companyName | Назва компанії, у якій працює контакт. |
companySite | Сайт компанії, у якій працює контакт. Будь ласка, використовуйте формат http://example.com . |
updateContact | Оновлює інформацію про наявний контакт. Може містити true
, або false
. Якщо вибрано значення true і контакт з таким емейлом вже є в одному зі списків, система оновить наявний профіль. Якщо false , система не оновить наявний профіль. |
customFields[specialization] | Ви можете додати кастомні значення до вже наявних кастомних полів. Для цього зазначте назву поля у [квадратних дужках]. |
socialLinks[linkedIn] | Посилання на профіль контакта в соцмережах. Укажіть назву соціальної мережі в [таких дужках] (LinkedIn, Facebook або X). |
listId *обов'язковий | Id списку, у якому міститься контакт. |
<?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 , якщо контакт було додано до списку. |
id | Ідентифікатор доданого контакта. |
added | Буде true , якщо контакт було додано до списку. |
updated | Буде true , якщо дані контакта було оновлено. |
errors | Під час додавання контакта до списку виникла помилка. |
POSTЗнайти контакт за id
БезплатноЗнаходьте контакти у списках за id. Якщо у вас є id контакта, ви можете отримати повну інформацію про нього, включно зі списками та розсилками, до яких він доданий.
POST | https://api.snov.io/v1/get-prospect-by-id |
id *обов'язковий | Id контакта. Його можна побачити у відповіді, коли ви додаєте контакт за допомогою методу API Додати контакти до списку або в адресному рядку, коли переглядаєте сторінку контакта (приклад). |
<?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 , якщо контакт був знайдений. |
id | Унікальний ідентифікатор профілю. |
name | Повне ім'я контакта. |
firstName | Ім'я контакта. |
lastName | Прізвище контакта. |
industry | Галузь, зазначена в профілі контакта. |
country | Країна контакта. |
locality | Місцезнаходження контакта. |
social | Посилання на профілі соцмереж контакта. |
currentJobs | Масив, який містить інформацію про поточну посаду контакта. |
previousJobs | Масив, який містить інформацію про попередні посади контакта. |
lastUpdateDate | Дата останнього оновлення контакта. |
lists | Списки, до яких було додано контакт. |
campaigns | Список розсилок, отримувачем яких є контакт. Містить коротку статистику, наприклад, статус, кількість отриманих ним листів, відкриттів та відповідей на емейли. |
POSTЗнайти контакт за email-адресою
БезплатноЗнаходьте контакти в списках за адресою електронної пошти. Під час пошуку за email-адресою ви отримуєте список усіх контактів, які пов'язані з адресою. Кожен елемент списку містить повну інформацію про контакт, включно зі списками та розсилками, до яких він доданий.
POST | https://api.snov.io/v1/get-prospects-by-email |
email *обов'язковий | Адреса електронної пошти контакта. |
<?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 , якщо контакт був знайдений. |
id | Унікальний ідентифікатор профілю. |
name | Повне ім'я контакта. |
firstName | Ім'я контакта. |
lastName | Прізвище контакта. |
industry | Галузь, зазначена в профілі контакта. |
country | Країна контакта. |
locality | Місцезнаходження контакта. |
social | Посилання на профілі соцмереж контакта. |
currentJobs | Масив, який містить інформацію про поточну посаду контакта. |
previousJobs | Масив, який містить інформацію про попередні посади контакта. |
lastUpdateDate | Дата останнього оновлення контакта. |
lists | Списки, до яких було додано контакт. |
campaigns | Список розсилок, отримувачем яких є контакт. Містить коротку статистику, наприклад, статус, кількість отриманих ним листів, відкриттів та відповідей на емейли. |
GETЗнайти кастомні поля контактів.
БезплатноЦей метод повертає список усіх кастомних полів, створених користувачем, включно з назвами полів, параметрами, які визначають, обов'язкове поле чи ні, та типом інформації у полі.
GET | https://api.snov.io/v1/prospect-custom-fields |
Для цього методу відсутні вхідні параметри |
<?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 | Ключ поля у масиві customFields . |
label | Назва поля. |
required | Буде true якщо кастомне поле обов'язкове. |
type | Тип даних кастомного поля (рядок, число або дата). |
GETПерегляд списків користувача
БезплатноЦей метод надає всі списки, створені користувачем. Ви можете використовувати цей метод, щоб перевірити списки, які можна використовувати для тригерних розсилок.
GET | https://api.snov.io/v1/get-user-lists |
Для цього методу відсутні вхідні параметри |
<?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 | Унікальний id списку користувача. |
name | Назва списку. |
contacts | Кількість контактів у списку. |
isDeleted | Статус списку. Повертає true , якщо список було видалено. |
creationDate | Дата створення списку (дата, час, часовий пояс). |
deleteDate | Містить дату видалення, якщо список було видалено (дата, час та часовий пояс). |
POSTПерегляд контактів зі списку
БезплатноЦей метод повертає всі дані про контакти в зазначеному списку, як-от їхня email-адреса та статус.
POST | https://api.snov.io/v1/prospect-list |
listId *обов'язковий | Унікальний ID списку. |
page | Ви можете вибрати, з якої сторінки розпочати пошук. Це поле не є обов'язковим. |
perPage | Ви можете вибрати, на якій сторінці завершити пошук. Це поле не є обов'язковим. Максимальне значення — 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)
Зверніть увагу, що результати відображаються в зворотньому порядку, від останнього контакта до першого.
{ "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 | Масив з інформацією про список та контакти в ньому. |
name | Назва списку. |
contacts | Кількість контактів у списку. |
creation_date | Дата створення списку (містить інформацію про дату, час та часовий пояс). |
emailsCount | Кількість email-адрес у списку. |
prospects | Усі контакти зі списку. |
id | Унікальний id контакта. |
name | Повне ім'я контакта. |
emails | Список email-адрес, які належать контакту. |
POSTСтворення нового списку контактів
БезплатноСкористайтеся цим методом, щоб створити новий список контактів у своєму акаунті.
POST | https://api.snov.io/v1/lists |
name | Назва нового списку контактів. |
<?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 | ID нового списку контактів. |
GETПеревірка балансу
БезплатноВикористовуйте цей метод, якщо вам необхідно перевірити залишок кредитів на рахунку.
GET | https://api.snov.io/v1/get-balance |
Для цього методу відсутні вхідні параметри |
<?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 | Поточний баланс користувача в кредитах. |
teamwork | true, якщо ви є учасником команди або її лідером, або false, якщо ви не в команді. |
recipients_used | Статистика використання отримувачів за поточний місяць. |
limit_resets_in | Кількість днів до оновлення ліміту. |
expires_in | Кількість днів до завершення підписки. |
Вебхуки
Вебхук дозволяє отримувати сповіщення про події, що трапилися у вашому акаунті Snov.io.
Ви можете використовувати вебхуки для виклику кінцевої точки (URL-адреси) на своєму сервері щоразу, коли в Snov.io трапляється подія, на яку ви підписалися, і надсилання даних до вашої програми в реальному часі.
Коли трапляється подія, Snov.io надсилає HTTP-запит з JSON на визначену URL-адресу кінцевої точки.
Ви можете підписатися та керувати вебхуками через комплекс викликів API.
Нижче переховані вебхуки обʼєктів та подій, що підтримуються:
Обʼєкт вебхуку: | Подія: | Коли він активується |
---|---|---|
campaign_email | sent | Коли будь-який емейл надсилається отримувачу в будь-якій тригерній розсилці |
first_sent | Коли перший емейл надсилається отримувачу в будь-якій розсилці | |
opened | Коли отримувач відкриває емейл в будь-якій тригерній розсилці | |
campaign_reply | received | Коли отримувач відповідає на будь-який емейл в будь-якій тригерній розсилці |
first_received | Коли отримувач вперше відповідає на емейл в будь-якій тригерній розсилці |
Ліміти: користувачі на преміум-тарифах можуть створювати до 50 вебхуків.
Повторні спроби: Вебхук вважається успішним, коли ми отримуємо статус HTTP з діапазону 200-299 протягом 3 секунд.
Якщо ми отримуємо будь-який інший статус HTTP або спливає час очікування, ми робимо сім повторних спроб зі збільшенням інтервалів протягом 38 годин після події, яка активувала вебкух:
Якщо всі повторні спроби не є успішними, вебхук стає неактивним.
- 1-а: одразу після події
- 2-а: через 20 хвилин після останньої спроби (20 хвилин після події)
- 3-я: через 40 хвилин після останньої спроби (1 година після події)
- 4-а: через 60 хвилин після останньої спроби (2 години після події)
- 5-а: через 4 години після останньої спроби (6 годин після події)
- 6-а: через 8 годин після останньої спроби (14 годин після події)
- 7-а: через 24 години після останньої спроби (38 годин після події)
GETСписок всіх вебхуків
GET | https://api.snov.io/v2/webhooks |
Content-Type: application/json |
У цього методу відсутні вхідні параметри. |
{ "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 } }
Параметр | Тип даних | Тип даних |
---|---|---|
data | array | Колекція моделей вебхуків |
id | int | ID вебхуку |
end_point | string | Поточна URL-адреса, яку ви вказали під час додавання вебхуку і на яку вебхук буде надіслано |
event_object | string | Обʼєкт, з яким трапляється подія |
event_action | string | Подія |
created_at | int | Дата створення вебхуку у форматі Unix Timestamp |
status | string | Статус вебхуку: активний, неактивний |
meta | object | Повʼязані дані |
webhooks_count | int | Загальна кількість вебхуків у вашому акаунті (максимально — 50) |
user_id | int | Ваш ID користувача |
POSTДодати вебхук
POST | https://api.snov.io/v2/webhooks |
Content-Type: application/json |
event_object | обʼєкт, з яким трапляється подія (список обʼєктів, що підтримуються) |
event_action | подія, що трапляється з обʼєктом (список подій, що підтримуються) |
endpoint_url | URL-адреса, на яку надсилається вебхук |
{ "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 } }
Параметр | Тип даних | Тип даних |
---|---|---|
data | object | Дані вебхуку |
id | int | ID вебхуку |
end_point | string | Поточна URL-адреса, яку ви вказали під час додавання вебхуку і на яку вебхук буде надіслано |
event_object | string | Обʼєкт, з яким трапляється подія |
event_action | string | Подія |
created_at | int | Дата створення вебхуку у форматі Unix Timestamp |
status | string | Статус вебхуку: активний, неактивний |
meta | object | Повʼязані дані |
user_id | int | Ваш ID користувача |
PUTЗмінити статус вебхуку
Додайте унікальне значення id вибраного вебхуку в кінці URL-адреси запиту.
Скористайтеся методом «Список всіх вебхуків», щоб отримати значення id вебхуків.
PUT | https://api.snov.io/v2/webhooks/webhook_id |
Content-Type: application/json |
status | активний або неактивний |
{ 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 } }
Параметр | Тип даних | Тип даних |
---|---|---|
data | object | Дані вебхуку |
id | int | ID вебхуку |
end_point | string | Поточна URL-адреса, яку ви вказали під час додавання вебхуку і на яку вебхук буде надіслано |
event_object | string | Обʼєкт, з яким трапляється подія |
event_action | string | Подія |
created_at | int | Дата створення вебхуку у форматі Unix Timestamp |
status | string | Статус вебхуку: активний, неактивний |
meta | object | Повʼязані дані |
user_id | int | Ваш ID користувача |
DELETEВидалити вебхук
Додайте унікальне значення id вибраного вебхуку в кінці URL-адреси запиту.
Скористайтеся методом «Список всіх вебхуків», щоб отримати значення id вебхуків.
DELETE | https://api.snov.io/v2/webhooks/webhook_id |
Content-Type: application/json |
{ https://api.snov.io/v2/webhooks/8 }
{ "data": { "success": true } }
Параметр | Тип даних | Тип даних |
---|---|---|
success | boolean | Визначає, чи вебхук видалено |