Перейти к содержимому


Настройка Взаимодействия С Платформой Через Api

api

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 74

#21 User

User

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 106 сообщений

Отправлено 23 Октябрь 2014 - 14:34

По разному крутил, результат один.
И с адресной строки браузера не проходит, по идее (и куча примеров нагуглено) массив же приводится к такому виду:
http://мойсайт.ru/ap...7f57&per_page=5

А вы можете дать из браузера такой запрос и с той стороны по логам или еще как посмотреть, что не так-то?

Вот, к примеру, api от ems почты, без вопросов и в читаемом виде отдается прямо в браузер на аналогичный запрос...

#22 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 23 Октябрь 2014 - 23:46

Просмотр сообщенияUser (23 Октябрь 2014 - 14:34) писал:

По разному крутил, результат один.
И с адресной строки браузера не проходит, по идее (и куча примеров нагуглено) массив же приводится к такому виду:
http://мойсайт.ru/ap...7f57&per_page=5

А вы можете дать из браузера такой запрос и с той стороны по логам или еще как посмотреть, что не так-то?

Вот, к примеру, api от ems почты, без вопросов и в читаемом виде отдается прямо в браузер на аналогичный запрос...

Если у вас результирующий запрос приводиться именно к такому виду, то запрос сформирован не правильно, так как это метод GET, а методом POST видимо передается пустая строка. На данный момент доступ к API возможен только через POST запрос. Вы в дальнейшем хотите использовать именно vba для взаимодействия с API?

#23 User

User

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 106 сообщений

Отправлено 24 Октябрь 2014 - 10:22

POSTом передается в теле запроса "secret_key=d1f487xxxxxxxxxxxxxxxxxxxx7f57" . Все же, по опыту работы с другими аналогичными апишками, оба варианта обычно проходят (POST в теле и GET c параметрами в URL). А тут ни в какую. Работать с api будем из VBA.

#24 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 25 Октябрь 2014 - 00:55

Просмотр сообщенияUser (24 Октябрь 2014 - 10:22) писал:

POSTом передается в теле запроса "secret_key=d1f487xxxxxxxxxxxxxxxxxxxx7f57" . Все же, по опыту работы с другими аналогичными апишками, оба варианта обычно проходят (POST в теле и GET c параметрами в URL). А тут ни в какую. Работать с api будем из VBA.

Проверьте все же ваш ключ "secret_key" и доступ по ключу, так как например тот же код на vbs срабатывает успешно

Set objHTTP = CreateObject("Microsoft.XMLHTTP")
objHTTP.open "POST", "http://*.storeland.ru/api/v1/order_statuses/get_list", False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send "secret_key=b*c6*385*c18*6e2*d45*6b0*5d5b3*d"
WScript.Echo objHTTP.responseText


#25 amphasis

amphasis

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 92 сообщений

Отправлено 25 Октябрь 2014 - 08:52

Подскажите, пытаюсь создать заказ через API:
<form method="post" name="add_form" action="http://xxxxxxxxx/api/v1/orders/add">
<input type="hidden" name="secret_key" value="xxxxxxxxxxxx" />
<input type="hidden" name="form[order_person]" value="Частное лицо" />
<input type="hidden" name="form[order_phone]" value="+00000000000" />
<input type="hidden" name="form[delivery_id]" value="32722" />
<input type="hidden" name="form[order_status_id]" value="2" />
<input type="submit" value="Создать заказ" />
</form>

Сразу возникают следующие проблемы:
  • Несмотря на то, что указан идентификатор метода доставки "Самовывоз", заказ создается с доставкой по умолчанию (у нее код совсем другой).
  • Заказ создается в статусе "Новый", хотя указан код "В обработке".
  • При каждом новом создании заказа в базе создаются новые клиенты с идентичными именами и телефонами, вместо того, чтобы добавлять заказ уже существующему клиенту.
  • Если указана электронная почта, то для уже существующего клиента заказ не создается с ошибкой "Duplicate entry 'id-e-mail' for key 'site_id_2'"
Как можно решить эти проблемы?
Можно ли создать заказ без позиции доставка вообще?
Будет ли доступен API для работы с каталогом товаров?

