Блоки: blocks¶
Ресурс | Описание |
---|---|
GET /blocks | Получить список блоков |
GET /blocks/:id | Получить данные блока |
POST /blocks/ | Создать блок |
PUT /blocks/:id | Обновить блок |
DELETE /blocks/:id | Удалить блок |
GET /blocks¶
curl -X GET 'http://example.com/api/2.0/blocks'
[
{
"block_id": "16",
"type": "smarty_block",
"properties": {
"template": "blocks/smarty_block.tpl"
},
"company_id": "1",
"lang_code": "en",
"name": "About us"
},
{
"block_id": "1",
"type": "breadcrumbs",
"properties": {
"template": "common/breadcrumbs.tpl"
},
"company_id": "1",
"lang_code": "en",
"name": "Breadcrumbs"
},
{
"block_id": "5",
"type": "cart_content",
"properties": {
"template": "blocks/cart_content.tpl",
"display_bottom_buttons": "Y",
"display_delete_icons": "Y",
"products_links_type": "thumb",
"generate_block_title": "Y"
},
"company_id": "1",
"lang_code": "en",
"name": "Cart content"
},
{
"block_id": "8",
"type": "currencies",
"properties": {
"template": "blocks/currencies.tpl",
"text": "",
"format": "symbol",
"dropdown_limit": "3"
},
"company_id": "1",
"lang_code": "en",
"name": "Currencies"
},
{
"block_id": "9",
"type": "my_account",
"properties": {
"template": "blocks/my_account.tpl"
},
"company_id": "1",
"lang_code": "en",
"name": "My Account"
},
{
"block_id": "30",
"type": "products",
"properties": {
"template": "blocks/products/products_multicolumns.tpl",
"item_number": "N",
"number_of_columns": "4",
"hide_add_to_cart_button": "Y"
},
"company_id": "1",
"lang_code": "en",
"name": "On Sale"
},
...
]
GET /blocks/:id¶
curl -X GET 'http://example.com/api/2.0/blocks/16'
{
"block_id": "16",
"type": "smarty_block",
"properties": {
"template": "blocks/smarty_block.tpl"
},
"company_id": "1",
"lang_code": "en",
"name": "About us",
"content": {
"content": "\n<ul id=\"about_cs_cart_links\">\n<li class=\"ty-footer-menu__item\"><a href=\"{\"pages.view?page_id=1\"|fn_url}\">Our team</a></li>\n<li class=\"ty-footer-menu__item\"><a href=\"{\"pages.view?page_id=3\"|fn_url}\">Privacy policy</a></li>\n</ul>"
}
}
POST /blocks/¶
Данные должны приходить в теле HTTP запроса в соответствии с переданным Content-type
.
В случае, если блок создать не удалось, будет возвращен статус HTTP/1.1 400 Bad Request.
В случае успеха будет возвращён статус HTTP/1.1 201 Created.
Обязательные параметры: type, name, properties.
Возможные варианты для type: menu, my_account, our_brands, cart_content, breadcrumbs, template, main, html_block, smarty_block, checkout, products, categories, pages, payment_methods, shipping_methods, currencies, languages, product_filters.
В Multi-Vendor есть ещё и другие варианты для type: vendor_information, vendor_logo, vendor_categories, vendor_search.
Передаваемые параметры полностью соответствуют ключу block_data
, передаваемому через форму в панели администратора на странице редактирования блока. Детали можно смотреть через дебаггер браузера.
curl --header 'Content-type: application/json' -X POST 'http://example.com/api/2.0/blocks' -d '
{
"type": "template",
"name": "Example template",
"properties": {
"template": "blocks/static_templates/my_account_links.tpl"
},
}'
{
"block_id": "37"
}
curl --header 'Content-type: application/json' -X POST 'http://example.com/api/2.0/blocks' -d '
{
"type": "html_block",
"name": "Html block example",
"properties": {
"template": "blocks/html_block.tpl"
},
"content": {
"content": "<p>Example text</p>"
},
"lang_code": "en"
}'
{
"block_id": "38"
}
PUT /blocks/:id¶
Данные должны приходить в теле HTTP запроса в соответствии с переданным Content-type
.
В случае, если блок обновить не удалось, будет возвращен статус HTTP/1.1 400 Bad Request.
curl --header 'Content-type: application/json' -X PUT 'http://example.com/api/2.0/blocks/37' -d '
{
"type": "template",
"name": "Example template 2",
"properties": {
"template": "blocks/static_templates/my_account_links.tpl"
}
}'
{
"block_id": "37"
}
DELETE /blocks/:id¶
В случае, если такой блок не существует, будет возвращен статус HTTP/1.1 404 Not Found
В случае успеха будет возвращён статус HTTP/1.1 204 No Content.
curl -X DELETE 'http://example.com/api/2.0/blocks/37'