[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Pickpoint - Aliexpress
Kusss
У меня возникли сложности при работе с API. Бьюсь над этим уже неделю. Саппорт отвечает очень долго (от 0.5 до 1.5 суток), и ничего конкретного не говорит. Никак не могу разобраться в чем может быть проблема.
Цитата
"Структура API реализована по архитектуре RESTODATA V4. Коммуникация осуществляется посредством СообщенийJSON"


Мне нужно поменять сток (количество) в системе.

Вот что написано в документации, и даже пример есть
Цитата
3. HttpmethodPatch - частичное изменение элемента
Изменяемые параметры элемента должны содержаться в теле запроса
URL: https://e-solution.pickpoint.ru/ae/odata/Goods(‘Sku’)

.....

Пример2: Для обновления стоков необходимо передавать изменяемую характеристику в полном виде
{
  "@odata.context": "https://e-solution.pickpoint.ru/ae/odata/$metadata#Goods/$entity",
  "Characteristics": [
    {
      "Code": "107490",    - IDхарактеристики
      "Stock": 10                  - остатки
  }
  ]
}


Саппорт ничего конкретного сказать не может, хочет логи сервера (Fiddler). Fiddler я не могу поставить на виртуальных хостинг.

Цитата
PATCH-запрос (https://tools.ietf.org/html/rfc5789#section-2.1)  изменяет товар, при PATCH-запросах необходимо указывать Id-товара, например https://e-solution.pickpoint.ru/ae/odata/Go...'1377')

К сожалению, без дополнительной информации, например логов, включающих полные данные, которые вы передаете на наши сервера, записанных любым удобным вам способом, мы ничем вам помочь не сможем.


я отправляю запрос и POST данные
Цитата
[url] => https://e-solution.pickpoint.ru/ae/odata/Go...'1377')
    [post] => Array
        (
            [@odata.context] => https://e-solution.pickpoint.ru/ae/odata/&#...ds/$entity
            [Characteristics] => Array
                (
                    [Code] => 10071561377
                    [Stock] => 0
                )

        )
но результат - 404 ошибка
Kusss
Если кто работал с ними - буду рад помощи. Или вообще с "RESTODATA V4"
Игорь_Vasinsky
у меня нет 404

Цитата
{"error":{"code":"","message":"Authorization has been denied for this request."}}

думаешь после авторизации только 404?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Kusss
с авторизацией все нормально. Я без проблем получаю заказы или информацию по товару.
Kusss
В общем данные я отправил (и вижу что дата (Update) меняется), а вот параметры нефига.

вот что я передаю
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_array) ); // json
// Заголовки

$this->headers[] = 'Authorization: '. $this->header_array['token_type']. ' ' .$this->header_array['access_token'];
$this->headers[] = 'Accept: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $this->headers);


вот URL и $post_array
    [url] => https://e-solution.pickpoint.ru/ae/odata/Goods('1377')
[post] => Array
(
[@odata.context] => https://e-solution.pickpoint.ru/ae/odata/$metadata#Goods/$entity
[Characteristics] => Array
(
[Code] => 10071561377
[Stock] => 2
)

)


вот кусок из документации [ http://pickpoint.ru/ali/files/api/api-ali.docx ]
ВНИМАНИЕ!
Для всех запросов, требующих авторизации необходимо добавлять заголовок Authorization, с указанием действующего токена. При отсутствии, либо истечении срока годности, токена будет возвращаться ответ: HTTP/1.1 401 Unauthorized

В каждый запрос рекомендуется добавлять следующие заголовки:
• Content-Type: application/json
• Accept: application/json

Максимальное количество выдаваемых элементов на одну страницу: 100 штук. для заказов и 10 штук для товаров
Запрос общего количества существующих элементов в данный момент не реализован.

При работе с данными OData поддерживаются следующие http методы:
1. Get - получение существующего списка элементов (доступны стандартные OData-способы выборки и фильтрации данных)
2. Get - получение одного элемента по его идентификатору
3. Put - полная перезапись существующего элемента. Все элементы запросы должны быть помещены в Url, при отсутствии какого-либо элемента он заполняется данными по-умолчанию (при возможности).
4. Post - добавление нового элемента. Тело запроса должно содержать только один новый элемент в формате json. Пропущенные поля (при возможности) будут заполнены значениями по-умолчанию.
Следует добавить заголовок Content-Type: application/json
5. Patch/Merge - частичное изменение элемента. Изменяемые поля элемента следует поместить в Url запроса

ну и сам метод
3. Http method Patch - частичное изменение элемента
Изменяемые параметры элемента должны содержаться в теле запроса
URL: https://e-solution.pickpoint.ru/ae/odata/Goods(‘Sku’)
....
Пример2: Для обновления стоков необходимо передавать изменяемую характеристику в полном виде

{
"@odata.context": "https://e-solution.pickpoint.ru/ae/odata/$metadata#Goods/$entity",
"Characteristics": [
{
"Code": "107490", - ID характеристики
"Stock": 10 - остатки
}
]
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.