#26 support

support

    Активный участник

  • Модераторы
  • 3 683 сообщений
  • ГородМосква

Отправлено 25 Октябрь 2014 - 17:32

Просмотр сообщенияamphasis (25 Октябрь 2014 - 08:52) писал:

Сразу возникают следующие проблемы:
1. Несмотря на то, что указан идентификатор метода доставки "Самовывоз", заказ создается с доставкой по умолчанию (у нее код совсем другой).
Проблему исправили.

Просмотр сообщенияamphasis (25 Октябрь 2014 - 08:52) писал:

2. Заказ создается в статусе "Новый", хотя указан код "В обработке".
Исправили.

Просмотр сообщенияamphasis (25 Октябрь 2014 - 08:52) писал:

3. При каждом новом создании заказа в базе создаются новые клиенты с идентичными именами и телефонами, вместо того, чтобы добавлять заказ уже существующему клиенту.
Указанной проблемы не наблюдаем, для указанной формы получились заказы, все они привязаны к одному клиенту пользователю:
QIP Shot - Screen 081.png
Добавили в информации по клиенту email адрес:
QIP Shot - Screen 082.png
Отправили форму без указания телефона, только имя и email, в результате клиент нашёлся правильно:
QIP Shot - Screen 083.png

Просмотр сообщенияamphasis (25 Октябрь 2014 - 08:52) писал:

4. Если указана электронная почта, то для уже существующего клиента заказ не создается с ошибкой "Duplicate entry 'id-e-mail' for key 'site_id_2'"
Аналогично проблемы не наблюдаем, если есть возможность, укажите пожалуйста форму, которую Вы отправляете.


Просмотр сообщенияamphasis (25 Октябрь 2014 - 08:52) писал:

Можно ли создать заказ без позиции доставка вообще?
В принципе, если необходимо, можно. Добавили специальный параметр в форме:
form[without_delivery]=1


Просмотр сообщенияamphasis (25 Октябрь 2014 - 08:52) писал:

Будет ли доступен API для работы с каталогом товаров?
Да, на следующей неделе добавим инструкции на форум, как можно работать с этими данными.

Просмотр сообщенияUser (24 Октябрь 2014 - 10:22) писал:

POSTом передается в теле запроса "secret_key=d1f487xxxxxxxxxxxxxxxxxxxx7f57" . Все же, по опыту работы с другими аналогичными апишками, оба варианта обычно проходят (POST в теле и GET c параметрами в URL). А тут ни в какую. Работать с api будем из VBA.
Поле secret_key должно проходить обязательно через POST, либо тот метод, при котором данные ключа не сохраняются в логах сервера/браузера/провайдера и т.д. Сделать его отправку через GET мы не можем себе позволить из соображений безопасности. Для проверки работоспособности можете использовать также форму, приведённую amphasis-ом выше:
<form method="post" name="add_form" action="http://xxxxxxxxx/api/v1/orders/get_list">
<input type="hidden" name="secret_key" value="xxxxxxxxxxxx" />
<input type="hidden" name="per_page" value="10" />
<input type="submit" value="Создать заказ" />
</form>


#27 User

User

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 106 сообщений

Отправлено 25 Октябрь 2014 - 22:08

Просмотр сообщенияСake (25 Октябрь 2014 - 00:55) писал:

Проверьте все же ваш ключ "secret_key" и доступ по ключу, так как например тот же код на vbs срабатывает успешно

Set objHTTP = CreateObject("Microsoft.XMLHTTP")
objHTTP.open "POST", "http://*.storeland.ru/api/v1/order_statuses/get_list", False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send "secret_key=b*c6*385*c18*6e2*d45*6b0*5d5b3*d"
WScript.Echo objHTTP.responseText

В Content-Type дело оказалось. Спасибо, работает.
Up. Только на чтение. При попытке записи/изменения данных - ошибка - недостаточно прав доступа. Доступ к заказам в настройках api задан полный.
Параметры для изменения же через & после ключа передавать, так?
objHTTP.send "secret_key=b*c6*385*c18*6e2*d45*6b0*5d5b3*d&form[order_payment]=1"

#28 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 28 Октябрь 2014 - 01:58

