npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@mobilon-dev/gupshup

v0.2.20

Published

Gupshup API client

Downloads

55

Readme

@mobilon-dev/gupshup

npm version License: MIT

Полнофункциональная TypeScript библиотека для работы с Gupshup WhatsApp Business API. Предоставляет удобные клиенты для отправки сообщений, управления шаблонами, подписками и бизнес-профилем.

📋 Содержание

🚀 Установка

npm install @mobilon-dev/gupshup

⚡ Быстрый старт

Отправка текстового сообщения

import { GupshupAPIClient } from '@mobilon-dev/gupshup';

const client = new GupshupAPIClient({
  API_KEY: 'your-api-key',
  APP_NAME: 'your-app-name',
  SOURCE_MOBILE_NUMBER: 'your-phone-number',
  APP_ID: 'your-app-id',
  debug: true
});

// Отправка простого текстового сообщения
const response = await client.sendTextMessage('79135292926', 'Привет!');
console.log(response.data);

🔧 Клиенты

GupshupAPIClient

Основной клиент для работы с WhatsApp Business API. Позволяет отправлять различные типы сообщений и управлять бизнес-профилем.

Возможности:

  • ✅ Отправка текстовых сообщений
  • ✅ Отправка медиа-сообщений (изображения, видео, аудио, файлы, стикеры)
  • ✅ Отправка шаблонных сообщений
  • ✅ Отправка интерактивных сообщений (списки, быстрые ответы)
  • ✅ Отправка контактных карточек и геолокации
  • ✅ Управление бизнес-профилем
  • ✅ Работа с подписками и opt-in пользователями
  • ✅ Управление шаблонами сообщений
const client = new GupshupAPIClient({
  API_KEY: 'your-api-key',
  APP_NAME: 'your-app-name',
  SOURCE_MOBILE_NUMBER: 'your-phone-number',
  APP_ID: 'your-app-id',
  debug: true
});

GupshupPartnerApiClient

Клиент для работы с партнерским API Gupshup. Предоставляет расширенные возможности для партнеров.

Возможности:

  • ✅ Управление подписками
  • ✅ Создание и редактирование шаблонов
  • ✅ Загрузка медиа-файлов
  • ✅ Получение статистики и аналитики
  • ✅ Управление бизнес-профилем
const partnerClient = new GupshupPartnerApiClient({
  appId: 'your-app-id',
  appToken: 'your-app-token',
  debug: true
});

GupshupPartnerTokenApiClient

Клиент для работы с токенами партнерского API. Управляет доступом к приложениям и созданием новых приложений.

Возможности:

  • ✅ Получение токенов доступа для приложений
  • ✅ Создание новых приложений
  • ✅ Управление партнерскими приложениями
  • ✅ Генерация ссылок авторизации
const tokenClient = new GupshupPartnerTokenApiClient({
  partnerToken: 'your-partner-token',
  debug: true
});

GupshupPartnerServiceClient

Сервисный клиент для аутентификации в партнерском портале.

Возможности:

  • ✅ Аутентификация партнера
  • ✅ Получение партнерского токена
const serviceClient = new GupshupPartnerServiceClient({ debug: true });
const authData = await serviceClient.getPartnerToken('[email protected]', 'password');

📝 Примеры использования

Отправка различных типов сообщений

// Текстовое сообщение
await client.sendTextMessage('79135292926', 'Привет!');

// Изображение с подписью
await client.sendMediaImageMessage(
  '79135292926',
  'https://example.com/image.jpg',
  'Посмотрите на это изображение!'
);

// Шаблонное сообщение
await client.sendTemplateTextMessage(
  '79135292926',
  'template-id',
  ['параметр1', 'параметр2']
);

// Интерактивное сообщение со списком
await client.sendListMessage('79135292926', {
  title: 'Выберите опцию',
  body: 'Доступные варианты:',
  buttonText: 'Выбрать',
  sections: [{
    title: 'Опции',
    rows: [
      { id: '1', title: 'Опция 1', description: 'Описание опции 1' },
      { id: '2', title: 'Опция 2', description: 'Описание опции 2' }
    ]
  }]
});

Работа с бизнес-профилем

// Получение информации о бизнес-профиле
const profile = await client.getBusinessProfile();

// Обновление описания
await client.updateBusinessProfileAbout('Новое описание компании');

// Обновление фото профиля
await client.updateBusinessProfilePhoto('https://example.com/logo.jpg');

Управление подписками

// Добавление подписки
await client.addSubscription({
  phone: '79135292926',
  status: 'subscribed'
});

// Получение списка подписчиков
const subscribers = await client.getOptInUsersList();

Работа с партнерским API

// Получение всех подписок
const subscriptions = await partnerClient.getAllSubscriptions();

// Создание нового шаблона
const template = await partnerClient.createTemplate({
  name: 'welcome_template',
  category: 'UTILITY',
  components: [{
    type: 'HEADER',
    format: 'TEXT',
    text: 'Добро пожаловать!'
  }, {
    type: 'BODY',
    text: 'Спасибо за регистрацию, {{1}}!'
  }]
});

// Загрузка медиа-файла
const mediaId = await partnerClient.uploadMedia('path/to/image.jpg');

📚 Документация

Подробная документация с примерами доступна в папке /docs после сборки проекта:

npm run build
npm run docs:view

🔗 Полезные ссылки

🛠️ Разработка

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

npm install

Сборка проекта

npm run build

Запуск тестов

npm test

Линтинг

npm run lint-fix

Генерация документации

npm run docs:build
npm run docs:view

📄 Лицензия

MIT License - см. файл LICENSE для подробностей.

🤝 Поддержка

Если у вас есть вопросы или предложения, создайте issue в репозитории или обратитесь в Telegram группу Gupshup.