1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-13 20:05:19 +02:00

Документация и доработка Notion API

This commit is contained in:
Anton
2024-01-27 18:10:16 +03:00
parent f6177a73ee
commit 15b0946d8d
11 changed files with 696 additions and 17 deletions

View File

@@ -272,19 +272,20 @@
// Параметры:
// Токен - Строка - Токен
// Родитель - Строка - ID родительского блока или страницы
// ИДБлока - Строка - ID блока, копию которого необходимо добавить
// Блок - Строка,Соответствие Из КлючИЗначение - ID блока, копию которого необходимо добавить или сам блок
// ВставитьПосле - Строка - ID блока, после которого необходимо встаивть новый, если родитель уже имеет дочерние блоки
//
// Возвращаемое значение:
// Строка, Произвольный, Неопределено, ДвоичныеДанные, HTTPОтвет - Ответ сервера Notion
Функция СоздатьБлок(Знач Токен, Знач Родитель, Знач ИДБлока, Знач ВставитьПосле = "") Экспорт
Функция СоздатьБлок(Знач Токен, Знач Родитель, Знач Блок, Знач ВставитьПосле = "") Экспорт
ПреобразоватьИД(Родитель);
ПреобразоватьИД(ИДБлока);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Блок = ВернутьБлок(Токен, ИДБлока);
УдалитьЛишниеПоляБлока(Блок);
ПреобразоватьИД(Родитель);
Если ТипЗнч(Блок) = Тип("Строка") Тогда
ПреобразоватьИД(Блок);
Блок = ВернутьБлок(Токен, Блок);
КонецЕсли;
МассивБлоков = Новый Массив;
МассивБлоков.Добавить(Блок);
@@ -309,16 +310,21 @@
// Параметры:
// Токен - Строка - Токен
// ИДБлока - Строка - ID блока
// ТолькоОснова - Булево - Истина - служебные поля удаляются, остается только сам блок
//
// Возвращаемое значение:
// Неопределено, ДвоичныеДанные, Строка, Произвольный - Ответ сервера Notion
Функция ВернутьБлок(Знач Токен, Знач ИДБлока) Экспорт
Функция ВернутьБлок(Знач Токен, Знач ИДБлока, Знач ТолькоОснова = Истина) Экспорт
ПреобразоватьИД(ИДБлока);
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
Ответ = OPI_Инструменты.Get("https://api.notion.com/v1/blocks/" + ИДБлока, , Заголовки);
Если ТолькоОснова Тогда
УдалитьЛишниеПоляБлока(Ответ);
КонецЕсли;
Возврат Ответ;
КонецФункции

View File

@@ -13,21 +13,23 @@ sidebar_position: 2
| Токен | Строка | Токен интеграции |
| База | Строка | ID базы |
| Свойства | Соответствие | Ключ - Имя изменяемого свойства, Значение - Тип или неопределено. Если неопределено - свойство удаляется |
| Заголовок | Строка | Заголовок базы |
| Описание | Строка | Описание базы |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Notion
```bsl title="Пример кода"
Токен = "secret_9RsfMrRMqZwqp0Zl0B...";
База = "5dd94c34fab04bff9...";
ЗаголовокБазы = "Обновленный заголовок";
ОписаниеБазы = "Обновленное описание базы";
Токен = "secret_9RsfMrRMqZwqp0Zl0B...";
База = "5dd94c34fab04bff9...";
Заголовок = "Обновленный заголовок";
Описание = "Обновленное описание базы";
Свойства = Новый Соответствие;
Свойства.Вставить("Почта", "rich_text"); //Тип поля "Почта" будет изменен с email на текст
Свойства.Вставить("Сайт"); //Поле "Сайт" будет удалено
Ответ = OPI_Notion.ИзменитьСвойстваБазы(Токен, База, Свойства, ЗаголовокБазы, ОписаниеБазы);
Ответ = OPI_Notion.ИзменитьСвойстваБазы(Токен, База, Свойства, Заголовок, Описание);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```

View File

