Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2013, 13:57   #1
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию отправка json через curl к C#

Добрый день, пытаюсь сделать интеграцию с таким сервисом как iiko, но при попытке отправить json строку, получаю exception, и не могу понять по чему:

сама отправка данных:
Код:

$curl = curl_init();
			curl_setopt($curl, CURLOPT_URL, 'https://iiko.net:9900/api/0/orders/add?access_token='.$this->token.'&requestTimeout=0:01:20');
			curl_setopt($curl, CURLOPT_HEADER, false);
			curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
			curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
			curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
			curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json;charset=UTF-8"));
			curl_setopt($curl, CURLOPT_POST, 1);
			curl_setopt($curl, CURLOPT_POSTFIELDS, 'orderRequest="'.json_encode($orderRequest).'"');
			$res = curl_exec($curl);

			curl_close($curl);

сама json строка:

Код:
{"Restaraunt":"test","RestarauntId":"cd3b2ebf-291e-46a5-b64d-5a322eaeae62","Order":{"id":"f831e6d7-0bfa-469d-ab30-d5397ce4f8f9","phone":"+1234567891","date":"2013-02-18 01:42:49","comment":"test","items":[{"id":"d8aebaf2-a3db-4622-92f8-868d8d4733d6","itemId":"d8aebaf2-a3db-4622-92f8-868d8d4733d6","name":"картофель по деревенски","amount":"2"}],"address":{"street":"test","home":"123","housing":"456","apartment":"78","comment":"test"}},"Customer":{"id":"66884bbe-f553-4db6-8a6e-a71b30b35ded","name":"test minisol","phone":"+1234567891","email":"test@test.ru"}}
CodeNOT вне форума Ответить с цитированием
Старый 18.02.2013, 14:10   #2
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

собственно сама ошибка:

Код:
{"exception":"SerializationException","message":"There was an error checking start element of object of type Resto.Card.Presentation.Api.Order.OrderRequest. Encountered unexpected character 'o'."}
CodeNOT вне форума Ответить с цитированием
Старый 10.04.2013, 05:48   #3
uwhy10
Новичок
Джуниор
 
Регистрация: 10.04.2013
Сообщений: 2
По умолчанию

у тебя получилось сделать отправку заказа?
столкнулась с похожей проблемой, только ошибка другая
uwhy10 вне форума Ответить с цитированием
Старый 10.04.2013, 08:36   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

там у ТС в названии кокогото поля проскакивает русская буква о, а он не может понять
eval вне форума Ответить с цитированием
Старый 10.04.2013, 09:29   #5
uwhy10
Новичок
Джуниор
 
Регистрация: 10.04.2013
Сообщений: 2
По умолчанию

Не у него проблема в другом была.

Надо не
Код:
curl_setopt($curl, CURLOPT_POSTFIELDS, 'orderRequest="'.json_encode($orderRequest).'"');
а
Код:
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($orderRequest));
у меня проблема в том, что если все данные правильно введены, то ответ на мой пост запрос приходит следующий:
Код:
{"code":null,"description":null,"message":"The operation has timed out."}
причем если намеренно совершать ошибку, например не указывать RestarauntId, то ответ следующий:
Код:
{"exception":"SerializationException","message":"The data contract type 'Resto.Card.Presentation.Api.Order.OrderRequest' cannot be deserialized because the required data member 'restaurantId' was not found."}
Не могу понять почему когда отправлены правильные данные возникает ошибка The operation has timed out
uwhy10 вне форума Ответить с цитированием
Старый 10.04.2013, 10:31   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

переведите сами эту фразу
Encountered unexpected character 'o'

Цитата:
почему когда отправлены правильные данные возникает ошибка The operation has timed out
думаю вам поможет сапорт сервиса
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Итерация через Json maomam JavaScript, Ajax 3 05.11.2012 01:46
Итерация через объект JSON в Javascript maomam Помощь студентам 0 03.11.2012 00:51
Отправка curl email gunsoy PHP 2 01.08.2012 11:39
Передача HTML через JSON nec117 JavaScript, Ajax 3 08.08.2011 14:06