ATOM PARSER APIDocs
Документация

Настройка API endpoint

Шаг 1

Настройка API в боте

  1. ATOM PARSER BOT
  2. Профиль
  3. Настройки
  4. API
Шаг 2

Настройте локальный endpoint для получения json

После перехода в раздел API пользователь должен указать свой endpoint. Именно на этот адрес Telegram-бот будет отправлять json с результатами парсинга.

Что нужно сделать: поднять локальный сервер, который принимает POST с json, затем сделать сервер доступным по публичному URL через ngrok или Cloudflare Tunnel и вставить полученный URL в поле API endpoint внутри бота.
Шаг

Создайте локальный endpoint

Сервер должен принять входящий запрос от Telegram-бота и сохранить полученный json.

Шаг

Сделайте сервер доступным по публичному URL

После запуска локальный адрес нужно сделать доступным по публичному URL через ngrok или Cloudflare Tunnel, чтобы бот мог отправить запрос.

Шаг

Вставьте URL в бота

Публичный URL туннеля нужно вставить в раздел API внутри бота. После этого бот сможет присылать файл на указанный endpoint.

Пользователь запускает локальный сервер
Вставляет URL туннеля в API бота
Telegram-бот отправляет json
Пример

Пример локального сервера для приёма json

Ниже базовый пример локального endpoint, который принимает POST-запрос от Telegram-бота, сохраняет тело как json и отвечает статусом 200 OK.

01

Установите зависимости

Создайте папку проекта и установите Express.

npm init -y
npm install express
02

Создайте endpoint

Этот маршрут принимает json и сохраняет его как json.

const express = require("express");
const fs = require("fs");

const app = express();
app.use(express.json({ limit: "10mb" }));

app.post("/atom", (req, res) => {
  fs.writeFileSync(
    "json",
    JSON.stringify(req.body, null, 2)
  );

  res.status(200).json({ ok: true });
});

app.listen(3000, () => {
  console.log("Server running on http://localhost:3000/atom");
});
03

Запустите сервер

После запуска локальная точка приёма будет доступна на порту 3000.

node server.js
04

Сделайте локальный сервер доступным по публичному URL через ngrok или Cloudflare Tunnel

Для теста и быстрой настройки подойдут туннель-сервисы. Пользователь получает публичный URL и вставляет его в боте в поле API endpoint.

# Вариант 1: ngrok
ngrok http 3000

# Вариант 2: Cloudflare Tunnel
cloudflared tunnel --url http://localhost:3000

После запуска сервис выдаст публичный адрес. В бота нужно вставить endpoint в таком формате:

https://your-name.ngrok-free.app/atom
https://random-name.trycloudflare.com/atom
Логика для пользователя: запустить локальный сервер, сделать сервер доступным по публичному URL через ngrok или Cloudflare Tunnel, вставить URL в раздел API внутри бота и затем ждать входящий POST с json.
Шаг 3

После сохранения endpoint бот покажет данные для запуска

Когда endpoint уже добавлен, в боте появляется блок с тремя важными значениями: webhook для получения json, endpoint запуска и secret для старта парсинга.

Что увидит пользователь
Отправляем json на
https://webhook.site/your-endpoint
Endpoint для запуска
https://api.atomparser.io/start_parse
Secret для запуска
SECRET
Важно

Secret нужен для каждого запроса запуска

Пользователь копирует secret из этого меню и использует его в теле POST-запроса. Без корректного secret запуск парсинга не пройдет.

Логика

Запуск идет отдельно от webhook

Сначала пользователь задает endpoint для получения результата, затем отдельно отправляет команду на start_parse, чтобы запустить процесс.

Запуск

Команда запуска парсинга

Ниже готовый пример. Пользователь подставляет свой USER_ID и SECRET из меню бота и отправляет запрос на https://api.atomparser.io/start_parse.

cURL

Это основной пример ручного запуска парсинга через API.

curl -X POST "https://api.atomparser.io/start_parse" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "USER_ID",
    "secret": "SECRET"
}'
Что заменить: вместо USER_ID подставить ID пользователя, а вместо SECRET секрет из меню, которое бот показывает после добавления endpoint.
ATOM PARSER Developer API - @atom_parser_bot