@@ -11,7 +11,7 @@ sidebar_position: 1
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен интеграции |
| Родитель | Строка/Число | ID родительской страницы |
| Родитель | Строка | ID родительской страницы |
| Заголовок | Строка | Заголовок базы данных |
| Свойства | Соответствие | Ключ - Имя свойства, Значение - Тип (представлены в примере кода) |

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,76 @@
---
sidebar_position: 3
---
# Получить информацию о блоке
Получает информацию о блоке по ID
*Функция ВернутьБлок(Знач Токен, Знач ИДБлока) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен интеграции |
| ИДБлока | Строка | ID блока |
| ТолькоОснова | Булево (необяз.) | Истина - служебные поля удаляются, остается только сам блок. По умолчанию - Истина |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Notion
```bsl title="Пример кода"
Токен = "secret_9RsfMrRMqZwqp0Zl0B...";
Блок = "ca18df269bd24407852b91c30...";
Ответ = OPI_Notion.ВернутьБлок(Токен, ИДБлока);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"request_id": "031886cc-537d-4025-b480-ecfdc9f2870c",
"to_do": {
"color": "default",
"checked": false,
"rich_text": [
{
"plain_text": "Привет",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "Привет"
},
"href": null,
"type": "text"
}
]
},
"type": "to_do",
"archived": true,
"created_by": {
"id": "ed71865a-9891-46bc-86cd-a92aa499cfdb",
"object": "user"
},
"last_edited_time": "2024-01-26T19:43:00.000Z",
"created_time": "2024-01-26T11:03:00.000Z",
"has_children": false,
"parent": {
"page_id": "5dd94c34-fab0-4bff-986b-7511c0779f77",
"type": "page_id"
},
"last_edited_by": {
"id": "8b07422e-eeea-40d1-8d5e-c784211825b0",
"object": "user"
},
"id": "d7021bdd-15b9-44ab-abcb-02bd2b1a5f6a",
"object": "block"
}
```

View File

