Общая информация
Обратите внимание!
В целях обратной совместимости API поддерживает запросы по XML. Запрос должен строится по подобию JSON запросов, описанных на соответствующих страницах.
Пример для запроса calculateprice:
<calculateprice>
<auth login="test" pass="test"/>
<town>Москва</town>
<address>чертановская 2</address>
<mode>4</mode>
<type>3</type>
<mass>22</mass>
</calculateprice>
Тот же запрос в формате JSON:
{
"calculateprice":{
"auth":{
"attributes":{
"login":"test",
"pass":"test"
},
"value":false
},
"town":{
"value":"Москва"
},
"address":{
"value":"чертановская 2"
},
"mode":{
"value":4
},
"type":{
"value":3
},
"mass":{
"value":22
}
}
}
Все запросы к API делаются к хосту, расположенному по адресу https://*.postsrvs.ru/api2/
где * - имя вашей копии PostService (например "test")
Контейнер с телом запроса передается в формате JSON, API так же отвечает в формате JSON.
Контейнер строится по иерархическому принципу, подобному xml. Каждый элемент, включая корневой, содержит в себе следующие сущности:
- необязательный массив attributes, в котором задаются атрибуты элемента;
- поле value, даже если значение не подразумевается, передается false;
- дочерние элементы, строящиеся по этим же принципам.
'town' => [
'value' => 'Moscow',
'attributes' => [
'code' => 1
]
],
Элемент town с атрибутом code = 1 и значением Moscow
'contacts' => [
'phone' => [
'value' => false,
],
'email' => [
'value' => false
]
],
Элемент contacts с двумя дочерними элементами phone и email
Если дочерние элементы подразумевают несколько одинаковых по своей сущности элементов (например, позиции в заказе), то они передаются как нумерованные подмассивы
'deliveryprice' => [
'advprice' => [
0 => [
'attributes' => [
'code' => '1',
'price' => '156'
],
'value' => 'База'
],
1 => [
'attributes' => [
'code' => '4',
'price' => '12'
],
'value' => 'Доставка'
],
]
]
];