Просмотр сообщенияUser (25 Октябрь 2014 - 22:08) писал:

В Content-Type дело оказалось. Спасибо, работает.
Up. Только на чтение. При попытке записи/изменения данных - ошибка - недостаточно прав доступа. Доступ к заказам в настройках api задан полный.
Параметры для изменения же через & после ключа передавать, так?
objHTTP.send "secret_key=b*c6*385*c18*6e2*d45*6b0*5d5b3*d&form[order_payment]=1"

Да, именно так. Только проверьте правильность ссылки, она должна иметь вид

api/v1/orders/update/10034

по примеру

Set objHTTP = CreateObject("Microsoft.XMLHTTP")
objHTTP.open "POST", "http://*.storeland.ru/api/v1/orders/update/10034", False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send "secret_key=b*c6*385*c18*6e2*d45*6b0*5d5b3*d&form[order_payment]=1"
WScript.Echo objHTTP.responseText


Попробуйте пока выставить полный доступ api для всех разделов панели администрирования. Документация http://forum.storela...раздела-заказы/

#29 User

User

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 106 сообщений

Отправлено 28 Октябрь 2014 - 12:21

Просмотр сообщенияСake (28 Октябрь 2014 - 01:58) писал:

Попробуйте пока выставить полный доступ api для всех разделов панели администрирования. Документация http://forum.storela...раздела-заказы/

Ссылка правильная, доступ везде полный.

#30 xloops

xloops

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 79 сообщений

Отправлено 29 Октябрь 2014 - 00:52

По поводу подключения API c API шоп логистикс http://shop-logistic...es/service/api/

И что для этого мне нужно сделать? Какой алгоритм моих действий? Или лучше дождаться официального решения проблемы с вашей стороны в виде готовой интеграции в админке?

#31 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 29 Октябрь 2014 - 01:52

Просмотр сообщенияxloops (29 Октябрь 2014 - 00:52) писал:

По поводу подключения API c API шоп логистикс http://shop-logistic...es/service/api/

И что для этого мне нужно сделать? Какой алгоритм моих действий? Или лучше дождаться официального решения проблемы с вашей стороны в виде готовой интеграции в админке?

Вы можете попробовать дождаться решения с нашей стороны, а можете заняться этим вопросом самостоятельно. Вам потребуется отдельный хостинг и услуги программиста. Найти подобного человека можно на фрилансе. Услуг по разработке приложений на api мы не оказываем.

#32 mixperm

mixperm

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 226 сообщений
  • ГородПермь

Отправлено 29 Октябрь 2014 - 15:42

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

#33 xloops

xloops

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 79 сообщений

Отправлено 29 Октябрь 2014 - 15:56

Просмотр сообщенияСake (29 Октябрь 2014 - 01:52) писал:

Вы можете попробовать дождаться решения с нашей стороны, а можете заняться этим вопросом самостоятельно. Вам потребуется отдельный хостинг и услуги программиста. Найти подобного человека можно на фрилансе. Услуг по разработке приложений на api мы не оказываем.
А как составить тз фрилансеру? Подскажите что он должен сделать, разработать приложение?

#34 User

User

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 106 сообщений

Отправлено 29 Октябрь 2014 - 23:13

Просмотр сообщенияСake (28 Октябрь 2014 - 01:58) писал:

Да, именно так. Только проверьте правильность ссылки, она должна иметь вид

api/v1/orders/update/10034

по примеру

Set objHTTP = CreateObject("Microsoft.XMLHTTP")
objHTTP.open "POST", "http://*.storeland.ru/api/v1/orders/update/10034", False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.send "secret_key=b*c6*385*c18*6e2*d45*6b0*5d5b3*d&form[order_payment]=1"
WScript.Echo objHTTP.responseText


Попробуйте пока выставить полный доступ api для всех разделов панели администрирования. Документация http://forum.storela...раздела-заказы/

Посмотрите, пожалуйста, в чем у нас проблема с правами. Поиграться можно на заказе №1021. При попытке записи/изменения данных - ошибка - недостаточно прав доступа. Доступ к заказам в настройках api задан полный

#35 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 30 Октябрь 2014 - 03:29

