Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Вопросы по работе системы (http://forum.sape.ru/forumdisplay.php?f=13)
-   -   SAPE XML-RPC (http://forum.sape.ru/showthread.php?t=11957)

Wink 29.09.2010 16:11

Цитата:

Сообщение от sa_helper (Сообщение 918468)
Также, непонятно, почему у некоторых сайтов в получаемом массиве отсутствует url

Видимо потому что вебмастер поставил галочку "скрывать URL"

Цитата:

Сообщение от sa_helper (Сообщение 918468)
$aFilter['white_lists'] = new xmlrpcval($white_list, 'struct');

Вместо struct попробуйте array или вот так еще можно попробовать
Код:

$white_list = new xmlrpcval(591122, "int");
$aFilter['white_lists'] = new xmlrpcval(array($white_list), "array");


sa_helper 29.09.2010 22:21

Цитата:

Сообщение от Wink (Сообщение 918486)
Цитата:
Сообщение от sa_helper
$aFilter['white_lists'] = new xmlrpcval($white_list, 'struct');
Вместо struct попробуйте array

$aFilter['white_lists'] = new xmlrpcval($white_list, 'array'); аналогичная ситуация:
Fatal error: Call to a member function serialize() on a non-object in Z:\home\sape_api\www\functions\xmlrpc\lib\xmlrpc.i nc on line 3017

Добавлено через 35 минут
Цитата:

Сообщение от Wink (Сообщение 918486)
$white_list = new xmlrpcval(591122, "int");
$aFilter['white_lists'] = new xmlrpcval(array($white_list), "array");

Такой запрос отправляется без ошибки, но возвращаются ссылки опять-же без учёта тех, что в избранном

Добавлено через 4 часа 46 минут
Ребята, ещё момент!

Ниже, содержимое моей переменной $msg. Просьба, выложите аналогичный формат для ваших запросов, хочу сравнить. Думаю, ошибка в этом

xmlrpcmsg Object
(
[payload] =>
[methodname] => sape.search_sites
[params] => Array
(
[0] => xmlrpcval Object
(
[me] => Array
(
[int] => 6152431
)

[mytype] => 1
[_php_class] =>
)

[1] => xmlrpcval Object
(
[me] => Array
(
[struct] => Array
(
[white_lists] => xmlrpcval Object
(
[me] => Array
(
[struct] => Array
(
[0] => 591122
[1] => 591123
)

)

[mytype] => 3
[_php_class] =>
)

)

)

[mytype] => 3
[_php_class] =>
)

[2] => xmlrpcval Object
(
[me] => Array
(
[int] => 0
)

[mytype] => 1
[_php_class] =>
)

[3] => xmlrpcval Object
(
[me] => Array
(
[int] => 2
)

[mytype] => 1
[_php_class] =>
)

)

[debug] => 0
[content_type] => text/xml
)

AlexKg 29.09.2010 23:07

Цитата:

Сообщение от Yugene (Сообщение 917620)
Добавили в ответ эти параметры.

Сейчас для фильтров, у которых не установлены эти параметры видим вот такую кривизну в ответе:

<struct>
<member>
<name>id</name>
<value><int>XXXXXXX</int></value>
</member>
<member>
<name>name</name>
<value><string>XXXXXXXXX</string></value>
</member>
<member>
<name>yaca_categories</name> <- вот тут должно быть "<name>params</name>"
<value>
<struct>
<member>
<name>ext_links</name>
<value><int>2</int></value>
</member>
<...>

Yugene 30.09.2010 08:12

Цитата:

Сообщение от AlexKg (Сообщение 918843)
Сейчас для фильтров, у которых не установлены эти параметры видим вот такую кривизну в ответе:

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

Slash 30.09.2010 13:05

Люди, подскажите плиз. В связи с переездом XML интерфейса в новое место, достаточно ли заменить
Цитата:

$this->xmlSapeUrl = 'https://www.sape.ru/api_xmlrpc.php?v=extended';
на
Цитата:

$this->xmlSapeUrl = 'http://api.sape.ru/xmlrpc/v2/';
?

Добавлено через 17 минут
Разобрался.
Станно, но нужно писать $this->xmlSapeUrl = 'https://api.sape.ru/xmlrpc/v2/';
разобрался методом тыка :)

AlienZzzz 02.10.2010 18:50

Цитата:

Сообщение от Slash (Сообщение 919112)
Люди, подскажите плиз. В связи с переездом XML интерфейса в новое место, достаточно ли заменить
на

?

Добавлено через 17 минут
Разобрался.
Станно, но нужно писать $this->xmlSapeUrl = 'https://api.sape.ru/xmlrpc/v2/';
разобрался методом тыка :)



А где новость об этом никак не найду ?

Mrsined 07.10.2010 18:25

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

Дано:
- Поставил denwer.
- Создал БД (MySQL)
- Слепил сайтик на joomle
- Создал новый модуль
- Подключил расширение php в joomla (чтоб в модуле можно было php-вставки делать)
- Вывел модуль (модуль включен)

Что мне надо написать на php в этот модуль, чтоб:
- Соединиться с сапой под своим акком.
- Забрать из Оптимизатора все wait + дата из площадки (id-xxxxxx)
- Положить их в БД в таблицу "URLs-donors" (столбцы Data и URLs)
- Вывести их в модуле списком

Думаю, если увижу как это реализовать на php, то смогу дальше уже сам дополнить этот код остальной выгрузкой.

Не злитесь! И не пинайте! Я не очередной халявщик! Просто не могу врубиться как это писать. :(
оОочень хочу научиться писать xml запросы.

Хочу выгружать на свои сервера данные из Сапы. Чтоб потом обрабатывать их уже на своей стороне более детально.:rolleyes:

Slash 07.10.2010 22:31

Цитата:

Сообщение от AlienZzzz (Сообщение 920636)
А где новость об этом никак не найду ?

Новости нету) Методом тыка :)

hallow 12.10.2010 15:51

выполняю sape.login

<?php
include_once("lib/xmlrpc.inc");

$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
$connect = new xmlrpc_client('http://api.sape.ru/xmlrpc/');
$connect->request_charset_encoding = 'UTF-8';
$connect->setSSLVerifyHost(0);
$connect->setSSLVerifyPeer(0);

$login = '******';
$pass = md5('*****');
$query = new xmlrpcmsg('sape.login');
$query->addParam(new xmlrpcval($login, 'string'));
$query->addParam(new xmlrpcval($pass, 'string'));
$query->addParam(new xmlrpcval(true, 'boolean'));
$result = $connect->send($query);

ошибки не выдает,

передаю Cookie,
foreach ($result->cookies() as $key => $val)
$connect->setCookie($key, @$val['value'], @$val['path'], @$val['domain'], 80);

делаю любой запрос,

$query_1 = new xmlrpcmsg('sape.get_balance');
$result = $connect->send($query_1);


получаю ответ:
(код 667): SAPE.RU: Please, login

Где я ошибся?

Добавлено через 20 часов 42 минуты
!!!можно уже не отвечать. я под другую библиотеку уже написал.!!!

ntro123 12.10.2010 21:05

Помогите пожалуйста.

<?
include_once("xmlrpc-2.2.2/lib/xmlrpc.inc");
$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
$connect = new xmlrpc_client('http://xmlrpc.sape.ru/');
$connect->request_charset_encoding = 'UTF-8';
$connect->setSSLVerifyHost(0);
$connect->setSSLVerifyPeer(0);

//логинимся
$query = new xmlrpcmsg('sape.login');
$query->addParam(new xmlrpcval('******', 'string'));
$query->addParam(new xmlrpcval('*****', 'string'));
$query->addParam(new xmlrpcval(false, 'boolean'));
$result = $connect->send($query);

//если залогинились
if (!$result->faultCode())
{
//отправляем куки при последующих запросах
foreach ($result->cookies() as $key => $val)
$connect->setCookie($key, @$val['value'], @$val['path'], @$val['domain'], 80);

echo 123;
$msg = new xmlrpcmsg("sape.get_projects", array(new xmlrpcval(false, "boolean")));
echo $msg;
}
else
{
echo 'плохо.';
}
?>

выводит 'плохо.' т.е. вторая часть скрипта выполняется ...
$result->faultCode() выводит 5...
пасс и логин верные 100% мд5 flase.
Хотелось бы https://xmlrpc.sape.ru/?v=extended
extended поюзать.

Спасибо

ntro123 14.10.2010 12:38

http://www.sape.ru/api_xmlrpc.php?v=extended
и https://www.sape.ru/api_xmlrpc.php?v=extended
выдает 664 т.е. "Доступ к дополнительным функциям закрыт"

помогите

AlikZP 14.10.2010 15:30

Доброго времени суток всем.

