Pular para o conteúdo
Tutorial

Como usar o Botoi TypeScript SDK com 5 exemplos reais

| 7 min read

Instale @botoi/sdk, chame mais de 150 endpoints com segurança de tipo completa, repetição automática e zero dependências. Cinco exemplos de copiar e colar incluídos.

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

Você está construindo um aplicativo Node.js e precisa validar e-mails, capturar capturas de tela, detectar PII em suporte a tíquetes ou gere códigos QR para recibos. Você poderia escrever fetch invólucros, lidar com novas tentativas, analisar erros e esperar que os tipos permaneçam sincronizados com a API. Ou você pode instalar um pacote.

O @botoi/sdk pacote dá a você digitado acesso a mais de 150 endpoints com repetição automática, classes de erro e zero dependências. Este post caminha através de cinco exemplos de copiar e colar que você pode enviar hoje.

Instalar e inicializar

O SDK lê BOTOI_API_KEY do seu ambiente por padrão. Nenhuma chave de API? Anônimo o acesso funciona a 5 solicitações por minuto e 100 por dia. O pacote tem zero dependências e requer Node.js 20+.

Cinco coisas que você pode construir hoje

Verifique a entrada do usuário em busca de PII antes de fazer login

Os tickets de suporte contêm e-mails, números de telefone e SSNs que os clientes colam sem pensar. Se você registrar essas cargas úteis, estará armazenando PII que nunca solicitou. O pii.detect O método encontra dados confidenciais para que você possa editá-los antes que cheguem ao seu banco de dados.

Resposta:

Cada descoberta inclui a entidade type, a correspondência value, e o start/end posições dos personagens. Use essas compensações para substituir sensíveis texto com [REDACTED] antes de gravar nos logs.

Gere esquemas Zod a partir de respostas de API

Você obtém JSON de uma API de terceiros e precisa de validação em tempo de execução. Esquemas Zod escritos à mão para um A intenção de pagamento Stripe de 30 campos leva um tempo que você não tem. O schema.jsonToZod método gera o esquema de qualquer objeto JSON.

Saída:

Cole a saída em sua base de código, adicione import { z } from "zod", e você têm tipos validados em tempo de execução em menos de 30 segundos. Objetos aninhados e matrizes são manipulados recursivamente.

Detecte qual pilha de tecnologia um concorrente usa

A pesquisa do concorrente geralmente significa abrir DevTools e adivinhar as tags de script. O techDetect.detect o método verifica uma URL e retorna resultados categorizados; estruturas, análises, CDNs, provedores de hospedagem e muito mais.

Resposta:

Cada tecnologia inclui uma pontuação e categoria de confiança. Útil para inteligência de vendas, mercado pesquisar ou auditar sua própria pilha.

Capture capturas de tela de página inteira programaticamente

Imagens de visualização social, relatórios em PDF, testes de regressão visual. Todos eles precisam de capturas de tela. O screenshot.capture método retorna um binário Response objeto que você pode grave direto no disco.

Pontos de extremidade binários (capturas de tela, PDFs, imagens) retornam um valor bruto Response. Chamar .arrayBuffer() para obter os bytes. O endpoint oferece suporte a viewports personalizadas, página inteira captura e formatos PNG/JPEG/WebP.

Gere códigos QR como SVG

Recibos, ingressos para eventos, materiais de marketing. Os códigos QR aparecem em todos os lugares. O qr.generate método retorna SVG por padrão, o que significa escala infinita e minúsculo tamanhos de arquivo.

A saída SVG é uma string independente que você pode incorporar em HTML, salvar em um arquivo ou incluir em um PDF. Cores personalizadas, níveis de correção de erros e tamanho são todos configuráveis.

Tratamento de erros que ajuda você a se recuperar

O SDK exporta classes de erros digitados para cada modo de falha. Você pode detectar erros específicos e responda de maneira diferente aos limites de taxa, falhas de autenticação e tempos limite.

O SDK tenta automaticamente erros 429 e 5xx com espera exponencial (até três tentativas por padrão). A maioria das falhas transitórias é resolvida sem que seu código as toque. O BotoiRateLimitError inclui um retryAfter propriedade em segundos, para que você possa criar substitutos baseados em fila para cargas de trabalho de alto volume.

Opções de configuração

A configuração mais simples lê tudo do ambiente:

Definir BOTOI_API_KEY em seu .env arquivo e o SDK o pega automaticamente. Não são necessários argumentos de construtor.

O que está incluído

O SDK expõe 87 namespaces de recursos que abrangem pesquisa, processamento de texto, utilitários de desenvolvedor, segurança e validação, geração de imagens e serviços de armazenamento. Cada método é totalmente digitado; passe o mouse sobre qualquer chamada em seu editor para ver os parâmetros da solicitação e o formato da resposta.

Alguns namespaces para começar:

  • botoi.ip, botoi.email, botoi.dns para pesquisas
  • botoi.hash, botoi.jwt, botoi.uuid para utilitários de desenvolvedor
  • botoi.pii, botoi.encrypt, botoi.validate para segurança
  • botoi.qr, botoi.screenshot, botoi.og para geração de imagem
  • botoi.schema, botoi.json, botoi.csv para transformação de dados

Veja a referência completa do SDK em /sdk/ou navegue pelo pacote em npm.

FAQ

O SDK funciona sem uma chave de API?
Sim. O acesso anônimo dá 5 solicitações por minuto e 100 por dia. Passe uma chave de API para limites mais altos.
O que acontece quando a API retorna 429?
O SDK o captura e tenta novamente com espera exponencial, respeitando o cabeçalho Retry-After. Você pode configurar maxRetries (padrão: 3).
Posso usar o SDK em um navegador?
O SDK é direcionado ao Node.js 20+. Para uso no navegador, chame a API REST diretamente com fetch.
Como lidar com respostas binárias, como capturas de tela e códigos QR?
Os pontos de extremidade binários retornam um objeto Response. Chame .arrayBuffer() para imagens ou .text() para strings SVG.
Existe um SDK Python?
Ainda não. A API REST funciona em qualquer linguagem com suporte HTTP. exemplos de curl estão nos documentos da API.

Comece a construir com botoi

150+ endpoints de API para consultas, processamento de texto, geração de imagens e utilitários para desenvolvedores. Plano gratuito, sem cartão de crédito.