QannasAPI

Соберите проверенный список лидов одним вызовом

Что вы построите: проверенный список людей в компаниях, подходящих под ваши фильтры, через серверный сценарий lead-list — сначала оценка, затем запуск, затем выгрузка в CSV.

РазделСерверные сценарии
Используемые действияPOST /v1/data/workflows/lead-list:estimatePOST /v1/data/workflows/lead-list
Кредиты7 за найденного человека (худший случай)
Работает с тестовым ключомНет — нужен боевой ключ
Время на выполнение~15 мин
ТребованияКлюч qk_live_ с балансом кредитов. Рецепт затрагивает платные источники, поэтому тестовый ключ вернёт фиксированные данные вместо живых результатов.

Что связывает сценарий

На каждого человека на нашей стороне выполняются три шага: найти кандидатов под ваши фильтры, найти адрес электронной почты, затем проверить этот адрес. Вы отправляете один запрос вместо оркестрации трёх, и каждый шаг тарифицируется, только если что-то дал.

list-workflows.sh
# Discover what is available to your key rather than
# trusting a list copied from a page.
curl https://api.qannasapi.com/v1/data/workflows \
  -H "Authorization: Bearer $QANNAS_API_KEY"

Оцените через dry_run

Отправьте тело сценария с dry_run: true и получите разбивку кредитов по шагам, ничего не запуская. Именно на это число закладывайте бюджет — оно предполагает успех каждого шага для каждого человека.

quote.sh
curl -X POST https://api.qannasapi.com/v1/data/workflows/lead-list \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "inputs": {"industry": "logistics", "country": "AE"},
        "limit": 25,
        "dry_run": true
      }'

# < X-Credits-Charged: 0   # the quote is free

Запустите

Уберите dry_run и отправьте то же тело. Задайте format как csv, если нужен файл, а не JSON; markdown тоже доступен. Ответ несёт те же заголовки кредитов, что и любой другой вызов, поэтому сверить запуск с оценкой можно сразу.

run.sh
# Same body, without dry_run. format: json | csv | markdown
curl -X POST https://api.qannasapi.com/v1/data/workflows/lead-list \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "inputs": {"industry": "logistics", "country": "AE"},
        "limit": 25,
        "format": "csv"
      }'

# < X-Credits-Charged: 138  # reconcile this against the quote

Обновляйте по дельте

Включите track_delta на первом запуске и передайте возвращённый курсор как since_cursor на следующем, чтобы получать только изменившееся. Учтите: дельта — это фильтр на то, что вы получаете, а не скидка на то, что вы платите.

delta.sh
# Run one: ask for a cursor.
curl -X POST https://api.qannasapi.com/v1/data/search/people \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -d '{"query": "logistics AE", "track_delta": true}'

# Run two: receive only what changed.
# NOTE: delta filters what you RECEIVE. It is not a discount.
curl -X POST https://api.qannasapi.com/v1/data/search/people \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -d '{"query": "logistics AE", "since_cursor": "cur_..."}'

Итоги

ПриёмКак
ОценкаPOST /v1/data/workflows/lead-list с dry_run: true
ЗапускТо же тело, без dry_run
Связанные шагипоиск → поиск адреса → проверка, с оплатой за шаг
Формат выводаformat: json | csv | markdown
Инкрементальное обновлениеtrack_delta на первом запуске, затем since_cursor
Форма стоимостиЗа найденного человека, а не за запрошенного

Чек-лист перед продакшеном

  • Оценивайте через dry_run перед каждым запланированным запуском, а не только первым.
  • Планируйте бюджет по потолку; сверяйтесь по X-Credits-Charged.
  • Храните курсор дельты вместе со списком, а не в памяти приложения.
  • Периодически перепроверяйте адреса — доставляемость деградирует.

Дальше

Сначала запустите оценку. Она ничего не стоит и использует ровно ту же арифметику, что и счётчик.