Только начал изучать API от Sape.

----------------------------
С авторизацией разобрался, потерто.
----------------------------

Теперь вопрос: не принимаются куки, впрочем таких вопросов в этой теме полно.

$cookies = $resp->cookies();

$client->setcookie('SAPE', $cookies["SAPE"]["value"], $cookies["SAPE"]["path"], $cookies["SAPE"]["domain"]);

$msg = new xmlrpcmsg("sape.get_projects", array(new xmlrpcval(false, "boolean")));

$val = $client->send($msg);

Выдает Please, Login

Благодарю.

tuders 19.10.2010 12:56

А на Visual Basic кто-нть делал запросы?

tuders 23.10.2010 19:58

Похоже тут вообще никто не живёт... :-(

ntro123 23.10.2010 20:30

tuders, это точно.

ВБ это же не серверный язык. как вы собираетесь осуществлять запросы?

chahlic 23.10.2010 21:40

Цитата:

Сообщение от ntro123 (Сообщение 935501)
ВБ это же не серверный язык. как вы собираетесь осуществлять запросы?

ага, и на дот нете движков сайтов тоже нету, правда? :cool:

Цитата:

Сообщение от tuders (Сообщение 935492)
Похоже тут вообще никто не живёт... :-(

Особо нет. На ВБ не пробовал, но на c# получалось, мож покопай в гугле....

ntro123 23.10.2010 21:47

Цитата:

Сообщение от chahlic (Сообщение 935520)
ага, и на дот нете движков сайтов тоже нету, правда? :cool:



Особо нет. На ВБ не пробовал, но на c# получалось, мож покопай в гугле....

пардон) особо не селен что такое ВБ и с чем его едят =)

Trimmer 24.10.2010 07:16

ntro123, когда на твоём аке будет боле менее большой оборот само включится должно, хотя наверно можно и попросить включить

AlikZP, на topsape регайся там скриптик есть в котором ужё есть рабочий пример как получить доступ через API, подправишь как нужно

tuders, можно и на vb там через ActiveX подключается.

ntro123 24.10.2010 10:24

Trimmer, спасибо конечно, но уже не актуально, все релизовал через curl и рег выражения. (ПС. незнаю почему но работает даже быстрее чем сапе api) и кука хранится очень долго, т.е. каждый раз ненужно посылать логин и пасс, а прям сразу куку.

Для моего ака мне не нужно.
Т.к. там будет что-то типо бесплатного сервиса по проверки ссылок с сапы и других бирж. Но все равно спасибо.

tuders 24.10.2010 12:46

Цитата:

Сообщение от ntro123 (Сообщение 935501)
tuders, это точно.

ВБ это же не серверный язык. как вы собираетесь осуществлять запросы?

А мне и не требуется делать серверное приложение.
Мне нужно сделать клиентскую часть. A la SapeMaster и иже с ним.

В Sape сказано:
Цитата:

Если Вы ещё ничего не знаете про XML-RPC, то рекомендуем почитать на сайте www.xmlrpc.com:
Реализация протокола для Вашего любимого языка программирования.
Для любителей PHP рекомендуем Zend Framework.
Только вот та подборка ссылок не обновлялась с
Цитата:

