getApiKey getAccountDetails getActionTypes addCampaign resignCampaign getCampaign getCampaigns Демо для PHP

Метод getApiKey

Метод getApiKey нужен для того, чтобы получить ключ API для всех последующих запросов. Ключ зависит от пароля и меняется, если меняется пароль поэтому ключ можно сохранить на стороне клиента и не запрашивать при каждом обращении.
URL метода:
https://smmok-fb.ru/api/getApiKey
Переданные через POST значения:
Array(
	[email] => my_mail@mail.ru,
	[password] => my_password,
);
Пример корректного ответа сервера:
{"status":200,"respond":{"api_key":"13#RAdV112O1KIJdga8NiJL6nx\/ZuEPnI2313Vifw2TKho=#ea95a1590b4289b04a72baaede112320"}}
[Развернуть ответ]
Пример ложного ответа сервера:
{"status":400,"error":"\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d email"}
[Развернуть ответ]

Метод getAccountDetails

Метод getAccountDetails нужен для того, чтобы получить информацию про свой аккаунт.
URL метода:
https://smmok-fb.ru/api/getAccountDetails
Переданные через POST значения:
Array(
	[api] => 13#RAdV112O1KIJdga8NiJL6nx/ZuEPnI2313Vifw2TKho=#ea95a1590b4289b04a72baaede112320,
);
Пример корректного ответа сервера:
{"status":200,"respond":{"user_uni":"13","name":"\u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0418\u0432\u0430\u043d\u043e\u0432","discount":"49","customer_balance":"535.549","notify":"3","vip":"0"}}
[Развернуть ответ]
Значения в ответе сервера
Параметры Описание
user_uni Ваш уникальный ID пользователя
name Ваше имя пользователя
discount Ваша скидка в процентах
customer_balance Ваш баланс заказчика
notify Количество непрочитанных уведомлений

Метод getActionTypes

Метод getActionTypes нужен для того, чтобы получить список доступных услуг и их стоимость с учетом Вашей персональной скидки, если такая есть.
URL метода:
https://smmok-fb.ru/api/getActionTypes
Переданные через POST значения:
Array(
	[api] => 13#RAdV112O1KIJdga8NiJL6nx/ZuEPnI2313Vifw2TKho=#ea95a1590b4289b04a72baaede112320,
);
Пример корректного ответа сервера:
{"status":200,"respond":[{"name":"Like [\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f] \u0434\u043b\u044f \u043f\u0430\u0431\u043b\u0438\u043a\u0430","value":"like","price":0.281},{"name":"Like [\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f] \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0430","value":"post_like","price":0.281},{"name":"Add friend [\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0434\u0440\u0443\u0437\u044c\u044f]","value":"n_add_friends","price":0.281},{"name":"Join [\u041f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f] \u043a ...","value":"n_event","price":0.281},{"name":"Like [\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f] \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f","value":"n_comment_like","price":0.281},{"name":"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f","value":"n_app_install","price":0.281}]}
[Развернуть ответ]
Значения в ответе сервера
Параметры Описание
name Название услуги
type Код услуги, например: like_post
price Цена за один оффер в рублях. Дробное число с округлением до тысячных

Метод addCampaign

Метод addCampaign нужен для того, чтобы создать новую кампанию.
Параметры Описание
action_url Ссылка на целевую страницу
action_type Тип задания (см. функцию getActionTypes)
campaing_title Произвольное название кампании. Может быть полезно для поиска.
offerts_q Количество заказанных офертов
offerts_per_day Суточных лимит исполнителей
filter_sex Фильтр "Пол исполнителей":
0 - Все
1 - Женщины
2 - Мужчины
filter_country Фильтр "Страна":
0 - Все
1 - Россия
2 - Украина
URL метода:
https://smmok-fb.ru/api/addCampaign
Переданные через POST значения:
Array(
	[api] => 13#RAdV112O1KIJdga8NiJL6nx/ZuEPnI2313Vifw2TKho=#ea95a1590b4289b04a72baaede112320,
	[action_url] => https://vk.com/apiclub,
	[action_type] => like,
	[campaing_title] => Мой заголовок,
	[offerts_q] => 1000,
	[offerts_per_day] => 0,
	[filter_sex] => 0,
	[filter_country] => 0,
);
Пример корректного ответа сервера:
{"status":200,"respond":{"id":751182,"user_balance":488.08}}
[Развернуть ответ]
Значения в ответе сервера
Параметры Описание
id ID добавленной кампании
user_balance Ваш обновленный баланс после добавления кампании
Пример ложного ответа сервера:
{"status":400,"error":"\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430. \u041c\u044b \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0438 URL \u0438 \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u0432\u044b\u0432\u043e\u0434\u0443, \u0447\u0442\u043e \u043e\u043d \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b \u0432 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u0438 URL - \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043f\u0440\u043e \u043e\u0448\u0438\u0431\u043a\u0443 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0443"}
[Развернуть ответ]

