Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system

- Added comprehensive AI Assistant system (aiassist/ directory):
  * Vector search and embedding capabilities
  * Typebot proxy integration
  * Elastic search functionality
  * Message classification and chat history
  * MCP proxy for external integrations

- Implemented Court Status API (GetCourtStatus.php):
  * Real-time court document status checking
  * Integration with external court systems
  * Comprehensive error handling and logging

- Enhanced S3 integration:
  * Improved file backup system with metadata
  * Batch processing capabilities
  * Enhanced error logging and recovery
  * Copy operations with URL fixing

- Added Telegram contact creation API
- Improved error logging across all modules
- Enhanced callback system for AI responses
- Extensive backup file storage with timestamps
- Updated documentation and README files

- File storage improvements:
  * Thousands of backup files with proper metadata
  * Fix operations for broken file references
  * Project-specific backup and recovery systems
  * Comprehensive file integrity checking

Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
This commit is contained in:
Fedor
2025-10-16 11:17:21 +03:00
parent dabcd43a00
commit ac7467f0b4
26580 changed files with 50860 additions and 3261 deletions

112
CREATE_TG_CONTACT_API.md Normal file
View File

@@ -0,0 +1,112 @@
# 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