Документация по формату вызова и ответа API
Обратите внимание: Информация в статье не заменяет базовых знаний, необходимых для использования функционала API. Статья рассчитана на опытных пользователей.
Протокол
Функции АПИ доступны только по HTTPS-протоколу (SSL)
PHP SDK
Вы можете воспользоваться нашим SDK
Авторизация
Отдельной авторизации не требуется.
Для авторизации необходимо при каждом запросе передать секретный ключ как параметр key POST-запроса. Подробнее о том, как сгенерировать секретный ключ API, читайте в отдельной статье.
Действие
Действие передается как параметр action POST-запроса
Параметры действия
Параметры для действия передаются в формате JSON, закодированного в base64 в параметре params POST-запроса
Примечание
Импорт или экспорт данных по API доступны только на платных тарифах GetCourse. На ознакомительном тарифе этот функционал закрыт.
Формат ответа
Ответ возвращается в формате JSON:
{ "success":"true/false", // результат вызова "action":"вызванное действие", "result":{ "deal_id":"уникальный id заказа", "deal_number":"номер заказа", "success":"true/false", // результат действия "user_id":"id пользователя", "user_status":"статус пользователя", "payment_link":"ссылка на страницу оплаты", "error_message":"сообщение об ошибке", "error":"true/false", // наличие ошибок } }
Импорт пользователей
Метод предназначен для импорта данных, а не для оперативного управления объектами!
Импорт пользователя находится по адресу:
https://{account_name}.getcourse.ru/pl/api/users
Для добавления пользователя необходимо передать действие add, секретный ключ и параметры добавляемого пользователя:
curl -i -H «Accept: application/json; q=1.0, */*; q=0.1» «https://{account_name}.getcourse.ru/pl/api/users» -d «action=add&key={secret_key}¶ms={params}»
Пример импорта и обновления данных пользователя по API
Параметры пользователя:
base64_encode { "user":{ "email":"email", "phone":"телефон", "first_name":"имя", "last_name":"фамилия", "city":"город", "country":"страна", "group_name":[ // для добавления пользователя в группы "Группа1", // простое добавление в групп ["Группа2", "2018-08-01 21:21"], // добавление в группу с указанием произвольного момента ["Группа4", "2018-08-02"] ], "addfields":{"Доп.поле1":"значение","Доп.поле2":"значение"} // для добавления дополнительных полей пользователя }, "system":{ "refresh_if_exists":0, // обновлять ли существующего пользователя 1/0 да/нет "partner_email":"email партнера (для пользователя)*" }, "session":{ "utm_source":"", "utm_medium":"", "utm_content":"", "utm_campaign":"", "utm_group":"", "gcpc":"", "gcao":"", } }
Если в системе не существует пользователя с указанным email — будет создан новый пользователь.
Если пользователь существует и system.refresh_if_exists == 1 — данные пользователя будут обновлены, а список его групп дополнен группами, указанными в параметре user.group_name. Если этот флаг не установлен, то никакие данные пользователя изменены не будут.
Данные из объекта session будут зафиксированы как параметры регистрации нового пользователя. Если происходит обновление данных (только при system.refresh_if_exists == 1), то предыдущие будут заменены.
Для пользователя можно установить партнера двумя разными способами:
а) с помощью параметра system.partner_email;
б) с помощью параметра session.gcpc (имеет более высокий приоритет).
Если указанный для создаваемого/обновляемого пользователя партнер существует, то пользователь в системе будет помечен как реферал этого партнера. Если пользователь-партнер не существует — будет возвращена ошибка. Если пользователь-партнер существует, но не является партнером, то указанный пользователь автоматически получит статус партнера.
Управление группами пользователя
Метод предназначен для импорта данных, а не для оперативного управления объектами!
Импорт информации о группах пользователя находится по адресу:
https://{account_name}.getcourse.ru/pl/api/users
Для обновления информации о группах пользователя необходимо передать действие update, секретный ключ и параметры пользователя:
Параметры пользователя:
base64_encode { "user":{ "id":"id пользователя", "group_name": ["Группа 1", "Группа 2"] // список групп } }
В результате выполнения запроса пользователь будет состоять во всех группах, указанных в списке group_name. Если ранее пользователь состоял в каких-либо группах, не указанных в group_name — он будет удален из этих групп.
Импорт заказов
Метод предназначен для импорта данных, а не для оперативного управления объектами!
Импорт сделки находится по адресу:
https://{account_name}.getcourse.ru/pl/api/deals
Для добавления сделки необходимо передать действие add, секретный ключ, параметры сделки, параметры пользователя, для которого создается сделка:
curl -i -H "Accept: application/json; q=1.0, */*; q=0.1" "https://{account_name}.getcourse.ru/pl/api/deals" --data "action=add&key={secret_key}¶ms={params}"
Пример импорта и обновления данных заказа по API
base64_encode { "user":{ // как в импорте пользователя }, "system":{ "refresh_if_exists":0, // обновлять ли существующего пользователя 1/0 да/нет "partner_email":"email партнера (для пользователя)*", "multiple_offers":0, // добавлять несколько предложений в заказ 1/0 "return_payment_link":0, // возвращать ссылку на оплату 1/0 "return_deal_number":0 // возвращать номер заказа 1/0 }, "session":{ // как в импорте пользователя }, "deal":{ "deal_number":"номер заказа", "offer_code":"уникальный код предложения", "product_title":"наименование предложения", "product_description":"описание предложения", "quantity":1, // количество "deal_cost":"сумма заказа", "deal_status":"код статуса заказа", "deal_is_paid": "нет", // оплачен да/нет 1/0 "manager_email":"email менеджера", "deal_created_at":"дата заказа", "deal_finished_at":"дата оплаты/завершения заказа", "deal_comment":"комментарий", "payment_type":"тип платежа из списка", "payment_status":"статус платежа из списка", "partner_email":"email партнера (для заказа)", "addfields":{"Доп.поле1":"значение","Доп.поле2":"значение"}, // для добавления дополнительных полей заказа "deal_currency":"код валюты заказа" // например, "EUR", параметр не является обязательным, если он не используется в запросе - валютой заказа будут рубли (RUB) "funnel_id":"ID доски продаж", "funnel_stage_id":"ID этапа на доске продаж" } }
Для импорта сделки обязательно должен существовать пользователь — владелец сделки.
Если переданный пользователь не существует — он создается.
Если существует пользователь с указанным email, то он используется как владелец заказа.
Если передан параметр system.refresh_if_exists == 1 И пользователь существует, то его данные будут обновлены аналогично операции импорта пользователя (за исключением объекта session — см. далее)
При импорте сделки проверяется, существует ли сделка с указанным номером.
В зависимости от этого создается новая сделка или обновляется существующая.
Если флаг system.multiple_offers == 1 и обновляется существующий заказ, то переданные позиции в сделке добавляются к существующим, а не заменяют их.
Параметр system.refresh_if_exists никак не влияет на создание/обновление сделки (этот параметр используется только для пользователей!).
Объект session при импорте сделки содержит UTM-параметры, которые фиксируются как контекст создания заказа.
Дополнительно, если при импорте сделки происходит создание нового пользователя, то объект session используется так же и как контекст регистрации пользователя. Однако, при обновлении данных пользователя при импорте сделки объект session используется только для сделки, но не для пользователя.
Заказ может иметь указание на партнера, отличного от партнера пользователя. Партнер заказа может быть установлен двумя способами:
а) с помощью параметра deal.partner_email;
б) с помощью параметра session.gcpc (имеет более высокий приоритет).
Если указанный для сделки партнер существует, то для нее будет установлен этот партнер.
Если пользователь-партнер не существует — будет возвращена ошибка.
Если пользователь-партнер существует, но не является партнером, то указанный пользователь автоматически получит статус партнера.
Обратите внимание:
1. Минимально необходимыми параметрами для создания нового заказа являются:
- уникальный код предложения* или наименование предложения
- сумма заказа
- email пользователя
Для редактирования существующего заказа — те же параметры, но также:
- номер заказа
- параметр refresh_if_exists = 1
* - находится в настройках необходимого предложения:
Изменение статуса заказа (сделки)
Статус заказа можно изменить по адресу:
https://{account_name}.getcourse.ru/pl/api/deals
Для изменения статуса сделки необходимо передать действие add, секретный ключ, и следующий набор параметров сделки и пользователя:
base64_encode { "user":{ "email":"email@yopmail.com" }, "deal":{ "deal_number":"13667463", "deal_status":"new" } }
Коды статусов заказа (deal_status)
- new — Новый
- payed — Завершен
- cancelled — Отменен
- false — Ложный
- in_work — В работе
- payment_waiting — Ожидаем оплаты
- part_payed — Частично оплачен
- waiting_for_return — Ожидаем возврата
- not_confirmed — Не подтвержден
- pending — Отложен
Коды статусов платежей (payment_status)
- expected — Ожидается
- accepted — Получен
- returned — Возвращен
- tobalance — Пополнение баланса
- frombalance — Списание с баланса
- returned_to_balance — Начисление на депозит
Коды методов оплаты (payment_type)
- 2CO — 2Checkout
- ALFA — Альфа-банк
- bepaid — bePaid
- BILL — Безналичный расчёт
- CARD — Банковской картой
- CARD_TERMINAL — Банковская карта через терминал
- CASH — Наличные
- cloud_payments — CloudPayments
- cloud_payments_kz — CloudPaymentsKz
- fondy — Fondy
- hutki_grosh — Хуткi Грош
- interkassa — Интеркасса
- INTERNAL — Внутренний баланс
- justclick — Justclick
- kvit — Квитанция в банк
- mandarinpay — MandarinPay
- OTHER — Другое
- payanyway — PayAnyWay
- PAYPAL — PayPal
- perfect_money — Perfect Money
- PERFECTMONEY — Perfect Money
- platim — Platim.ru
- QIWI — Qiwi (устаревшее)
- qiwi_kassa — QIWI Касса
- QUICKTRANSFER — Системы быстрых переводов
- RBK — РБК Деньги
- rbkmoney — РБК Деньги (устаревшее)
- rbkmoney_new — РБК Деньги (2018 г)
- ROBOKASSA — Робокасса
- SBER — Sberbank
- sberbank — Сбербанк эквайринг
- stripe — Stripe
- tinkoff — Тинькофф Банк
- tinkoffcredit — Тинькофф Кредит
- VIRTUAL — Бонусный счет
- walletone — Единая касса
- wayforpay — WayForPay
- WEBMONEY — Webmoney
- yandex_kassa — Яндекс.Касса
- YANDEXMONEY — Яндекс.Деньги
- zpayment — Z-payment
- ebanx — EBANX
- swedbank — Swedbank
Коды валют
- RUB
- USD
- EUR
- GBP
- BYR
- BYN
- KZT
- UAH
- AUD
- DKK
- CHF
- SEK
- ZAR
- AMD
- RON
- BRL
- ILS
- MYR
- SGD
- KGS
- CAD
- MXN
- JPY
- UZS
- PLN
- AZN
- AED
- TRY
- INR
- RSD
- CZK
- MNT
- NZD
Обратите внимание: Если заказ имеет статус «Завершён» и вы меняете статус при помощи API на любой другой, то активные покупки, связанные с заказом, не будут отменены. То есть без изменения статуса покупки у пользователя сохранится доступ, выданный этой покупкой.
При изменении статуса заказа с помощью API на "Завершен" (payed) в заказе будет создан платеж, так же как при передаче параметра deal_is_paid.
Чтобы забирать доступ по покупке, рекомендуем использовать другой способ:
1. Создайте или используйте существующее дополнительное поле заказа.
2. Затем передайте по API желаемый статус заказа в это дополнительное поле.
3. После этого при помощи настроенного процесса автоматически измените статус заказа в соответствии со значением дополнительно поля.
В результате связанные с заказом покупки будут отменены и пользователь потеряет доступ.
Пример добавления пользователя (PHP)
<?php $accountName = 'XXXXXX'; $secretKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; $user = []; $user['user']['email'] = 'xxxxx@xxxxx.xxx'; $user['user']['phone'] = '+74951234567'; $user['user']['first_name'] = 'Василий'; $user['user']['last_name'] = 'Пупкин'; $user['user']['city'] = 'Москва'; $user['user']['country'] = 'Россия'; $user['user']['group_name'] = ['Группа1', 'Группа2']; $user['system']['refresh_if_exists'] = 1; $json = json_encode($user); $base64 = base64_encode($json); if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, 'https://' . $accountName . '.getcourse.ru/pl/api/users'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, 'action=add&key=' . $secretKey . '¶ms=' . $base64); $out = curl_exec($curl); echo $out; curl_close($curl); } else { echo 'Failed initialization'; } ?>
Export API
Export API предназначен для периодической выгрузки данных из Геткурса для анализа. Геткурс только предоставляет данные и не влияет на возможности обработки этих данных во внешних системах.
Важно! Еxport API не предназначен для постоянной выгрузки данных по новым объектам, т.к. в аккаунте действуют ограничения на количество запросов, — 200 запросов в час к ExportAPI (учитаются все запросы, в т. ч. проверка статуса готовности экспорта). Если необходимо оперативно передавать данные по новым объектам, используйте процессы с операцией «Вызвать URL». Подробнее в статье → «Как настроить callback-вызов из GetCourse».
Export API находится по адресу:
https://{account_name}.getcourse.ru/pl/api/account
Какие данные можно выгружать через API:
Структура данных для каждого объекта соответствует тому, что выгружается в CSV с помощью интерфейса экспорта в соответствующих разделах
Обратите внимание:
— экспорт по API производится в один поток, т.е. не предусмотрена возможность обработки запроса на формирование нового файла экспорта пока не закончено формирование файла экспорта по предыдущему запросу;
— в рамках одного аккаунта за 1 час может быть обработано не более 200 запросов, относящихся к методам export API.
Экспорт пользователей
Для получения данных нужно:
1. Отправить действие users, секретный ключ и хотя бы один фильтр объектов для экспорта:
«https://{account_name}.getcourse.ru/pl/api/account/users?key={secret_key}&....»
Вместо «....» добавляются необходимые параметры фильтра.
Если в запрос нужно добавить несколько фильтров, отделите их знаком амперсанд &
. Подобная запись аналогична использованию логического оператора «И». В результате будут отобраны объекты, которые удовлетворяют всем условиям фильтра.
«https://{account_name}.getcourse.ru/pl/api/account/users?key={secret_key}¶m1=value1¶m2=value2...»
Это действие запускает задачу на сбор данных и возвращает ключ экспорта в JSON-строке, который понадобится для проверки статуса готовности и для получения данных.
2. Отправить действие exports, ключ экспорта и секретный ключ:
«https://{account_name}.getcourse.ru/pl/api/account/exports/{export_id}?key={secret_key}»
Это действие проверяет статус готовности и возвращает поток данных в JSON-строке.
Параметры фильтров:
- Дата создания пользователей
- created_at[from]=YYYY-MM-DD
- created_at[to]=YYYY-MM-DD
- Статус пользователя
- status=active/in_base
- Эл.почта пользователя (несколько почт можно указать через запятую)
- email=электронная_почта_пользователя
Дополнительные параметры (не являются фильтрами, поэтому для корректного запуска необходимо указать хотя бы один фильтр, как было показано в пункте 1):
ID групп пользователя:
- idgrouplist=id (через запятую будут выгружены все ID групп, в которых состоит пользователь);
- idgrouplist=id_date (через запятую будут выгружены все ID групп, в которых состоит пользователь и даты его добавления в эти группы в формате «ID группы: ГГГГ-ММ-ДД».).
Ознакомиться со списком экспортируемых полей можно в отдельной статье
Пример экспорта пользователей по API
Экспорт групп
Данные можно получить одним из способов:
1.1 Для получения списка всех групп пользователей необходимо отправить действие groups и секретный ключ:
«https://{account_name}.getcourse.ru/pl/api/account/groups?key={secret_key}»
Выгружаются следующие данные:
- id — ID группы;
- name — название группы;
- last_added_at — дата и время добавления последнего пользователя в группу в формате «гггг-мм-дд чч-мм-сс». Если пользователей еще не добавляли в группу, значение будет «null».
1.2 Для экспорта данных пользователей по группе используйте ID группы при отправке запроса в формате:
«https://{account_name}.getcourse.ru/pl/api/account/groups/{ID}/users?key={secret_key}&....»
Параметр {ID} замените на ID группы. Вместо «....» добавьте хотя бы один из параметров фильтра.
Если в запрос нужно добавить несколько фильтров, отделите их знаком амперсанд &
. Подобная запись аналогична использованию логического оператора «И». В результате будут отобраны объекты, которые удовлетворяют всем условиям фильтра.
«https://{account_name}.getcourse.ru/pl/api/account/groups/{ID}/users?key={secret_key}¶m1=value1¶m2=value2...»
Это действие запускает задачу на сбор данных и возвращает ключ экспорта в JSON-строке, который понадобится для проверки статуса готовности и для получения данных.
Список экспортируемых полей находится в отдельной статье. Дополнительно к ним выгружаются следующие поля:
- ID группы;
- Добавлен в группу — в формате «гггг-мм-дд чч-мм-сс».
2. Далее отправьте действие exports, ключ экспорта и секретный ключ:
«https://{account_name}.getcourse.ru/pl/api/account/exports/{export_id}?key={secret_key}»
Это действие проверяет статус готовности и возвращает поток данных в JSON-строке.
Параметры фильтров:
- Дата создания пользователей
- created_at[from]=YYYY-MM-DD
- created_at[to]=YYYY-MM-DD
- Статус пользователя
- status=active/in_base
- Дата добавления в группу (дополнение к фильтру group_id)
- added_at[from]=YYYY-MM-DD
- added_at[to]=YYYY-MM-DD
Пример экспорта групп по API
Экспорт заказов
Для получения данных нужно:
1. Отправить действие deals, секретный ключ и хотя бы один фильтр объектов для экспорта
«https://{account_name}.getcourse.ru/pl/api/account/deals?key={secret_key}&....»
Вместо «....» добавляются необходимые параметры фильтра.
Если в запрос нужно добавить несколько фильтров, отделите их знаком амперсанд &
. Подобная запись аналогична использованию логического оператора «И». В результате будут отобраны объекты, которые удовлетворяют всем условия фильтра.
«https://{account_name}.getcourse.ru/pl/api/account/deals?key={secret_key}¶m1=value1¶m2=value2...»
Это действие запускает задачу на сбор данных и возвращает ключ экспорта в JSON-строке, который понадобится для проверки статуса готовности и для получения данных.
2. Отправить действие exports, ключ экспорта и секретный ключ:
«https://{account_name}.getcourse.ru/pl/api/account/exports/{export_id}?key={secret_key}»
Это действие проверяет статус готовности и возвращает поток данных в JSON-строке.
Параметры фильтров:
- Дата создания заказов
- created_at[from]=YYYY-MM-DD
- created_at[to]=YYYY-MM-DD
- Статус заказа
- status=deal_status
- Дата оплаты заказа
payed_at[from]=YYYY-MM-DD
payed_at[to]=YYYY-MM-DD
- Дата завершения заказа
- finished_at[from]=YYYY-MM-DD
- finished_at[to]=YYYY-MM-DD
- Дата изменения статуса заказа
- status_changed_at[from]=YYYY-MM-DD
- status_changed_at[to]=YYYY-MM-DD
- Заказы пользователей определенной группы
- user_in_group=ID группы
- Заказы пользователя (можно указать несколько ID через запятую)
- user_id=ID пользователя
Список возможных статусов заказа:
- new
- payed
- cancelled
- in_work
- payment_waiting
- part_payed
- waiting_for_return
- not_confirmed
- pending
Пример экспорта заказов по API
Экспорт платежей
Для получения данных нужно:
1. Отправить действие payments, секретный ключ и хотя бы один фильтр объектов для экспорта
«https://{account_name}.getcourse.ru/pl/api/account/payments?key={secret_key}&....»
Вместо «....» добавляются необходимые параметры фильтра.
Если в запрос нужно добавить несколько фильтров, отделите их знаком амперсанд &
. Подобная запись аналогична использованию логического оператора «И». В результате будут отобраны объекты, которые удовлетворяют всем условия фильтра.
«https://{account_name}.getcourse.ru/pl/api/account/payments?key={secret_key}¶m1=value1¶m2=value2...»
Это действие запускает задачу на сбор данных и возвращает ключ экспорта в JSON-строке, который понадобится для проверки статуса готовности и для получения данных.
2. Отправить действие exports, ключ экспорта и секретный ключ:
«https://{account_name}.getcourse.ru/pl/api/account/exports/{export_id}?key={secret_key}»
Это действие проверяет статус готовности и возвращает поток данных в JSON-строке.
Параметры фильтров:
- Дата создания платежей
- created_at[from]=YYYY-MM-DD
- created_at[to]=YYYY-MM-DD
- Статус платежа
- status=deal_status
- Дата изменения статуса платежа
status_changed_at[from]=YYYY-MM-DD
status_changed_at[to]=YYYY-MM-DD
Список возможных статусов платежа:
- expected
- accepted
- returned
- tobalance
- frombalance
- returned_to_balance
Пример экспорта платежей по API
Вы можете ознакомиться со списком экспортируемых полей в статье.
Получение справочников дополнительных полей пользователя и дополнительных полей заказа
Находится по адресу:
https://{account_name}.getcourse/pl/api/account/fields
Для получения списка полей необходимо передать действие key (секретный ключ API аккаунта) и action (должен быть указан «Get»):
curl -i -H «Accept: application/json; q=1.0, */*; q=0.1» «https://{account_name}.getcourse.ru/pl/api/account/fields» -d «action=get&key={secret_key}»
Обратите внимание: если в вашем аккаунте настроен принудительный редирект с системного адреса аккаунта «ваш_аккаунт.getcourse.ru» на добавленный домен «ваш_домен.ru», и вы хотите использовать методы API в формате cURL — необходимо использовать домен «ваш_домен.ru» вместо «ваш_аккаунт.getcourse.ru» в адресе, по которому происходит запрос
Лимиты Import API
На создание новых объектов по API предусмотрены лимиты. На изменение уже созданных объектов эти лимиты не распространяются.
⚠️ Обратите внимание! Эти лимиты предназначены для создания объектов с помощью API и не влияют на экспорт данных с помощью ExportAPI или операций «вызвать URL» в процессах (вебхуков).
На платформе есть возможность индивидуального согласования лимитов. Для уточнения информации обратитесь в поддержку по ссылке.
Статистика использования API
Чтобы учесть лимиты при загрузке новых данных, отслеживайте статистику использования API.
Для этого:
- Перейдите на страницу с адресом вида:
- http://ВАШ_АККАУНТ.getcourse.ru/saas/account/api — для системного адреса аккаунта;
- http://ВАШ_ДОМЕН/saas/account/api — для привязанного домена.
- Нажмите «Статистика использования API».
В статистике отображается ежемесячная информация о создании объектов с помощью API.
Возможные ошибки и способы их решения
В данном разделе рассмотрены наиболее частые ошибки, которые возникают при работе с API, а также причины их возникновения и способы решения.
1. Ответ сервера: «Достигнут лимит на создание объектов через API с типом Пользователи/Заказы/Платежи»
Причина: превышен лимит в месяц для тарифа аккаунта на создание объектов по API.
Рекомендации:
- скорректировать количество запросов в месяц, чтобы не превышать лимит для текущего тарифа;
- перейти на тариф, который позволяет создавать больше объектов через API.
2. Ответ сервера: «Предложение с кодом XXXXX, XXXXX, XXXXX не найдено»
Причина: попытка создать заказ с несколькими предложениями в рамках одного запроса. Данная возможность на платформе не предусмотрена.
Рекомендации: добавлять каждое предложение при помощи отдельного запроса.
Для этого:
- Отправьте запрос для создания заказа с одним предложением.
- Измените уникальный код предложения и добавьте к запросу параметр
multiple_offers=1
. Номер заказа изменять не нужно.
При выполнении второго запроса в созданный заказ будет добавлено необходимое предложение.
3. Ответ сервера: 903 ошибка «Слишком много запросов»
Причина: достигнут лимит количества запросов export api, который составляет 100 запросов за 2 часа.
Рекомендации:
- дождаться обнуления лимита;
- не отправлять одновременно большое количество запросов, так как выполняются они последовательно, и следующий запрос не будет исполнен до завершения предыдущего.
4. Ответ сервера: «Файл не создан, попробуйте другой фильтр»
Причина: в запросе на экспорт используются фильтры, под который не попадает ни один объект.
Рекомендации:
- проверить наличие объектов при помощи выборки в аккаунте;
- изменить фильтры в запросе.
5. При обновлении заказа возвращается его ID, но данные не изменяются
Причина: запрос не содержит минимального набора данных.
Рекомендации:
- проверить наличие в запросе минимального набора параметров.
Минимальный набор параметров описан выше [перейти ↑].
6. Ответ сервера: «success»:false, «error»:«Пустой параметр action»
Возможные причины:
- Данные полей передаются не в теле запроса (body).
- Выбран неверный тип контента (content-type) для тела запроса (body).
- Все поля и их значения кодируются в base64.
- Используется GET-запрос.
Рекомендации:
- Передавать поля со значениями в теле запроса (body).
- Для тела запроса выбрать тип контента form-data.
- Кодировать только значение поля params.
- Использовать POST-запрос.
7. Ответ сервера: «success»:false, «error»:«Неавторизованное API-обращение»
Причина: некорректно указано имя аккаунта или ключ API.
Рекомендации: проверить правильность указанного в запросе ключа и имени аккаунта.
8. Ответ сервера: «success»:false, «error»:«Действие запрещено»
Причина: в запросе на изменение данных используется ключ, который дает право только на чтение.
Рекомендации: создать новый ключ, который дает право на запись и чтение.
9. Ответ сервера: «success» :true, «action» : «add» , «result» :{ «success»:false, «user_id »:«», «user_status»:«», «error_message»:«Не указаны параметры», «error»:true}
Возможные причины:
- ошибка в переменной params или её отсутствие;
- значение переменной params не закодировано в base64.
Рекомендации:
- проверить синтаксические ошибки в значении переменной params (фигурные скобки, запятые, кавычки и т.д.);
- кодировать значение переменной params в Base64.
10. Ответ сервера: «success»:true, «action»:«add», «result»:{ «success»:false, «user_id»:«1», «user_status»:«1», «error_message»:«Не указан ни эл. адрес, ни телефон», «error»:true}
Возможные причины:
- ошибка в переменной params или её отсутствие;
- отсутствие в переменной params обязательных данных пользователя.
Рекомендации:
- проверить синтаксические ошибки в значении переменной params (фигурные скобки, запятые, кавычки и т.д.);
- проверить наличие в запросе почты или телефона пользователя.
Если вы столкнулись с иными ошибками или у вас есть дополнительные вопросы о работе API GetCourse, вы можете обратиться в нашу поддержку по ссылке → https://getcourse.ru/contacts.