Snov.io API: методи для пошуку, верифікації та розсилок

Користуйтеся інструментами Snov.io за допомогою нашого простого REST API. Інтегруйте Snov.io API до своєї платформи для синхронізації лідів, пошуку і перевірки їхніх контактів, запуску розсилок та ін. Пропускна здатність API обмежена 60 запитами на хвилину.

Якщо у вас безплатний тариф Snov.io і ви хочете затестити функціонал API без апґрейду, напишіть нам на help@snov.io.

Автентифікація

Для автентифікації майбутніх запитів вам необхідно згенерувати токен доступу. Відправляючи запит, укажіть токен доступу в полі для авторизації.

Authorization: Bearer QSlHffXmCAILIOHNGXToq4LsP2yX64VQhEBZ7Ei4

Ось приклад генерування токену.

Запит
POSThttps://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":"3yUyQZdks0Ej7T2fXzjUWzwlTcO4dWisKkeMpESz",
"token_type":"Bearer",
"expires_in":3600
}
Параметри відповіді
access_token
Ваш новий токен доступу.
token_type
Завжди Bearer
expires_in
Строк дії токену (в секундах).

Методи API

GETПошук за доменом V.2

1 кредит за 10 адрес/контактів

Укажіть домен, і Snov.io надасть вам всі email-адреси, які з ним пов'язані.

Якщо в базі даних є додаткова інформація про людину, якій належить емейл, її також буде додано.

За кожен запит ми надаємо вам до 100 адрес. Запит, за яким не повернулася хоча б одна адреса, не оплачується.

Запит
GEThttps://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-адрес з певного домену є в нашій базі даних. Ця послуга безплатна і кредити за неї не списуються.

Запит
POSThttps://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)
Приклад відповіді
{
"success":true,
"domain":"octagon.com",
"webmail":false,
"result":1369
}
Параметри відповіді
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 запитів/годину
Запит
POSThttps://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)
Приклад відповіді
{
"success":true,
"params":{
"firstName":"gavin",
"lastName":"vanrooyen",
"domain":"octagon.com"
},
"data":{
"firstName":"gavin",
"lastName":"vanrooyen",
"emails":[
{
"email":"Gavin@octagon.com",
"emailStatus":"valid"
}
]
},
"status":{
"identifier":"complete",
"description":"Emails search is completed"
}
}
Параметри відповіді
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 запитів/годину
Запит
POSThttps://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)
Приклад відповіді
{
"success":true,
"firstName":"gavin",
"lastName":"vanrooyen",
"domain":"octagon.com",
"userId":666871,
"sent":true
}

Якщо адресу електронноЇ пошти було додано до черги, метод поверне "sent":true.

POSTШукати контакт за посиланням на профіль

1 кредит за запит

Знаходьте контакти за профілями соцмереж. Для подальшого отримання результатів пошуку застосовуйте метод «Отримати контакт за посиланням на профіль».

Запит
POSThttps://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Отримати контакт за посиланням на профіль

Безплатно

Після застосування методу «Шукати контакт за посиланням на профіль», використовуйте цей метод для отримання результатів пошуку. Результат буде містити повну інформацію про контакт та всі знайдені адреси електронної пошти.

Запит
POSThttps://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 поверне всю пов'язану з власником емейлу інформацію, яка міститься у нашій базі даних.

Якщо нам не вдасться знайти інформацію про власника адреси у нашій базі даних, оплата за запит не буде знята.

Запит
POSThttps://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-адрес/годину
Запит
POSThttps://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)
Приклад відповіді
{
"success":true,
"gavin.vanrooyen@octagon.com":{
"status":{
"identifier":"not_verified",
"description":"Email is not verified, try to send it for verification"
},
"data":[
]
},
"lizi.hamer@octagon.com":{
"data":{
"email":"lizi.hamer@octagon.com",
"isValidFormat":true,
"isDisposable":false,
"isWebmail":true,
"isGibberish":false,
"smtpStatus":"valid"
"isCatchall":false
"isGreylist":false
"isBannedError":false
"isConnectionError":false
},
"status":{
"identifier":"complete",
"description":"Email verification is completed"
}
}
}

