Подпишитесь на уведомления и узнайте первыми об акциях.

Партнерский интерфейс в программе для создания сайтов

API для регистрации новых клиентов и уведомления об оплате от сторонних сервисов

API организован по технологии клиент-сервер. Сторонний сервис (партнер) отправляет запрос с данными на определенный URL.

В зависимости от получаемых данных на момент запроса UMI.ru выполняет ряд действий (регистрацию нового пользователя, оплату сайта, обновление сайта).

 

Техническая спецификация

Обмен данными производится по протоколу HTTP. Система возвращает результат в формате JSON.

Метод запроса: POST. Кодировка данных: UTF-8.

Url запроса:

http://gate.umi.ru/partnerapi.php

Любой запрос должен содержать в себе идентификационные данные партнера, идентификационные данные сайта, а также параметры, необходимые для выполнения определенного действия с сайтом.

 

Идентификационные данные партнера

  • partner - логин партнера;
  • code - код партнера (выдается в административной зоне партнерской программы).

 

Идентификационные данные сайта

  • host - полное имя сайта (например, test.umi.ru).

 

Действие

Параметры

Описание

Регистрация нового пользователя email E-mail администратора сайта.
password Пароль администратора сайта (если данный параметр не указан, система сама сгенерирует пароль).
sendmail Если параметр равен 1 или не указан, система отправит администратору сайта стандартное письмо с доступами, если 0 - письмо отправляться не будет.
app Идентификатор тарифа (см. Приложение 1).

no_pay

(необязательный параметр)

Если параметр равен 1, то будет создан бесплатный сайт. При этом, необходимо присутствие параметра product в запросе.
Оплата сайта product Идентификатор товара (см. Приложение 1).
Блокировка сайта action=block  
Разблокировка сайта action=unblock  
Провека имени сайта на занятость  action=check_free  
Получение информации о доступных обновлениях сайта action=upgrade_price Структура ответа описана в Приложении 3.
Получение информации о доступных товарах для оплаты сайта навсегда action=forever_price Структура ответа описана в Приложении 3.
Обновление сайта action=upgrade  
product Идентификатор товара (см. Приложение 3).

 

Для одновременного выполнения создания сайта и его оплаты необходимо указать все необходимые параметры в одном запросе. 

 

Структура ответа API

При успешном вызове:

{
    result: <результат выполнения API>
}

В случае возникновения ошибок:

{
    result: false,
    errors: [ "Сообщение об ошибке", "Сообщение об ошибке", ... ]
}

 

Приложение 1

Получение идентификаторов тарифа и товаров

Для получения данных о тарифах и товарах в формате JSON необходимо сделать запрос на URL

http://gate.umi.ru/goods.php

Структура ответа:

{ системное_имя_тарифа :
    { id : идентификатор_тарифа, name : наименование_тарифа, goods :
        { идентификатор_товара : {name : наименование_товара }  },
        { идентификатор_товара : {name : наименование_товара }  },
        ...
    },
    ...
}

 

Приложение 2

Автоматическая авторизация пользователя в административной зоне:

http://системный_домен_сайта/adminzone/?login=логин_пользователя&password=пароль_пользователя

 

Приложение 3

При успешном вызове поле result ответа API получения информации о доступных обновлениях тарифов сайта будет содержать JSON следующего формата:

{
    системное_имя_тарифа : [
        {
            id    : <идентификатор тарифа>,
            name  : <наименование тарифа>, 
            goods : [
                {
                    идентификатор_товара : {
                        name                : <наименование товара>, 
                        price               : <полная стоимость>, 
                        price_with_discount : <стоимость со скидкой>,
                        expiration          : <дата (в формате unix timestamp), до которой данные действительны>
                    }  
                },
                ...
            ]
        },
        ...
    ]
}

Если в поле expiration содержится число 0 - это значит, что для данного состояния хоста время не ограничено (на данный момент таковым состоянием является неоплаченный хост).

Согласно текущей логике оплат, для неоплаченных сайтов в товарах будут товары на оплату временного промежутка нового тарифа. При оплате такого товара сайт перейдёт на новый тариф и станет оплаченным на выбранный интервал времени. Для платных хостов будет один товар, стоимость которого изменяется во времени (см. параметр expiration). При оплате такого товара хост останется оплаченным, перейдёт на новый тариф, но нового времени не получит.