Files
crm.clientright.ru/CREATE_TG_CONTACT_API.md

113 lines
3.6 KiB
Markdown
Raw Permalink Normal View History

# CreateTGContact API - Документация
## Описание
Отдельный эндпоинт для создания контактов из Telegram с минимальными данными.
## URL
```
POST https://crm.clientright.ru/webservice.php
```
## Параметры
### Обязательные
- **`operation`** = `CreateTGContact`
- **`sessionName`** — токен сессии (получается через login)
- **`tgid`** — ID пользователя в Telegram
### Опциональные
- **`mobile`** — номер мобильного телефона
- **`firstname`** — имя (по умолчанию: "Telegram")
- **`lastname`** — фамилия (по умолчанию: "User_" + последние 4 цифры tgid)
## Пример запроса
### 1. Получение токена
```bash
curl -X POST "https://crm.clientright.ru/webservice.php" \
-d "operation=getchallenge&username=api"
```
### 2. Авторизация
```bash
curl -X POST "https://crm.clientright.ru/webservice.php" \
-d "operation=login&username=api&accessKey=GENERATED_KEY"
```
### 3. Создание контакта
```bash
curl -X POST "https://crm.clientright.ru/webservice.php" \
-d "operation=CreateTGContact&sessionName=SESSION_TOKEN&tgid=123456789&mobile=79261234567&firstname=Иван&lastname=Петров"
```
## Пример ответа
### Успех
```json
{
"success": true,
"result": "123456"
}
```
### Ошибка
```json
{
"success": false,
"error": {
"code": "INVALIDID",
"message": "Не заполнено обязательное поле: tgid"
}
}
```
## Особенности
### Форматирование телефона
- Автоматически очищается от нецифровых символов
- Приводится к формату 7XXXXXXXXXX
- Поддерживает форматы: 8XXXXXXXXXX, XXXXXXXXXX, 7XXXXXXXXXX
### Дефолтные значения
- **Имя:** "Telegram" (если не указано)
- **Фамилия:** "User_" + последние 4 цифры tgid (если не указана)
- **Email:** пустой
- **Дата рождения:** 01-01-1900
- **ИНН:** пустой
- **Адрес:** пустой
### Логика дублирования
- Проверка по полю `phone` (где хранится tgid)
- Если контакт с таким tgid существует — обновляется
- Если не существует — создается новый
## Логирование
Все операции записываются в файл `logs/CreateTGContact.log`
## Регистрация операции
Операция `CreateTGContact` зарегистрирована в базе данных CRM с ID: 47
## Отличия от CreateContact
| Параметр | CreateContact | CreateTGContact |
|----------|---------------|-----------------|
| Обязательные поля | firstname, lastname, birthday, mobile, inn | tgid |
| Дублирование | По mobile | По tgid (в поле phone) |
| Дефолтные значения | Нет | Есть |
| Логи | CreateContact.log | CreateTGContact.log |
## Интеграция с Telegram
```php
// Пример для Telegram бота
$tgid = $message['from']['id'];
$mobile = $message['contact']['phone_number'] ?? '';
$firstname = $message['from']['first_name'] ?? '';
$lastname = $message['from']['last_name'] ?? '';
$contact_id = vtws_createtgcontact($tgid, $mobile, $firstname, $lastname);
```
## Автор
Фёдор - 2025-09-29