Метод resignCampaign

Метод resignCampaign нужен для того, чтобы отменить созданный ранее заказ. При этом все офферы кроме последних 5 будут отменены и их стоимость будут засчитана обратно на баланс заказчика.
Параметры Описание
project_id ID кампании
URL метода:
https://smmok-fb.ru/api/resignCampaign
Переданные через POST значения:
Array(
	[api] => 13#RAdV112O1KIJdga8NiJL6nx/ZuEPnI2313Vifw2TKho=#ea95a1590b4289b04a72baaede112320,
	[project_id] => 31500,
);
Пример корректного ответа сервера:
{"status":200,"respond":{"user_balance":535.41,"success":"\u0417\u0430\u043a\u0430\u0437 \u043e\u0442\u043c\u0435\u043d\u0435\u043d. \u041d\u0430 \u0412\u0430\u0448 \u0431\u0430\u043b\u0430\u043d\u0441 \u0437\u0430\u0447\u0438\u0441\u043b\u0435\u043d\u043e 2.55 RUB. \u041a\u0430\u043c\u043f\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u0430 \u0432 \u0441\u0442\u0430\u0442\u0443\u0441 \"\u0417\u0430\u043a\u0440\u044b\u0442\u0430\" \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043e\u0444\u0435\u0440\u0442\u043e\u0432."}}
[Развернуть ответ]
Значения в ответе сервера
Параметры Описание
user_balance Ваш обновленный баланс

Метод getCampaign