Просмотр сообщенияmixperm (29 Октябрь 2014 - 15:42) писал:

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

Да, можно сделать интеграцию с яндекс. Вам понадобиться сторонний хостинг для размещения логики взаимодействия платежной системы и нашим API. Подробной инструкции по как таковой нет, так как это уже будет являться реализацией.

Просмотр сообщенияxloops (29 Октябрь 2014 - 15:56) писал:

А как составить тз фрилансеру? Подскажите что он должен сделать, разработать приложение?

Вам необходимо сначала показать api фрилансеру и сообщить что хотите сделать, по идее если у него есть опыт использования любого api, то он поймет как и что необходимо реализовать. Тз в данном случае зависит от ваших предпочтений. Если у вас не получается его составить, то лучше обойтись без него или составить его вместе с фрилансером.

Просмотр сообщенияUser (29 Октябрь 2014 - 23:13) писал:

Посмотрите, пожалуйста, в чем у нас проблема с правами. Поиграться можно на заказе №1021. При попытке записи/изменения данных - ошибка - недостаточно прав доступа. Доступ к заказам в настройках api задан полный

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

#36 mixperm

mixperm

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 226 сообщений
  • ГородПермь

Отправлено 30 Октябрь 2014 - 07:01

Просмотр сообщенияСake (30 Октябрь 2014 - 03:29) писал:

Да, можно сделать интеграцию с яндекс. Вам понадобиться сторонний хостинг для размещения логики взаимодействия платежной системы и нашим API. Подробной инструкции по как таковой нет, так как это уже будет являться реализацией.
Понятно, что без профессионала не обойтись. Пользователи сторелэнда далеко не профессионалы и думаю эта функциональность останется для немногочисленного круга заинтересованных лиц. Для остальных 99% пользователей лучше бы сделать прямую интеграцию. П.э. будем терпеливо ждать...

#37 User

User

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 106 сообщений

Отправлено 30 Октябрь 2014 - 17:04

Просмотр сообщенияСake (30 Октябрь 2014 - 03:29) писал:

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

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

Сделайте уже что-нибудь, пожалуйста!

#38 xloops

xloops

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 79 сообщений

Отправлено 30 Октябрь 2014 - 23:46

Да уж API не для обычных пользователей, надо ждать готовых решений, главное чтоб не состариться

#39 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 31 Октябрь 2014 - 01:14

Просмотр сообщенияsupport (25 Октябрь 2014 - 17:32) писал:

Для проверки работоспособности можете использовать также форму, приведённую amphasis-ом выше:
<form method="post" name="add_form" action="http://xxxxxxxxx/api/v1/orders/get_list">
<input type="hidden" name="secret_key" value="xxxxxxxxxxxx" />
<input type="hidden" name="per_page" value="10" />
<input type="submit" value="Создать заказ" />
</form>

Главное не используйте подобный код на постоянной основе, так как это раскрывает ваш secret_key. Любой пользователь зная ваш secret_key может выполнить изменение информации (зависит от установленных прав) в вашем ИМ.

Просмотр сообщенияUser (30 Октябрь 2014 - 17:04) писал:

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

Сделайте уже что-нибудь, пожалуйста!

Информация передана разработчикам.

#40 support

support

    Активный участник

  • Модераторы
  • 3 683 сообщений
  • ГородМосква

Отправлено 04 Ноябрь 2014 - 15:38

Просмотр сообщенияUser (25 Октябрь 2014 - 22:08) писал:

В Content-Type дело оказалось. Спасибо, работает.
Up. Только на чтение. При попытке записи/изменения данных - ошибка - недостаточно прав доступа. Доступ к заказам в настройках api задан полный.
Параметры для изменения же через & после ключа передавать, так?
objHTTP.send "secret_key=b*c6*385*c18*6e2*d45*6b0*5d5b3*d&form[order_payment]=1"
Простите за доставленные неудобства, допустили оплошность, выкатили не всё обновление при релизе первой версии API, действительно не проходила проверка по правам доступа API ключа. Сейчас ошибку уже исправили. В благодарность за её нахождение баланс вашего магазина пополнили на 500 рублей.





Темы с аналогичным тегами api

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных