Перейти к содержимому
Tutorial

Как использовать Botoi TypeScript SDK с 5 реальными примерами

| 7 min read

Установите @botoi/sdk, вызывайте более 150 конечных точек с полной безопасностью типов, автоматическим повтором и нулевыми зависимостями. Включено пять примеров копирования.

TypeScript code in a VS Code editor
Photo by Safar Safarov on Unsplash

Вы создаете приложение Node.js, и вам необходимо проверять электронную почту, делать снимки экрана, обнаруживать личные данные в поддержка билетов или создание QR-кодов для квитанций. Вы могли бы написать fetch обертки, обрабатывать повторные попытки, анализировать ошибки и надеяться, что типы останутся синхронизированными с API. Или вы можете установить один пакет.

The @botoi/sdk пакет дает вам набранный доступ к более чем 150 конечным точкам с автоматическим повтором, классами ошибок и нулевыми зависимостями. Этот пост ходит через пять примеров копирования и вставки, которые вы можете отправить сегодня.

Установить и инициализировать

SDK читает BOTOI_API_KEY из вашей среды по умолчанию. Нет ключа API? Анонимный доступ работает на 5 запросов в минуту и 100 в день. Пакет не имеет никаких зависимостей и требуется Node.js 20+.

Пять вещей, которые вы можете построить сегодня

Сканируйте вводимые пользователем данные на предмет личных данных перед входом в систему.

Заявки в службу поддержки содержат адреса электронной почты, номера телефонов и SSN, которые клиенты вставляют, не задумываясь. Если вы регистрируете эти полезные данные, вы сохраняете личные данные, которые никогда не запрашивали. pii.detect Метод находит конфиденциальные данные, поэтому вы можете отредактировать их до того, как они попадут в вашу базу данных.

Ответ:

Каждая находка включает в себя сущность type, совпавший valueи start/end позиции персонажей. Используйте эти смещения для замены конфиденциальных текст с [REDACTED] перед записью в логи.

Генерация схем Zod на основе ответов API

Вы получаете JSON от стороннего API и нуждаетесь в проверке во время выполнения. Рукописные схемы Zod для Намерение платежа в полосе из 30 полей требует времени, которого у вас нет. schema.jsonToZod Метод генерирует схему из любого объекта JSON.

Выход:

Вставьте вывод в свою кодовую базу, добавьте import { z } from "zod", и ты иметь типы, проверенные во время выполнения, менее чем за 30 секунд. Обрабатываются вложенные объекты и массивы. рекурсивно.

Определите, какой технологический стек использует конкурент

Исследование конкурентов обычно подразумевает открытие DevTools и предположение по тегам скриптов. techDetect.detect метод сканирует URL-адрес и возвращает результаты по категориям; рамки, аналитика, CDN, хостинг-провайдеры и многое другое.

Ответ:

Каждая технология включает в себя оценку достоверности и категорию. Полезно для анализа продаж, рынка исследование или аудит вашего собственного стека.

Программное создание полностраничных снимков экрана

Изображения для предварительного просмотра в социальных сетях, отчеты в формате PDF, тесты визуальной регрессии. Им всем нужны скриншоты. screenshot.capture метод возвращает двоичный файл Response возражай, ты можешь писать прямо на диск.

Двоичные конечные точки (скриншоты, PDF-файлы, изображения) возвращают необработанный Response. Вызов .arrayBuffer() чтобы получить байты. Конечная точка поддерживает пользовательские области просмотра, полностраничные захвата и форматы PNG/JPEG/WebP.

Генерировать QR-коды в формате SVG

Чеки, билеты на мероприятия, маркетинговые материалы. QR-коды появляются повсюду. qr.generate по умолчанию метод возвращает SVG, что означает бесконечное масштабирование и крошечный размеры файлов.

Выходные данные SVG представляют собой автономную строку, которую можно встроить в HTML, сохранить в файл или включить в PDF-файл. Пользовательские цвета, уровни исправления ошибок и размер можно настроить.

Обработка ошибок, которая поможет вам восстановиться

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

SDK автоматически повторяет попытки ошибок 429 и 5xx с экспоненциальной задержкой (по умолчанию до 3 попыток). Большинство временных сбоев разрешаются без вмешательства вашего кода. BotoiRateLimitError включает в себя retryAfter свойство за считанные секунды, поэтому вы можете создавать резервные копии на основе очередей для больших объемов работы.

Варианты конфигурации

Самая простая конфигурация считывает всё из среды:

Набор BOTOI_API_KEY в твоем .env файл, и SDK подхватит его. автоматически. Никаких аргументов конструктора не требуется.

Что включено

SDK предоставляет 87 пространств имен ресурсов, охватывающих поиск, обработку текста, утилиты разработчика, услуги безопасности и проверки, создания изображений и хранения. Каждый метод полностью типизирован; наведите курсор на любой вызов в редакторе, чтобы увидеть параметры запроса и форму ответа.

Несколько пространств имен, с которых можно начать:

  • botoi.ip, botoi.email, botoi.dns для поиска
  • botoi.hash, botoi.jwt, botoi.uuid для утилит для разработчиков
  • botoi.pii, botoi.encrypt, botoi.validate для безопасности
  • botoi.qr, botoi.screenshot, botoi.og для создания изображений
  • botoi.schema, botoi.json, botoi.csv для преобразования данных

Полный справочник по SDK см. на странице /СДК/или просмотрите пакет на НПМ.

FAQ

Работает ли SDK без ключа API?
Да. Анонимный доступ дает 5 запросов в минуту и ​​100 в день. Передайте ключ API для более высоких лимитов.
Что происходит, когда API возвращает 429?
SDK перехватывает его и повторяет попытку с экспоненциальной задержкой, учитывая заголовок Retry-After. Вы можете настроить maxRetries (по умолчанию: 3).
Могу ли я использовать SDK в браузере?
SDK предназначен для Node.js 20+. Для использования в браузере вызовите REST API напрямую с помощью fetch.
Как обрабатывать двоичные ответы, такие как снимки экрана и QR-коды?
Двоичные конечные точки возвращают объект Response. Вызовите .arrayBuffer() для изображений или .text() для строк SVG.
Есть ли SDK для Python?
Еще нет. REST API работает на любом языке с поддержкой HTTP. примеры завитков находятся в документации API.

Начните разработку с botoi

150+ API-эндпоинтов для поиска, обработки текста, генерации изображений и утилит для разработчиков. Бесплатный тариф, без банковской карты.