@@ -0,0 +1,128 @@
---
sidebar_position: 4
---
# Получить дочерние блоки
Получает информацию о дочерних блоках по ID родителя
*Функция ВернутьДочерниеБлоки(Знач Токен, Знач ИДБлока) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен интеграции |
| ИДБлока | Строка | ID родительского блока |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Notion
```bsl title="Пример кода"
Токен = "secret_9RsfMrRMqZwqp0Zl0B...";
Блок = "46c1500ed40c4e89ba6a22900...";
Ответ = OPI_Notion.ВернутьДочерниеБлоки(Токен, ИДБлока);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/3.png)
```json title="Результат"
{
"request_id": "fea2a37b-5507-451d-a4be-14433811a69e",
"block": {},
"type": "block",
"has_more": false,
"next_cursor": null,
"results": [
{
"type": "numbered_list_item",
"archived": false,
"created_by": {
"id": "ed71865a-9891-46bc-86cd-a92aa499cfdb",
"object": "user"
},
"last_edited_time": "2024-01-26T20:33:00.000Z",
"created_time": "2024-01-26T17:02:00.000Z",
"has_children": false,
"parent": {
"block_id": "46c1500e-d40c-4e89-ba6a-229003d81ded",
"type": "block_id"
},
"last_edited_by": {
"id": "ed71865a-9891-46bc-86cd-a92aa499cfdb",
"object": "user"
},
"id": "aa4137d4-c8cc-445d-9f96-9c3968334e74",
"numbered_list_item": {
"color": "default",
"rich_text": [
{
"plain_text": "Два",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "Два"
},
"href": null,
"type": "text"
}
]
},
"object": "block"
},
{
"type": "numbered_list_item",
"archived": false,
"created_by": {
"id": "ed71865a-9891-46bc-86cd-a92aa499cfdb",
"object": "user"
},
"last_edited_time": "2024-01-26T20:33:00.000Z",
"created_time": "2024-01-26T20:30:00.000Z",
"has_children": false,
"parent": {
"block_id": "46c1500e-d40c-4e89-ba6a-229003d81ded",
"type": "block_id"
},
"last_edited_by": {
"id": "ed71865a-9891-46bc-86cd-a92aa499cfdb",
"object": "user"
},
"id": "6fb45895-0350-49d3-a5c7-e0cb1e24061e",
"numbered_list_item": {
"color": "default",
"rich_text": [
{
"plain_text": "Три",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "Три"
},
"href": null,
"type": "text"
}
]
},
"object": "block"
}
],
"object": "list"
}
```

View File

@@ -0,0 +1,75 @@
---
sidebar_position: 2
---
# Удалить блок
Удаляет блок по ID
*Функция УдалитьБлок(Знач Токен, Знач ИДБлока) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен интеграции |
| ИДБлока | Строка | ID блока |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Notion
```bsl title="Пример кода"
Токен = "secret_9RsfMrRMqZwqp0Zl0B...";
Блок = "ca18df269bd24407852b91c30...";
Ответ = OPI_Notion.УдалитьБлок(Токен, ИДБлока);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"request_id": "62b95ed2-c9af-4be8-b75a-f6e4f69aef14",
"to_do": {
"color": "default",
"checked": false,
"rich_text": [
{
"plain_text": "Привет",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "Привет"
},
"href": null,
"type": "text"
}
]
},
"type": "to_do",
"archived": true,
"created_by": {
"id": "ed71865a-9891-46bc-86cd-a92aa499cfdb",
"object": "user"
},
"last_edited_time": "2024-01-26T19:43:00.000Z",
"created_time": "2024-01-26T11:03:00.000Z",
"has_children": false,
"parent": {
"page_id": "5dd94c34-fab0-4bff-986b-7511c0779f77",
"type": "page_id"
},
"last_edited_by": {
"id": "8b07422e-eeea-40d1-8d5e-c784211825b0",
"object": "user"
},
"id": "d7021bdd-15b9-44ab-abcb-02bd2b1a5f6a",
"object": "block"
}
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -0,0 +1,205 @@
---
sidebar_position: 3
---
# Изменить свойства страницы
Изменяет значения полей страницы
*Функция ИзменитьСвойстваСтраницы(Знач Токен, Знач Страница, Знач Данные = "", Знач Иконка = "", Знач Обложка = "", Знач Архивирована = Ложь) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен интеграции |
| Страница | Строка | ID страницы для изменения |
| Данные | Соответствие | Ключ - имя свойства, Значение - значение свойства. Имена должны входить в исходный набор свойств |
| Иконка | Строка | URL картинки-иконки страницы в базе |
| Обложка | Строка | URL картинки-обложки страницы |
| Архивирована | Булево (необяз.) | Если Истина - страница будет заархивирована |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Notion
```bsl title="Пример кода"
Токен = "secret_9RsfMrRMqZwqp0Zl0B...";
Страница = "5dd94c34fab04bff9...";
Иконка = "https://opi.neocities.org/img/logo.png";
Обложка = "https://opi.neocities.org/assets/images/logo_long-e69f28017feff1759ffcfe3f4e7bbf2a.png";
Свойства = Новый Соответствие;
Свойства.Вставить("Активен" , Ложь);
Свойства.Вставить("Почта" , "vector@mail.ru");
Ответ = OPI_Notion.ИзменитьСвойстваСтраницы(Токен
, Страница
, Свойства
, Иконка
, Обложка
, Архивировать);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/3.png)
```json title="Результат"
{
"request_id": "a02741b2-4eb8-43ae-9a2e-542d5dd10687",
"public_url": null,
"url": "https://www.notion.so/a574281614174169bf55dbae44f46d9c",
"properties": {
"Картинка": {
"files": [
{
"external": {
"url": "https://pricep-farkop.ru/wp-content/uploads/2017/02/17.jpg"
},
"type": "external",
"name": "Лого"
}
],
"type": "files",
"id": "r%3Dfa"
},
"Активен": {
"checkbox": false,
"type": "checkbox",
"id": "q%3FQF"
},
"Телефон": {
"phone_number": "88005553535",
"type": "phone_number",
"id": "hDII"
},
"Пользователь": {
"people": [],
"type": "people",
"id": "%5D%40Md"
},
"Описание": {
"rich_text": [
{
"plain_text": "Наш первый клиент",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "Наш первый клиент"
},
"href": null,
"type": "text"
}
],
"type": "rich_text",
"id": "KnG%3F"
},
"Статус": {
"select": {
"color": "green",
"name": "Новый",
"id": "202b1d30-2095-40f1-8b91-f627d475d560"
},
"type": "select",
"id": "IDW%3C"
},
"Номер": {
"type": "number",
"number": 1,
"id": "CH__"
},
"Дата создания": {
"date": {
"time_zone": null,
"end": null,
"start": "2024-01-26T09:45:00.000+00:00"
},
"type": "date",
"id": "BQN%5B"
},
"Имя": {
"title": [
{
"plain_text": "ООО Вектор",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "ООО Вектор"
},
"href": null,
"type": "text"
}
],
"type": "title",
"id": "title"
},
"Почта": {
"rich_text": [
{
"plain_text": "vector@mail.ru",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "vector@mail.ru"
},
"href": null,
"type": "text"
}
],
"type": "rich_text",
"id": "%3CO%3AD"
}
},
"parent": {
"database_id": "048ba0ce-4f47-4e33-9005-40d249b01949",
"type": "database_id"
},
"cover": {
"external": {
"url": "https://opi.neocities.org/assets/images/logo_long-e69f28017feff1759ffcfe3f4e7bbf2a.png"
},
"type": "external"
},
"archived": false,
"created_by": {
"id": "8b07422e-eeea-40d1-8d5e-c784211825b0",
"object": "user"
},
"last_edited_time": "2024-01-26T19:30:00.000Z",
"icon": {
"external": {
"url": "https://opi.neocities.org/img/logo.png"
},
"type": "external"
},
"created_time": "2024-01-26T18:45:00.000Z",
"last_edited_by": {
"id": "8b07422e-eeea-40d1-8d5e-c784211825b0",
"object": "user"
},
"id": "a5742816-1417-4169-bf55-dbae44f46d9c",
"object": "page"
}
```

View File

@@ -0,0 +1,187 @@
---
sidebar_position: 4
---
# Получить информацию о странице
Получает информацию о странице по ID
*Функция ПолучитьСтраницу(Знач Токен, Знач Страница) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен интеграции |
| Страница | Строка | ID страницы |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Notion
```bsl title="Пример кода"
Токен = "secret_9RsfMrRMqZwqp0Zl0B...";
Страница = "a574281614174169bf55dbae4...";
Ответ = OPI_Notion.ПолучитьСтраницу(Токен, Страница);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"request_id": "61eaaa91-41fc-4523-a445-602805afb281",
"public_url": null,
"url": "https://www.notion.so/a574281614174169bf55dbae44f46d9c",
"properties": {
"Картинка": {
"files": [
{
"external": {
"url": "https://pricep-farkop.ru/wp-content/uploads/2017/02/17.jpg"
},
"type": "external",
"name": "Лого"
}
],
"type": "files",
"id": "r%3Dfa"
},
"Активен": {
"checkbox": false,
"type": "checkbox",
"id": "q%3FQF"
},
"Телефон": {
"phone_number": "88005553535",
"type": "phone_number",
"id": "hDII"
},
"Пользователь": {
"people": [],
"type": "people",
"id": "%5D%40Md"
},
"Описание": {
"rich_text": [
{
"plain_text": "Наш первый клиент",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "Наш первый клиент"
},
"href": null,
"type": "text"
}
],
"type": "rich_text",
"id": "KnG%3F"
},
"Статус": {
"select": {
"color": "green",
"name": "Новый",
"id": "202b1d30-2095-40f1-8b91-f627d475d560"
},
"type": "select",
"id": "IDW%3C"
},
"Номер": {
"type": "number",
"number": 1,
"id": "CH__"
},
"Дата создания": {
"date": {
"time_zone": null,
"end": null,
"start": "2024-01-26T09:45:00.000+00:00"
},
"type": "date",
"id": "BQN%5B"
},
"Имя": {
"title": [
{
"plain_text": "ООО Вектор",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "ООО Вектор"
},
"href": null,
"type": "text"
}
],
"type": "title",
"id": "title"
},
"Почта": {
"rich_text": [
{
"plain_text": "vector@mail.ru",
"annotations": {
"color": "default",
"code": false,
"underline": false,
"strikethrough": false,
"italic": false,
"bold": false
},
"text": {
"link": null,
"content": "vector@mail.ru"
},
"href": null,
"type": "text"
}
],
"type": "rich_text",
"id": "%3CO%3AD"
}
},
"parent": {
"database_id": "048ba0ce-4f47-4e33-9005-40d249b01949",
"type": "database_id"
},
"cover": {
"external": {
"url": "https://opi.neocities.org/assets/images/logo_long-e69f28017feff1759ffcfe3f4e7bbf2a.png"
},
"type": "external"
},
"archived": false,
"created_by": {
"id": "8b07422e-eeea-40d1-8d5e-c784211825b0",
"object": "user"
},
"last_edited_time": "2024-01-26T19:30:00.000Z",
"icon": {
"external": {
"url": "https://opi.neocities.org/img/logo.png"
},
"type": "external"
},
"created_time": "2024-01-26T18:45:00.000Z",
"last_edited_by": {
"id": "8b07422e-eeea-40d1-8d5e-c784211825b0",
"object": "user"
},
"id": "a5742816-1417-4169-bf55-dbae44f46d9c",
"object": "page"
}
```

View File

@@ -3,7 +3,7 @@ sidebar_position: 1
---
# Создать страницу
Создает страницу, дочернюю другой страницу
Создает страницу, дочернюю другой странице
*Функция СоздатьСтраницу(Знач Токен, Знач Родитель, Знач Заголовок) Экспорт*
@@ -22,8 +22,8 @@ sidebar_position: 1
Родитель = "5dd94c34fab04bff9...";
Заголовок = "Создано из 1С";
Ответ = OPI_Notion.СоздатьСтраницу(Токен, Родитель, Заголовок);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
Ответ = OPI_Notion.СоздатьСтраницу(Токен, Родитель, Заголовок);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```