API
1MSG SDK: вызывайте WhatsApp API из своего кода
Клиент 1MSG для TypeScript, Python, Go, Java, C# и других языков. Тот же WhatsApp API: ставите пакет из реестра, вызываете методы и не пишете HTTP-запросы руками.
Если уже вызываете 1MSG по HTTP, ничего не меняется: те же эндпоинты, токены и формат ответов. Новое одно: собирать запросы руками больше не нужно.
Зачем это нужно
Без SDK каждый вызов — это HTTP-запрос, который пишут руками: URL, токен, JSON-тело, свои типы и обработка ошибок. Запрос копируют из документации API и потом сами поддерживают. SDK — тот же слой, только готовым пакетом под нужный язык: вызываете методы, а API остаётся тем же.
Клиенты генерируются из того же контракта OpenAPI, что и сервер, поэтому не отстают от API — в отличие от скопированного когда-то curl. Ради этого и затевалась пересборка бэкенда.
С чего начать
Понадобятся три значения со страницы канала: baseUrl, instanceId и token. Дальше вызываете метод, а не URL. Если канала ещё нет, раздел «Быстрый старт» проведёт через создание аккаунта, тестовый канал и первое сообщение.
TypeScript — самый короткий путь. Пакет ставится командой npm install @1msg/sdk, дальше так:
import { createClient } from '@1msg/sdk';
const client = createClient({
baseUrl: 'https://api.1msg.io',
instanceId: 'YOUR_INSTANCE_ID',
token: process.env.MSG_API_TOKEN!,
});
await client.sendMessage({ body: 'Hello', chatId: '[email protected]' });В остальных языках всё так же: те же три параметра, тот же вызов sendMessage. Команды установки и репозитории — ниже.
Установка
Для большинства языков пакет ставится из реестра. PHP и C++ пока только из исходников.
| Язык | Установка | Исходники |
|---|---|---|
| TypeScript | npm install @1msg/sdk | https://github.com/1msg/1msg-sdk/tree/main/typescript |
| Python | pip install one-msg-sdk | https://github.com/1msg/1msg-sdk/tree/main/python |
| Java | implementation("io.1msg:sdk") | https://github.com/1msg/1msg-sdk/tree/main/java |
| Kotlin | implementation("io.1msg:sdk-kotlin") | https://github.com/1msg/1msg-sdk/tree/main/kotlin |
| Scala | "io.1msg" %% "sdk-scala" | https://github.com/1msg/1msg-sdk/tree/main/scala |
| C# | dotnet add package OneMsg.Sdk | https://github.com/1msg/1msg-sdk/tree/main/csharp |
| Ruby | gem install one_msg_sdk | https://github.com/1msg/1msg-sdk/tree/main/ruby |
| Rust | cargo add one-msg-sdk | https://github.com/1msg/1msg-sdk/tree/main/rust |
| Go | go get github.com/1msg/1msg-sdk-go | https://github.com/1msg/1msg-sdk-go |
| Swift | SwiftPM: 1msg-sdk-swift | https://github.com/1msg/1msg-sdk-swift |
| PHP | composer require 1msg/sdk с GitHub (в Packagist пока не опубликован) | https://github.com/1msg/1msg-sdk-php |
| C++ | git clone + CMake (реестра пока нет) | https://github.com/1msg/1msg-sdk-cpp |
PHP — с GitHub:
composer config repositories.1msg vcs https://github.com/1msg/1msg-sdk-php
composer require 1msg/sdkC++: git clone https://github.com/1msg/1msg-sdk-cpp.git
Выберите язык, установите пакет и отправьте первое сообщение — понадобятся baseUrl, instanceId и token со страницы канала. Обычный HTTP никуда не делся: SDK — это тот же API, только в виде клиента.
