BIGLION или GRUPON - Скидки 50-90% в Вашем городе, оплата эл.валютой!
 
 Главная | Регистрация | ВходО сервисе | Документация по API | Реф.система | Поддержка    RU   
 Темы Форумы Мониторы 
00:08 GMT 

Документация по API

   Перед прочтением документации советуем Вам ознакомиться с Руководством пользователя.
   Для удобства пользователей имеется доступ к сервису через API. Он позволяет, не заходя на сайт, использовать все его основные функции. Формат вызова интерфейса:

http://investorjournal.net/api.php?
user=ваш_логин&key=ваш_ключ_доступа_к_API
&do=операция&дополнительные_параметры

   ваш_логин - логин, используемый при входе на сайт. Параметр передается в url-кодированном формате (urlencoded);
   ваш_ключ_доступа_к_API можно взять в разделе "Данные". Значение этого ключа формируется из пароля и из соображений безопасности НЕ сохраняется в базе.
   операция - наименование операции (post или add).
   В качестве ответа интерфейс возвращает результат (код) выполнения.
Положительное число (больше 0) означает, что задание принято и ему присвоен этот номер;
Отрицательные числа (код с минусом) означают, что задание НЕ принято из-за ошибки.
Расшифровка кодов ошибок:
100 - Пользователь с данной парой "логин/ключ" не найден
99 - Пользователь заблокирован
98 - Тема (проект) не найден(а)
97 - Неизвестная операция


Функция #1: Отправка сообщений (постинг)

   Для отправки (post) сообщения необходимы дополнительные параметры тема и текст.

http://investorjournal.net/api.php?
user=ваш_логин&key=ваш_ключ_доступа_к_API
&do=post&project=тема&send=1&text=текст

   если указан необязательный параметр send равный 1, то сообщения отправляются немедленно, иначе (по умолчанию) просто помещаются в очередь, и для отправки необходимо зайти на сайт и запустить их обработку.
Параметр тема должен быть равен наименованию проекта (темы) в сервисе или совпадать со значением наименование проекта для API. Это значение можно задать в свойствах проекта (Параметры - Задать).
Параметр текст передается в url-кодированном формате (urlencoded).

   Пример использования этой функции в HYIP мониторингах.
   Задача: Необходимо сделать так, чтобы при добавлении в админке монитора вклада или выплаты - сервис автоматически отписывался на форумах.
   Возьмем для примера скрипт от GoldCoders (ГК) на PHP, т.к. он самый распространенный. В нем за добавление выплат отвечает файл silent_actions.inc.php. Открываем его и ищем в тексте место, где обрабатывается параметр a равный add_trunsaction.

if ($frm['a'] == 'add_trunsaction')

где-то немного ниже выполнение запроса к базе:

if (!($sth = mysql_query ($q)))
{
   exit (mysql_error ());
}

затем редирект:

... header ('Location: ?a=edit_statistics&lid=' . $frm['lid']);

И после - выход:

exit ();

Добавим следующий код после header, но перед exit:

// подготовка переменных
$ijlogin = urlencode('ваш_логин');
$ijkey = 'ваш_ключ_доступа_к_API';
$ijprojapiname = $frm['lid'];
// текст зависит от типа транзакции
if ($frm['type'] == 1) { // это ВЫПЛАТА
$text = 'ваш_текст
сообщения
о_выплате';
} else { // это ВКЛАД
$text = 'ваш_текст
сообщения
о_вкладе';
}
// вызов API
readfile("http://investorjournal.net/api.php?user=$ijlogin&key=$ijkey&do=post&project=$ijprojapiname&send=1&text=".urlencode($text));

Так как названия проекта в мониторинге и в сервисе могут быть различными, а также с целью упрощения кода - идентификацию проекта будем проводить по его коду (номеру) в листинге. Это значение доступно как элемент массива $frm['lid']. Его мы и передаем в качестве параметра ($ijprojapiname).

Не забудьте установить на сервисе это же значение в свойствах проекта
наименование проекта для API.

При формировании текста можно также использовать значения, ранее записанные в базу, например:

$text = 'ВЫПЛАТА

дата: '.$date.'
батч: '.$frm['batch'].'
сумма: '.sprintf('%.2f', $frm['amount']).'
комментарий: '.$frm_orig['comment'].'

Спасибо, Админ!';

Таким образом, для каждой записи в шаблон будут динамически вписываться свои значения.
   Следующая проблема заключается в том, что форумы обычно "одноязычные". И хотелось бы, чтобы на англоязычные форумы отправлялся текст на английском, а на русскоязычные - на русском. И такая возможность есть! Чтобы использовать мультиязычный постинг, текст сообщения должен быть разбит на языковые разделы. Текст отправляемого сообщения будет состоять только из разделов, соответствующих языку форума

Пример:

"этот текст будет виден на всех форумах
<en>this text only in english</en>
этот снова на всех
<ru>этот только на русских</ru>
и этот на всех"

теги можно не закрывать:

"этот текст будет виден на всех форумах
<en>this text only in english<ru>этот только на русских</>
и этот на всех"

Окончательный полный вариант кода:

// подготовка переменных
$ijlogin = urlencode('ваш_логин');
$ijkey = 'ваш_ключ_доступа_к_API';
$ijprojapiname = $frm['lid'];
// текст зависит от типа транзакции
if ($frm['type'] == 1) { // это ВЫПЛАТА
$text = '<en>PAID<ru>ПЛАТИТ</>!

<en>date<ru>дата</>: '.$date.'
<en>batch<ru>батч</>: '.$frm['batch'].'
<en>amount<ru>сумма</>: '.sprintf('%.2f', $frm['amount']).'
<en>comment<ru>комментарий</>: '.$frm_orig['comment'].'

<en>Thanks Admin<ru>Спасибо, Админ</>!';
} else { // это ВКЛАД
$text = '<en>MY DEPOSIT<ru>МОЙ ВКЛАД</>!

<en>date<ru>дата</>: '.$date.'
<en>batch<ru>батч</>: '.$frm['batch'].'
<en>amount<ru>сумма</>: '.sprintf('%.2f', $frm['amount']).'
<en>comment<ru>комментарий</>: '.$frm_orig['comment'].'

<en>Good luck<ru>Удачи</>!';
}
// вызов API
readfile("http://investorjournal.net/api.php?user=$ijlogin&key=$ijkey&do=post&project=$ijprojapiname&send=1&text=".urlencode($text));

Можно отдельно задать текст на русском и английском, а потом объеденить их перед отправкой:

$text = "<ru>$textru<en>$texten";

По всем возникшим вопросам прошу обращаться в поддержку.

InvestorJournal ver. 10.3.26, coded by AGLSoft

блог бомжа