Updated: 12/17/03
:( А по ссылкам половина мёртвых. Хорошо бы образцы где-то поближе и посвежее разместить.

И VB там нет.

Цитата:

На ВБ не пробовал, но на c# получалось
А можно в личку кусок кода хотя бы для пары функций

PHP код:

(int) sape.login((charlogin, (charpassword [, (boolean) md5 false]) 

и
PHP код:

(array) sape.get_user() 

.

Т.е. именно, как программа должна послать пост-запрос на сервер сапы.
Ну, а переложить на другой язык уже не проблема, надеюсь, будет. ;)

chahlic 24.10.2010 12:50

Цитата:

Сообщение от tuders (Сообщение 935734)
А можно в личку кусок кода хотя бы для пары функций

вечерком скину

greco 27.10.2010 19:24

список результирующих структур?
 
Цитата:

Сообщение от chahlic (Сообщение 728667)
Принимайте данные не в IList, а структуру (у меня так работает)

для метода sape.get_sites:
PHP код:

public struct WMSites
    
{
        public 
int id;
        public 
string url;
        public 
int cy;
        public 
int pr;
        public 
int category_id;
        public 
DateTime date_created;
        public 
DateTime date_last_mpp_changed;
        public 
string status;
        public 
string comment_admin;
        public 
int domain_level;
        public 
bool flag_auto;
        public 
int mpp_1;
        public 
int mpp_2;
        public 
int mpp_3;
        public 
bool flag_blocked_in_yandex;
        public 
bool flag_hide_url;
        public 
string links_delimiter;
        public 
string links_css_class;
        public 
string links_css_class_context;
        public 
bool flag_use_unprintable_words_stop_list;
        public 
bool flag_use_adult_words_stop_list;
        public 
bool flag_not_for_sale;
        public 
double amount_today;
        public 
double amount_yesterday;
        public 
double amount_total;
        public 
bool in_yaca;
        public 
bool in_dmoz;
        public 
int nof_yandex;
        public 
int nof_google;

    } 



На странице описания методов для этой ф-ции (sape.get_sites) два раза указан коммент от модератора - убрали бы что ли :)



подскажите пожалуйста, где можно найти список структур, возвращаемых всеми методами SAPE API.


Хотелось бы сэкономить время на преобразование такого "свободного текста" - в код:
  • текст ссылки,
  • цена,
  • новая цена

forseo2k 31.10.2010 17:56

не работают sape.get_placement_status и sape.placement_delete
 
До этого момента удачно брал всю необходимую мне информацию через xml-rpc, теперь возникла проблема - не удается справится с функциями sape.get_placement_status и sape.placement_delete.
Код (Perl):
my $cookies = HTTP::Cookies->new(ignore_discard => 1);
my $xmlrpc = XMLRPC::Lite->proxy('http://api.sape.ru/xmlrpc/?v=extended');
my $call = $xmlrpc->call('sape.login', 'логин', md5_hex('пароль'), 1) ;
$call = $xmlrpc->call('sape.get_placement_status',2222773548);
$tmp= $call->result;

пробовал с различными id ссылок (оптимизатора), в ответ тишина... удалить ссылку через sape.placement_delete также не удается... Подскажите у кого был удачный опыт с этими функциями? Как быть?:confused:

driverok 03.11.2010 13:52

Добрый день.
вопрос по методу sape.placements_accept_seo
Входной массив для метода:

PHP код:

$data="<data>";
foreach ($ids as $id){
    $data.="<value><string>".$id."</string></value>";
}
$data.="</data>";
// Данные для отправки
$xml = <<<EOF
<?xml version="1.0"?>
<methodCall>
<methodName>sape.placements_accept_seo</methodName>
<params>
<param><value><array>$data</array></value></param>
</params></methodCall>
EOF;

на одном акке отрабатывает, на других выдает такой ответ


Код HTML:

<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
 <value>
  <struct>
  <member>
    <name>faultString</name>
    <value>
    <string>server error. method not found.

sape.placements_accept_seo</string>
    </value>
  </member>
  <member>
    <name>faultCode</name>
    <value>
    <int>-32601</int>
    </value>
  </member>
  </struct>
 </value>
</fault>
</methodResponse>

Запрос слал на оба адреса
//$url = "http://www.sape.ru/api_xmlrpc.php?v=extended";
$url = "https://api.sape.ru/xmlrpc/v2/";
Есть какие нибудь идеи?
p.s. - скрипт работал давно и без сбоев - и тут на тебе...поможите...

greco 03.11.2010 19:23

>...//$url = "http://www.sape.ru/api_xmlrpc.php?v=extended";
$url = "https://api.sape.ru/xmlrpc/v2/";

вижу разные протоколы (http/https), помимо разнящихся версий.

chahlic 03.11.2010 19:43

Цитата:

Сообщение от driverok (Сообщение 942880)
на одном акке отрабатывает, на других выдает такой ответ
...
Есть какие нибудь идеи?
p.s. - скрипт работал давно и без сбоев - и тут на тебе...поможите...

Ну а че тут помогать? Все просто. Ф-ция доступна только на расширенном апи, а, очевидно, акк, на котором ошибку возвращает, не имеет к нему доступа (мало тратит ;))

hebydymka 03.11.2010 21:27

