Узел api
Этот узел позволяет взаимодействовать с различными API, что полезно для интеграции с внешними сервисами.
Настройки узла API
1. Name
Поле для указания имени узла.
Имя отображается в рабочей области и помогает легко идентифицировать узел.
Если оставить пустым, узел будет называться API
.
Пример:
- Имя узла:
Create Payment Session
2. Method
Здесь выбирается метод API, который будет использоваться для отправки запроса. Доступные методы:
-
"Create Payment Session" (Создание сессии оплаты):
Создает новую сессию оплаты. -
"Update Payment Session" (Обновление сессии оплаты):
Обновляет существующую сессию оплаты. -
"Get Payment Session by ID" (Получение сессии оплаты по ID):
Получает информацию о сессии оплаты по уникальному идентификатору сессии. -
"Get Payment Session by Order ID" (Получение сессии оплаты по Order ID):
Получает информацию о сессии оплаты, используя идентификатор заказа. -
"Create Collection Row" (Создание записи в коллекции):
Получает новую запись в коллекции. -
"Update Collection Row" (Обновление записи в коллекции):
Обновляет существующую запись в коллекции. -
"Get Collection Row" (Получение записи в коллекции):
Получает запись коллекции. -
"Find Collection Rows" (Поиск записей в коллекции):
Получает несколько записей в коллекции по параметрам. -
"Update Order Status" (Обновление статуса заказа):
Обновляет статус заказа. -
"Find Order by Status" (Поиск заказа по статусу):
Получение нескольких заказов по его статусу.
Пример:
- Метод:
Create Payment Session
3. Data
Это поле использует шаблон Mustache для формирования данных запроса в формате JSON.
Вы можете использовать данные из сообщения msg
для подстановки значений в шаблон.
Пример шаблона (для метода "Create Payment Session"):
{
"orderId": {{orderId}},
"type": "session"
}
В этом примере значение orderId
будут подставлены из сообщения msg
.
Пример шаблона (для метода "Update Payment Session"):
{
"id": {{paymentSessionId}},
"paymentUrl": "{{{payload.links.1.href}}}"
}
При использовании шаблонов Mustache вы можете передавать сложные данные и параметры, необходимые для взаимодействия с API.
Примеры запросов
Пример 1: Создание платежной сессии
Настройки узла:
- Method (Метод):
Create Payment Session
- Data (Данные):
{
"orderId": {{orderId}},
"type": "session"
}
Сообщение:
{
"orderId": 123
}
Результат:
Узел отправит запрос для создания сессии оплаты с данными из сообщения. В результате будет получена информация о новой сессии оплаты.
Пример 2: Обновление платежной сессии
Настройки узла:
- Method (Метод):
Update Payment Session
- Data (Данные):
{
"id": {{paymentSessionId}},
"paymentUrl": "{{{payload.links.1.href}}}"
}
Сообщение:
{
"paymentSessionId": 123,
"payload": {
"id": "8YP51523N05861826",
....
"links": [
{
"href": "https://api.sandbox.paypal.com/v2/checkout/orders/8YP51523N05861826",
"rel": "self",
"method": "GET"
},
{
"href": "https://www.sandbox.paypal.com/checkoutnow?token=8YP51523N05861826",
"rel": "payer-action",
"method": "GET"
}
]
}
}
Результат:
Узел отправит запрос для обновления статуса сессии оплаты, используя предоставленные значения payment_session_id
и status
.
Пример 3: Получение сессии оплаты по ID
Настройки узла:
- Method (Метод):
Get Payment Session by ID
- Data (Данные):
{
"id": "{{paymentSessionId}}"
}
Сообщение:
{
"paymentSessionId": 123
}
Результат:
Узел отправит запрос для получения информации о сессии оплаты по уникальному идентификатору сессии.
Пример 4: Получение сессии оплаты по Order ID
Настройки узла:
- Method (Метод):
Get Payment Session by Order ID
- Data (Данные):
{
"orderId": "{{payload.id}}"
}
Сообщение:
{
"payload": {
"id": 1
}
}
Результат:
Узел отправит запрос для получения информации о сессии оплаты, связанной с указанным идентификатором заказа.
Пример 5: Создание записи в коллекции
Настройки узла:
- Method (Метод):
Create Collection Row
- Data (Данные):
{
"collectionIdentifier": "delivery",
"formData": {
"en_US": [
{
"marker": "tracking_number",
"value": "12345678910",
"type": "string"
}
]
},
"formIdentifier": "delivery_form",
"entityId": 1,
"entityType": "orders",
"langCode": "en_US"
}
Сообщение:
{
"payload": {
"id": 1,
"collectionIdentifier": "delivery",
"formData": {
"en_US": [
{
"marker": "tracking_number",
"value": "1234567890",
"type": "string"
}
]
},
"formIdentifier": "delivery_form",
"entityId": 1,
"entityType": "orders",
"langCode": "en_US"
}
}
Результат:
Узел отправит запрос для создания записи в коллекции и вернёт запись в msg.payload
.
Пример 6: Обновление записи в коллекции
Настройки узла:
- Method (Метод):
Update Collection Row
- Data (Данные):
{
"id": 1,
"collectionIdentifier": "delivery",
"formData": {
"en_US": [
{
"marker": "tracking_number",
"value": "098765431",
"type": "string"
}
]
},
"formIdentifier": "delivery_form",
"entityId": 1,
"entityType": "orders",
"langCode": "en_US"
}
Сообщение:
{
"payload": {
"id": 1,
"collectionIdentifier": "delivery",
"formData": {
"en_US": [
{
"marker": "tracking_number",
"value": "098765431",
"type": "string"
}
]
},
"formIdentifier": "delivery_form",
"entityId": 1,
"entityType": "orders",
"langCode": "en_US"
}
}
Результат:
Узел отправит запрос для обновления записи в коллекции и вернё т запись в msg.payload
.
Пример 7: Получение записи в коллекции
Настройки узла:
- Method (Метод):
Get Collection Row
- Data (Данные):
{
"id": 1,
"collectionIdentifier": "delivery",
"langCode": "en_US"
}
Сообщение:
{
"payload": {
"id": 1,
"collectionIdentifier": "delivery",
"formData": {
"en_US": [
{
"marker": "tracking_number",
"value": "098765431",
"type": "string"
}
]
},
"formIdentifier": "delivery_form",
"entityId": 1,
"entityType": "orders",
"langCode": "en_US"
}
}
Результат:
Узел отправит запрос для получения записи в коллекции и вернёт запись в msg.payload
.
Пример 8: Поиск записей в коллекции
Настройки узла:
- Method (Метод):
Find Collection Rows
- Data (Данные):
{
"collectionIdentifier": "delivery",
"entityId": 1,
"entityType": "orders",
"langCode": "en_US",
"limit": 10,
"offset": 0
}
Сообщение:
{
"data": [
{
"payload": {
"id": 1,
"collectionIdentifier": "delivery",
"formData": {
"en_US": [
{
"marker": "tracking_number",
"value": "098765431",
"type": "string"
}
]
},
"formIdentifier": "delivery_form",
"entityId": 1,
"entityType": "orders",
"langCode": "en_US"
}
}
],
"total": 1
}
Результат:
Узел отправит запрос для получения записей в коллекции и вернёт результат в msg.payload
.
Пример 9: Обновление статуса заказа
Настройки узла:
- Method (Метод):
Update Order Status
- Data (Данные):
{
"orderId": 1,
"storageId": "test_order_storage",
"statusIdentifier": "ready_for_pickup"
}
Сообщение:
{
"id": 1,
"storageId": 1,
"createdDate": "2025-01-24T05:21:48.196Z",
"statusIdentifier": "ready_for_pickup",
"formIdentifier": "order_test",
"formData": [
{
"marker": "name",
"value": "Alex",
"type": "string"
}
],
"attributeSetIdentifier": "orders_form_set",
"totalSum": "10.00",
"currency": "usd",
"paymentAccountIdentifier": "paypal",
"paymentAccountLocalizeInfos": {
"en_US": {
"title": "custom"
}
},
"products": [
{
"id": 25,
"title": "TShort",
"sku": null,
"previewImage": null,
"price": 10,
"quantity": 1
}
]
}
Результат:
Узел отправит запрос для обновления статуса заказа и вернёт результат в msg.payload
.