From bfc49408e4026a343fc3d6e24bde821ef6f44fc3 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Thu, 4 Apr 2024 00:19:25 +0000 Subject: [PATCH] Update file openapi.yaml --- openapi.yaml | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 openapi.yaml diff --git a/openapi.yaml b/openapi.yaml new file mode 100644 index 0000000..900a183 --- /dev/null +++ b/openapi.yaml @@ -0,0 +1,95 @@ +openapi: 3.0.3 +info: + title: QUIZ AMOCRM integration + description: Интеграция с Амо. Ключевая задача - создавать заявки в соответствующей воронкой подключенного аккаунта + version: 1.0.0 + +paths: + /account: + post: + description: подключение аккаунта амо к аккаунту quiz. На вход получает только токен. На выход отдаёт ссылку для подключения. Создаёт модель аккаунта, имеющую связь с основным аккаунтом + responses: + '200': + description: успешное создание ссылки для авторизации + content: + 'application/json': + schema: + type: object + properties: + link: + type: string + description: ссылка для авторизации в амо + delete: + description: мягкое удаление аккаунта. Юзер должен иметь возможность создать новый аккаунт, взамен удалённого + responses: + '200': + description: успешное удаление аккаунта + get: + description: получение текущего аккаунта + responses: + '200': + description: аккаунт интеграции с амо + сontent: + 'application/json': + schema: + type: object + properties: + ID: + type: string + description: uuid + AccountID: + type: string + description: связь с аккаунтом в квизе + AmocrmID: + type: integer + description: связь с аккаунтом в амо + Name: + type: string + description: имя аккаунта в амо + Subdomain: + type: string + description: поддомен организации в амо + AmoUserID: + type: integer + description: айдишник пользвателя, который подключал интеграцию + Country: + type: string + description: страна указанная в настройках амо + /webhook/create: + get: + description: это метод для получения пары токенов для аккаунта. Пары токенов стоит хранить в отдельной таблице и завести воркер, который будет обновлять рефреш. https://www.amocrm.ru/developers/content/oauth/step-by-step - вот дока для этого метода + /webhook/delete: + get: + description: это метод для оповещения об удалении итеграции из учетки в амо. При его вызове надо мягко удалить соответствующий аккаунт. https://www.amocrm.ru/developers/content/oauth/step-by-step#%D0%A5%D1%83%D0%BA-%D0%BE%D0%B1-%D0%BE%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B8-%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B8 + /users: + get: + description: получение списка юзеров, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/users-api#users-list + patch: + description: обновление списка юзеров + /pipelines: + get: + description: получение списка воронок, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines + patch: + description: обновление списка воронок + /steps: + get: + description: получение списка этапов воронок, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%BE%D0%B2-%D0%B2%D0%BE%D1%80%D0%BE%D0%BD%D0%BA%D0%B8-%D1%81%D0%B4%D0%B5%D0%BB%D0%BE%D0%BA + patch: + description: обновление списка этапов воронок + /fields: + get: + description: получение списка кастомных полей, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/custom-fields#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B9-%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8 + patch: + description: обновление списка кастомных полей + /tags: + get: + description: получение списка тегов, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/tags-api#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D1%82%D0%B5%D0%B3%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8 + patch: + description: обновление списка тегов + /rules/{quizID}: + get: + description: получение настроек интеграции для конкретного квиза + post: + description: создание настроек интеграции для конкретного квиза + patch: + description: изменение настроек интеграции для конкретного квиза \ No newline at end of file