Метод getCampaign нужен для того, чтобы получить детализированную информацию про кампанию по ID.
Параметры Описание
project_id ID кампании, которую Вы хотите просмотреть
URL метода:
https://smmok-fb.ru/api/getCampaign
Переданные через POST значения:
Array(
	[api] => 13#RAdV112O1KIJdga8NiJL6nx/ZuEPnI2313Vifw2TKho=#ea95a1590b4289b04a72baaede112320,
	[project_id] => 6792,
);
Пример корректного ответа сервера:
{"status":200,"respond":{"project_id":"749287","type":"n_add_friends","href":"https:\/\/www.facebook.com\/profile.php?id=100000000000000","total_offers":"15","complete_offers":"15","complite_today":"15","offerts_per_day":"15","paused":"0","moderated":"2","created":"1622809946","filter_sex":"0","filter_country":"0","total_price":"4.215","title":"Демонстрационная кампания с произольным заголовком"}}
[Развернуть ответ]
Значения в ответе сервера
Параметры Описание
project_id ID кампании
type Тип кампании (код)
href Ссылка на кампанию
total_offers Общее кол-во оплаченных офертов
complete_offers Количество выполненных офертов
complite_today Количество выполненных офертов за сегодня
offerts_per_day Суточный лимит офертов
paused Включена или нет пауза:
0 - Действует
1 - На паузе
moderated Состояние проекта:
0 - На модерации
1 - Активен
2 - Закрыт
3 - Отклонен модератором
4 - Заблокирован
5 - Возвращен на модерацию
6 - Перенесен в архив
7 - Активен (в очереди)
created Время создание кампании (unix time stamp)
filter_sex Фильтр "Пол исполнителей":
0 - Все
1 - Женщины
2 - Мужчины
filter_country Фильтр "Страна":
0 - Все
1 - Россия
2 - Украина
total_price Общая стоимость всех оплаченных офертов
title Название кампании
Пример ложного ответа сервера:
{"status":403,"error":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430! \u041a\u0430\u043c\u043f\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e."}
[Развернуть ответ]

Метод getCampaigns

Метод getCampaigns нужен для того, чтобы получить список своих кампаний.
Параметры Описание
skip Пропустить кампании (по-умолчанию 0)
limit Получить указанное кол-во записей (по-умолчанию 50, макс. 100)
URL метода:
https://smmok-fb.ru/api/getCampaigns
Переданные через POST значения:
Array(
	[api] => 13#RAdV112O1KIJdga8NiJL6nx/ZuEPnI2313Vifw2TKho=#ea95a1590b4289b04a72baaede112320,
	[skip] => 0,
	[limit] => 10,
);
Пример корректного ответа сервера:
{"status":200,"respond":{"projects":[{"project_id":"749287","type":"n_add_friends","href":"https:\/\/www.facebook.com\/profile.php?id=100039233941033","total_offers":"15","complete_offers":"15","complite_today":"15","offerts_per_day":"15","paused":"0","moderated":"2","created":"1322809943","filter_sex":"0","filter_country":"0","total_price":"4.215","title":"https:\/\/www.facebook.com\/profile.php?id=100039233941033"},{"project_id":"735203","type":"post_like","href":"https:\/\/www.facebook.com\/random.username.1\/posts\/2831314883853381","total_offers":"100","complete_offers":"0","complite_today":"0","offerts_per_day":"50","paused":"0","moderated":"3","created":"1317301933","filter_sex":"0","filter_country":"0","total_price":"22.3","title":"https:\/\/www.facebook.com\/random.username.1\/posts\/2831314883853381"},{"project_id":"382759","type":"n_comment_like","href":"https:\/\/www.facebook.com\/plugins\/comment_embed.php?href=https%3A%2F%2Fwww.facebook.com%2Fpermalink.php%3Fstory_fbid%3D318333373210141%23id%3D104310584252119%23comment_id%3D321085149271327","total_offers":"50","complete_offers":"0","complite_today":"0","offerts_per_day":"50","paused":"0","moderated":"4","created":"1593015474","filter_sex":"0","filter_country":"0","total_price":"11.3","title":"https:\/\/www.facebook.com\/permalink.php?story_fbid=318333373210141&id=104310584252119&comment_id=321085149271327"}],"skip":0,"limit":3}}
[Развернуть ответ]

Пример библиотеки для работы с API на PHP

Ниже приведен пример кода простой библиотеки на PHP для работы с API сервиса.

class Smmok {

	public $api_key;
	public $api_url;

	function api($method, $params = array()) {
		
		$params['random'] = rand(0,10000);
		$params['api_key'] = $this->api_key;
		
		ksort($params);

		$query = $this->api_url . $method;
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $query);
		curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
		curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
		curl_setopt($ch, CURLOPT_POST, true);
		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)');
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$json = curl_exec($ch);
		curl_close($ch);
		$output = json_decode($json, true);
		return $output;
	}
	
	function params($params) {
		$pice = array();
		foreach($params as $k=>$v) {
			$pice[] = $k.'='.$v;
		}
		return implode('&',$pice);
	}

}

Для работы с API нужно получить и сохранить API-ключ

$smmok = new Smmok(); // инициация библиотеки
$smmok->api_url = 'https://smmok-fb.ru/api/'; 
$result = $smmok->api('getApiKey', array(
		'email' => 'example@email.com', 
		'password' => 'Example_Password'));

if ($result['status'] == 200) {
    echo 'Your API token is '.$result['respond']['api_key'];
}

Когда у нас есть ключ мы можем выполнять другие запросы, например, создать кампанию:

$smmok = new Smmok(); // инициация библиотеки
$smmok->api_url = 'https://smmok-fb.ru/api/'; 
$smmok->api_key = 'Your_API_Token';
$result = $smmok->api('addCampaign', array(
	'action_url' => 'https://www.facebook.com/RTTnews',
	'action_type' => 'like',
	'campaing_title' => 'Фейковые подписчики для фейковой новостной службы',
	'offerts_q' => 100,
	'offerts_per_day' => 50,
	'filter_sex' => 0,
	'filter_country' => 0,
));

?>

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