Микросервис "Получать Notion HTML документа по API"
100 000 руб. за проект
Требуется создать serverless приложение, опубликованное в Яндекс.Клауд
(cloudnative, т.е. stateless приложение)
1. "Получить HTML документа"
1. На вход по API -- ключ клиента, ключ API в Notion и id документа, формат (всегда HTML)
2. На выходе - HTML код этого документа (можно использовать для этого в тч github.com/NotionX/react-notion-x ). Не требуется никаких нестандартных преобразований. Документ должен быть любым, в т.ч. непубличным (т.е. он только по API должен быть доступен)
Админка для добавления клиентов и их ключей (использовать yandex db).
При запросе, записывать в базу факт получения документа (дата/время, id клиента, количество блоков в документе).
API NOTION KEY для теста:
secret_mkBjwPpqgZEl7WoSKdx6mynWbowsttDOOhlmICQBxfF
По нему доступен этот документ:
https://www.notion.so/komplizierte/test-document-2...
id документа 2679dca5108040a5864be63d528e43c6
serverless Yandex доступна бесплатно для тестов, и база тоже
https://cloud.yandex.com/en-ru/solutions/serverles...
Стек не важен
=====
Второй этап:
API в этом же сервисе,
смысл "Копировать таблицы"
вход: ID таблицы мастер, ID таблицы slave, обновлять ли содержимое документа да-нет, список полей которые обновлять (по имени)
выход: синхронизированное обновление
В slave есть атрибут связи relation
1. В таблице проверить все обновленные/добавленные элементы в master с прошлой даты синхронизации этих таблиц
2. Обновить элементы в slave (добавить новые элементы, обновить содержимое старых) -- если указано обновлять документ, взять содержимое из элемента таблицы (которая сам по себе документ) и положить в элемент таблицы в slave. Обновить поля slave, указанные для синхронизации
В таблицу биллинга добавить количество блоков которые обновлены (сумма полей которые обновляются и сумма элементов в документе которые обновляются)
(cloudnative, т.е. stateless приложение)
1. "Получить HTML документа"
1. На вход по API -- ключ клиента, ключ API в Notion и id документа, формат (всегда HTML)
2. На выходе - HTML код этого документа (можно использовать для этого в тч github.com/NotionX/react-notion-x ). Не требуется никаких нестандартных преобразований. Документ должен быть любым, в т.ч. непубличным (т.е. он только по API должен быть доступен)
Админка для добавления клиентов и их ключей (использовать yandex db).
При запросе, записывать в базу факт получения документа (дата/время, id клиента, количество блоков в документе).
API NOTION KEY для теста:
secret_mkBjwPpqgZEl7WoSKdx6mynWbowsttDOOhlmICQBxfF
По нему доступен этот документ:
https://www.notion.so/komplizierte/test-document-2...
id документа 2679dca5108040a5864be63d528e43c6
serverless Yandex доступна бесплатно для тестов, и база тоже
https://cloud.yandex.com/en-ru/solutions/serverles...
Стек не важен
=====
Второй этап:
API в этом же сервисе,
смысл "Копировать таблицы"
вход: ID таблицы мастер, ID таблицы slave, обновлять ли содержимое документа да-нет, список полей которые обновлять (по имени)
выход: синхронизированное обновление
В slave есть атрибут связи relation
1. В таблице проверить все обновленные/добавленные элементы в master с прошлой даты синхронизации этих таблиц
2. Обновить элементы в slave (добавить новые элементы, обновить содержимое старых) -- если указано обновлять документ, взять содержимое из элемента таблицы (которая сам по себе документ) и положить в элемент таблицы в slave. Обновить поля slave, указанные для синхронизации
В таблицу биллинга добавить количество блоков которые обновлены (сумма полей которые обновляются и сумма элементов в документе которые обновляются)
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.