[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: array в ссылке GET
Oggy
Здравствуйте. Помогите сформировать ссылку для запроса методом GET для API. Или помогите разобратся в документации. В документации пишет какие параметры могут быть (например Include или Filter).
{
"Include": [
"Default",
"Default"
],
"Filter": [
"OnPriceList",
"OnPriceList"
]
}

тоисть URL будет таким: http://www.siteapi.com/api?Include=Default...ter=OnPriceList - это понятно.
Но мне надо использовать их Advanced Filter. В документации он описан так:
{
"AdvancedProductFilters": [
{
"Type": "ProductType",
"Values": [
{
"DisplayValue": "sample string 1",
"Value": "sample string 2"
}
]
}

как будет выглядить URL для AdvancedProductFilters?
так: http://www.siteapi.com/api?AdvancedProduct...ers=ProductType ?
Игорь_Vasinsky
я хз. ссылку хоть на доку дал бы.

пока только так

<?php

$pref_url = 'http://www.siteapi.com/api?';
$json = '{
"AdvancedProductFilters": [
{
"Type": "ProductType",
"Values": [
{
"DisplayValue": "sample string 1",
"Value": "sample string 2"
}
]
}
]
}'
;

$obj = json_decode($json);
$url = http_build_query($obj);

echo $pref_url . urldecode($url);

http://www.siteapi.com/api?AdvancedProductFilters[0][Type]=ProductType&AdvancedProductFilters[0][Values][0][DisplayValue]=sample string 1&AdvancedProductFilters[0][Values][0][Value]=sample string 2


_____________
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
brevis
Hi, John.
Ты удивительный человек -- путаешь Request c Response. It's amazing :)

Наверное url должен быть таким:
/api/v2/products/advancedproductfilters?Filter=OnPriceList&Filter=Finished&Filter=Orderable
/api/v2/products/advancedproductfilters?Filter[]=OnPriceList&Filter[]=Finished&Filter[]=Orderable
Либо же вместо OnPriceList, Finished, Orderable их числовые коды.

Но не факт. Пробуй.

_____________
Чатик в телеге
AllesKlar
Открою тайну: Интогда по ту сторону монитора сидит такой Уг, который пишит API, что диву даешься терпению клиентов smile.gif

Спрашиваешь: ЧЁ ЗА НАХ?
А оно глазки тупит и грит: проект-менеджер так сказал, так хочет НашСамыйБольшойКлиент.
Гришь: да пох на НашСамыйБольшойКлиент, все стандарты HTTP похерили проигнорировали.
Отвечает: ну не знаааа... разговаривай с проект-менеджером.

Так что, Oggy давай ссыль на доку, там видно будет.


_____________
[продано копирайтерам]
Oggy
вот ссылка, всем спасибо за участвее
документция
Oggy
Цитата (brevis @ 17.10.2017 - 05:16)
Hi, John.
Ты удивительный человек -- путаешь Request c Response. It's amazing :)

Наверное url должен быть таким:
/api/v2/products/advancedproductfilters?Filter=OnPriceList&Filter=Finished&Filter=Orderable
/api/v2/products/advancedproductfilters?Filter[]=OnPriceList&Filter[]=Finished&Filter[]=Orderable
Либо же вместо OnPriceList, Finished, Orderable их числовые коды.

Но не факт. Пробуй.

привет, спасибо что дал ссылку на мой stackexchange акаунт. Добавляю ссылку на свой фриланс акаунт чтобы люди видели результат всех моих иногда глупых вопросов smile.gif
freelancer.com/rockforweb
brevis
Цитата (Oggy @ 17.10.2017 - 10:25)
вот ссылка, всем спасибо за участвее
документция

Так туда, наверное, нужно json или xml передавать.
К тому же POST'ом, а не GET'ом.

_____________
Чатик в телеге
Oggy
Цитата (brevis @ 17.10.2017 - 06:29)
Цитата (Oggy @ 17.10.2017 - 10:25)
вот ссылка, всем спасибо за участвее
документция

Так туда, наверное, нужно json или xml передавать.
К тому же POST'ом, а не GET'ом.

можете дать пример на php ?
brevis
Ну я думаю вот так как-то и будет:

// только же свои данные сюда подставь
// а что не нужно -- выкинь

$productRequest = '{
"Include": [
"Default",
"Default"
],
"Filter": [
"OnPriceList",
"OnPriceList"
],
"Series": [
"sample string 1",
"sample string 2"
],
"SKU": [
"sample string 1",
"sample string 2"
],
"ProductId": [
1,
2
],
"CategoryIds": [
1,
2
],
"AdvancedProductFilters": [
{
"Type": "ProductType",
"Values": [
{
"DisplayValue": "sample string 1",
"Value": "sample string 2"
},
{
"DisplayValue": "sample string 1",
"Value": "sample string 2"
}
]
},
{
"Type": "ProductType",
"Values": [
{
"DisplayValue": "sample string 1",
"Value": "sample string 2"
},
{
"DisplayValue": "sample string 1",
"Value": "sample string 2"
}
]
}
],
"NextPage": "sample string 1",
"Page": 1,
"PageSize": 1
}'
;

$postdata = http_build_query(
array(
'ProductRequest' => $productRequest,
)
);


$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Authorization: Basic aGVsbG86d29ybGQ=' . PHP_EOL,
'Content-Type: application/json' . PHP_EOL,
'Accept: application/json' . PHP_EOL,
'content' => $postdata
)
);


$context = stream_context_create($opts);
$response = file_get_contents(API_DOMAIN . '/api/v2/products', false, $context);


_____________
Чатик в телеге
Быстрый ответ:

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