API для работы в MainLink
Сервисы MainLink.API

Сервисы, входящие в комплект API:

  • start.asmx - стартовый сервис (Авторизация, Выход, Проверка баланса)
  • seo.asmx - все для рекламодателя (управление проектами, страницами, покупкой), поддерживается в новом интерфейсе с 2010г.
  • advert.asmx - все для рекламодателя, морально устарел, использовался в старом интерфейсе (до декабря 2009г.)
  • webmaster.asmx - все для владельца сайта (Сайты, экспорт ссылок, цензура)
  • catalogs.asmx - справочник MainLink (категории, списки, константы)
  • fin.asmx - финансовые отчеты (расходы / приходы)
  • stat.asmx - статистика по MainLink (средние цены)
  • sok.asmx - MainLink для СОКов (Сервисов по обслуживанию клиентов)
Подпишитесь на рассылку по изменениям в API
Ваш Email:
 

Как работает?
1) Необходимо получить PrivateKey для использования api - напишите в службу поддержки MainLink
2) Далее коннектитесь к сервису по start.asmx, получаете Cookie (по ним авторизация и сессия)
3) Подставляете эти cookie в остальные веб-сервисы и затем используете их в работе.
Примеры:

PHP (использует библиотеку nusoap)

$advert_url = "http://api.mainlink.ru/advert.asmx?WSDL"; 
$login_url = "http://api.mainlink.ru/start.asmx?WSDL";
$login = new nusoap_client($login_url, true); 
$advert = new nusoap_client($advert_url, true); 
$login->setUseCurl(1); 
$login->call('sys_LogIn', array('Login' => 'qqqq', 'Password' => 'qqqqq', 'PrivateKey' => 'xxx')); 
$balance = $login->call('sys_Balance', array()); 
$cookies = $login->getCookies(); 
foreach ($cookies as $cookie) 
{ 
    $advert->setCookie($cookie['name'], $cookie['value']); 
} 
$res = $advert->call('mlapi_AddProject', array());

ASP.NET (2.0/3.0/3.5/4.0/5.0)

namespace hosttest 
{
    public class test 
    { 
        private CookieContainer cookie; 
        public double test() 
        { 
            cookie = new CookieContainer();
            MainLink.mainlinkapi r = new MainLink.mainlinkapi();
            // Не забудьте создать Web-Reference на вышеуказанные сервисы (которые планируете использовать) 
            r.CookieContainer = cookie; 
            r.sys_LogIn("login", "password", "privatekey"); 
            return r.mlapi_GetBalance(); 
        } 
    } 
}