Files
aiform_dev/docs/N8N_MYSQL_GET_CONTACT_DATA.md

75 lines
2.2 KiB
Markdown
Raw Normal View History

# Получение данных контакта из MySQL в n8n
## Задача
В n8n workflow нужно получить полные данные контакта из MySQL БД vtiger CRM перед формированием финального ответа.
## SQL запрос
**Файл:** `ticket_form/docs/N8N_POSTGRESQL_GET_CONTACT_DATA.sql` (название файла устарело, но запрос для MySQL)
```sql
SELECT
cd.contactid,
cd.firstname,
cd.lastname,
cd.email,
cd.mobile,
cd.phone,
cs.birthday,
ca.mailingstreet,
ca.mailingcity,
ca.mailingstate,
ca.mailingzip,
ca.mailingcountry,
ccf.cf_1157 AS middle_name,
ccf.cf_1263 AS birthplace,
ccf.cf_1257 AS inn,
ccf.cf_1849 AS requisites,
ccf.cf_1580 AS code,
ccf.cf_1706 AS sms,
ccf.cf_2624 AS cf_2624
FROM vtiger_contactdetails cd
LEFT JOIN vtiger_contactscf ccf ON ccf.contactid = cd.contactid
LEFT JOIN vtiger_contactsubdetails cs ON cs.contactsubscriptionid = cd.contactid
LEFT JOIN vtiger_contactaddress ca ON ca.contactaddressid = cd.contactid
LEFT JOIN vtiger_crmentity ce ON ce.crmid = cd.contactid
WHERE cd.contactid = ?
AND ce.deleted = 0
LIMIT 1;
```
## Настройка ноды MySQL в n8n
1. **Тип ноды:** MySQL
2. **Operation:** Execute Query
3. **Query:** (см. выше)
4. **Parameters:**
- `?` = `{{ JSON.parse($node["CreateWebContacКлиентправ"].json.result).contact_id }}`
## Credentials для MySQL
- **Host:** `localhost`
- **Port:** `3306`
- **Database:** `ci20465_72new`
- **User:** `ci20465_72new`
- **Password:** `EcY979Rn`
## Использование в Code node
После выполнения MySQL запроса, данные доступны в Code node:
```javascript
const pgContactNode = $('MySQL: Get Contact Data')?.first();
if (pgContactNode && pgContactNode.json && pgContactNode.json.length > 0) {
const contactFromDb = pgContactNode.json[0];
// Используем contactFromDb.cf_2624, contactFromDb.firstname, и т.д.
}
```
---
**Примечание:** Название файла `N8N_POSTGRESQL_GET_CONTACT_DATA.sql` устарело, но запрос работает для MySQL.