Цей метод поверне дані за кожною адресою, зазначеною в запиті. Відповідь міститиме статус та результати верифікації емейлу.

Параметри відповіді
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-адрес/годину
Запит
POSThttps://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)
Приклад відповіді
{
"success":true,
"gavin.vanrooyen@octagon.com":{
"sent":true
},
"lizi.hamer@octagon.com":{
"sent":true
}
}

Якщо адреса електронної пошти додана до черги, метод поверне "sent":true.

POSTЗмінити статус отримувача

Безплатно

Змініть статус отримувача конкретної розсилки.

Запит
POSThttps://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Список контактів, для яких завершена розсилка

Безплатно

Цей метод надає список контактів, для яких розсилка завершена.

Запит
GEThttps://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, назвою розсилки та ін.

Запит
GEThttps://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Інформація про відкриття емейлів у розсилці

Безплатно

Цей метод показує інформацію про відкриті емейли в розсилці.

Запит
GEThttps://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Перегляд переходів за посиланнями

Безплатно

Цей метод повертає інформацію про всіх отримувачів в межах розсилки, які перейшли за посиланням в емейлах.

Запит
GEThttps://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Перегляд відправлених емейлів

Безплатно

Цей метод показує інформацію про відправлені емейли в межах вибраної розсилки.

Запит
GEThttps://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Переглянути усі розсилки

Безплатно

Цей метод надає список усіх розсилок користувача.

Запит
GEThttps://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Додати контакти до списку винятків

Безплатно

За допомогою цього методу ви можете додати адресу або домен до списку «Контакти-винятки». Після додавання ви не зможете надсилати листи на ці адреси/домени.

Запит
POSThttps://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Додати контакти до списку

Безплатно

Використовуйте цей метод, якщо вам необхідно автоматизувати додавання контактів до списків, для яких запущена розсилка. Таким чином, після додавання контакта до вибраного списку, розсилка для нього почнеться автоматично.

Запит
POSThttps://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 контакта, ви можете отримати повну інформацію про нього, включно зі списками та розсилками, до яких він доданий.

Запит
POSThttps://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-адресою ви отримуєте список усіх контактів, які пов'язані з адресою. Кожен елемент списку містить повну інформацію про контакт, включно зі списками та розсилками, до яких він доданий.

Запит
POSThttps://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Знайти кастомні поля контактів.

Безплатно

Цей метод повертає список усіх кастомних полів, створених користувачем, включно з назвами полів, параметрами, які визначають, обов'язкове поле чи ні, та типом інформації у полі.

Запит
GEThttps://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Перегляд списків користувача

Безплатно

Цей метод надає всі списки, створені користувачем. Ви можете використовувати цей метод, щоб перевірити списки, які можна використовувати для тригерних розсилок.

Запит
GEThttps://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-адреса та статус.

Запит
POSThttps://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Створення нового списку контактів

Безплатно

Скористайтеся цим методом, щоб створити новий список контактів у своєму акаунті.

Запит
POSThttps://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Перевірка балансу

Безплатно

Використовуйте цей метод, якщо вам необхідно перевірити залишок кредитів на рахунку.

Запит
GEThttps://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Список всіх вебхуків

Цей метод API дозволяє отримати список вебхуків з вашого акаунта.
Запит
GEThttps://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
intID вебхуку
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Додати вебхук

Цей метод API дозволяє підписатися на вебхук та отримувати сповіщення про події на визначену URL кінцевої точки.
Запит
POSThttps://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
intID вебхуку
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 вебхуків.

Запит
PUThttps://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
intID вебхуку
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 вебхуків.

Запит
DELETEhttps://api.snov.io/v2/webhooks/webhook_id
Заголовок запиту даних

Content-Type: application/json

Приклад запиту
{
    https://api.snov.io/v2/webhooks/8
}
Приклад відповіді
{
    "data": {
        "success": true
    }
}
Параметри відповіді
Відповідь повертає колекцію моделей вебхуків. Властивості моделі перераховані нижче:
ПараметрТип данихТип даних
success
booleanВизначає, чи вебхук видалено