Хм... начала вылазить ошибка при подключении ((
Код:

sape.login
array(2) {
  ["faultCode"]=>
  int(664)
  ["faultString"]=>
  string(33) "SAPE.RU: Extended mode denied :o("
}

пользуюсь расширенным апи давно, трачу много, очень много...
За что могли снять права или это временная ошибка ?

Andrey-ka 12.11.2010 18:32

А как можно узнать среднюю цену по системе?
Так как это делает sapemaster.

Andreus12 13.11.2010 12:25

Цитата:

Сообщение от Andrey-ka (Сообщение 949864)
А как можно узнать среднюю цену по системе?
Так как это делает sapemaster.

Не знаю как sapemaster, но, по крайней мере раньше, в системе была функция sape.get_avg_prices

linkmarket 13.11.2010 15:58

forseo2k,
Цитата:

$call = $xmlrpc->call('sape.get_placement_status',2222773548);
$call = $xmlrpc->call('sape.get_placement_status','2222773548');
Или по русски - нужно не целым числом id отсылать а строкой.

Есть ли возможность очищать GBL через API?

ura173051 13.11.2010 21:51

скажите , а что глючит sape? чето не работает,

Bulan 15.11.2010 12:53

Цитата:

Сообщение от linkmarket (Сообщение 950331)
forseo2k,

$call = $xmlrpc->call('sape.get_placement_status','2222773548');
Или по русски - нужно не целым числом id отсылать а строкой.

Есть ли возможность очищать GBL через API?

Скорее вот так:
Код:

my $id = SOAP::Data->new(type => 'string', value => '2222773548');

$call = $xmlrpc->call('sape.get_placement_status', $id);

:)

anton.inten 16.11.2010 13:38

Добрый день!

Не нашел в описании http://www.sape.ru/api_xmlrpc.php?v=extended как установить сколько максимально раз можно использовать тот или иной анкор; как заблокировать/разблокировать анкор? Подскажите пожалуйста, есть ли такой функционал.

Спасибо.

ura173051 17.11.2010 05:56

XML сегодня у всех работает как раньше? Что-то я не могу вытянуть данные, возможно поменяли какие-то переменные?

Horrower 18.11.2010 21:32

наконец-то решил переписаться на АПИ, а тут такое...

c ?v=extedned получаю:
SAPE.RU: Extended mode denied :o(


без него пытаюсь добавить площадку:
server error. method not found.
sape.site_add

что логично, т.к. обращаюсь к первой версии...

и что же нужно сделать, что бы иметь доступ к экстендед версии?

ээээ
http://blog.sape.ru/2010/10/vazhnaya...atsiya-po-api/

"Уважаемые пользователи, некоторое время назад мы сообщали о появлении второй версии API. Спешим проинформировать вас, что с 11 октября эта версия становится основной и единственной. Размещаться она будет по классическому адресу http://api.sape.ru/xmlrpc/ "

получается, что сейчас нет старой версии?
тогда почему же
"
server error. method not found.
sape.site_add
"
?
ээээээээээээ!!!!

http://forum.sape.ru/showpost.php?p=...&postcount=386

"Сегодня написал Саппорту, просил чтобы включили расширенный режим для XMLRPC. На что получил ответ - режим доступен только если я, как оптимизатор, буду тратить от 1500 в месяц."

это что, правда ?

Добавлено через 7 часов 3 минуты
аппппп

chahlic 18.11.2010 22:04

Цитата:

Сообщение от Horrower (Сообщение 954102)
это что, правда ?

самая что ни на есть....

Horrower 20.11.2010 19:31

то есть негласно апи платное?

Администраторы, изложите, пожалуйста, свою точку зрения: почему функционал апи для ВМ тоже "платный", хотя "дерете" Вы только с оптимизаторов?


И такой вопрос: как теперь проверить, находится ли сайт в сапе? Например на сёрче продают сайт, а теперь и не узнаешь в сапе он или нет, не используая платное апи...

xp235 20.11.2010 21:45

Добрый день.

пожалуйста доработайте функционал site_pages_activate чтобы можно было не только активировать страницы, но и деактивировать.

просилось уже ранее:
тут
и тут

Так же очень надо возможность не только добавлять в WL но и работать с ним (получать/удалять/работать с категориями)

Andrey-ka 22.11.2010 22:59

КАК работает ЭТО - url_bl_add ?
Уже что только не пробовал передавать в параметрах, все безуспешно...:confused:

chahlic 22.11.2010 23:11

Цитата:

Сообщение от Horrower (Сообщение 956141)
то есть негласно апи платное?

абсолютно гласно платное....

Цитата:

Сообщение от Andrey-ka (Сообщение 957859)
КАК работает ЭТО - url_bl_add ?

в экстендед апи


Часовой пояс GMT +3, время: 04:33.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.