Сообщество
Логин
Пароль
Забыли пароль?     Регистрация
Ещё проектики
Рабочее время
Минималистичный счётчик рабочего времени онлайн
Общение / Приложение для iOS / Вопрос по API. Создание расходной записи через set ...

Вопрос по api. создание расходной записи через setrecordlist

Александр
8 июня 2015 03:11
Не нашёл в каком еще разделе можно задать вопрос по API, поэтому попробую задать его здесь.
При попытке добавить запись расхода через SOAP на основе примера для PHP (http://www.drebedengi.ru/?module=soap&action=soapTest) возвращается результат inserted, но трата не появляется в системе. Тогда как update проходит успешно. Ниже код. Подскажите, что-то не так с setRecordList или есть какая-то хитрость?

<?php
header("Content-Type: text/html; charset=UTF-8");
$userLogin = 'demo@example.com';
$userPass = 'demo';
$api = 'demo_api';

$client = null;
try {
$client = new SoapClient('http://www.drebedengi.ru/soap/dd.wsdl', array("trace" => 1));

// Получаем ID текущего пользователя
$client_id = $client->getUserIdByLogin($api, $userLogin, $userPass);

// Добавить и обновить запись (ID могут быть неактуальными. Нужно смотреть через getRecordList)
$recordList = array(
0 => array(
'client_id' => $client_id,
'operation_date' => '2015-06-08 13:57:42',
'operation_type' => 3,
'place_id' => 40032,
'budget_object_id' => 40010,
'currency_id' => 17,
'is_duty' => false,
'comment' => "Тест123",
'sum' => -1234567,
),
1 => array(
'server_id' => 53133,
'operation_date' => '2015-06-08 13:57:42',
'operation_type' => 3,
'place_id' => 40032,
'budget_object_id' => 40010,
'currency_id' => 17,
'is_duty' => false,
'comment' => "Тест456",
'sum' => -1234567,
),
);
$res = $client->setRecordList($api, $userLogin, $userPass, $recordList);

echo "Результат:";
echo "<pre>"; print_r($res); echo "</pre>";
}
catch (SoapFault $e) {
echo $client->__getLastResponse();
print_r($e);
}
?>
Admin
 
8 июня 2015 10:44
Здравствуйте.
Скорее всего ваш client_id не уникален и фигурировал в недавнем прошлом запросе. На сервере срабатывает защита от дублирования, которая иногда случается ввиду повторных отправок одних и тех же записей.

PS
А причём тут приложение для iPhone?
Пишите лучше в общий форум "делаем сервис лучше" или в обратную связь.
Admin
 
8 июня 2015 10:45
которая = которое
Александр
8 июня 2015 14:02
Спасибо! По защите от дублирования понял.
Приложение для iPhone просто как использующее этот же API. Буду поднимать темы по API в "Делаем сервис лучше".
Чтобы отвечать на сообщения - зарегистрируйтесь и войдите в личный кабинет.