Một Theme là khung giao diện phía ngoài của Shop cho người dùng xem và cảm nhận.
Một Shop có thể có nhiều Theme (tối đa 20 cái), trong đó bao gồm 1 Theme chính ở trạng thái xuất bản, các Theme khác sẽ ở trạng thái chưa xuất bản. Theme được xuất bản là giao diện mà khách hàng nhìn thấy khi truy cập vào Shop. Khi bạn xuất bản một Theme, Theme đã được xuất bản trước đó sẽ chuyển về trạng thái chưa xuất bản.
Bạn có thể làm gì với Theme?
Sapo API cho phép bạn thực hiện các thao tác sau với tài nguyên Theme. Các phiên bản chi tiết hơn của những thao tác này có thể có:
Các thuộc tính của Theme
created_on |
{ "created_on" : "2012-08-24T14:01:47Z" }
Thời gian tạo Theme. API trả về kết quả theo định dạng chuẩn ISO 8601. |
id |
Số duy nhất định danh cho Theme. |
name |
Tên Theme. |
role |
Xác định mục đích sử dụng của Theme trong Shop. Các giá trị hợp lệ:
- main: Theme mà người dùng thấy khi truy cập bằng máy tính.
- mobile: Theme mà người dùng thấy khi truy cập bằng điện thoại.
- unpublished: Theme mà người dùng hiện tại không thể nhìn thấy.
|
modified_on |
{ "modified_on" : "2012-08-24T14:01:47Z" }
Thời gian Theme được cập nhật lần cuối. API trả về kết quả theo định dạng chuẩn ISO 8601. |
previewable |
Xác định xem Theme có thể được Preview hay không. |
processing |
Xác định xem các file của Theme có phải đang được xử lý hay không. |
Endpoints
GET/admin/themes.json
Lấy danh sách các Theme của Shop
fields |
danh sách các trường trong kết quả trả về, cách nhau bởi dấu phẩy |
HTTP/1.1 200 OK
{
"themes": [
{
"id": 828155753,
"name": "Comfort",
"created_on": "2015-12-08T11:33:54Z",
"modified_on": "2015-12-08T11:33:54Z",
"role": "main",
"previewable": true,
"processing": false
},
{
"id": 976877075,
"name": "Speed",
"created_on": "2015-12-08T11:33:54Z",
"modified_on": "2015-12-08T11:33:54Z",
"role": "mobile",
"previewable": true,
"processing": false
},
{
"id": 752253240,
"name": "Sandbox",
"created_on": "2015-12-08T11:33:54Z",
"modified_on": "2015-12-08T11:33:54Z",
"role": "unpublished",
"previewable": true,
"processing": false
}
]
}
GET/admin/themes/828155753.json
Lấy một Theme
fields |
danh sách các trường trong kết quả trả về, cách nhau bởi dấu phẩy |
HTTP/1.1 200 OK
{
"theme": {
"id": 828155753,
"name": "Comfort",
"created_on": "2015-12-08T11:33:54Z",
"modified_on": "2015-12-08T11:33:54Z",
"role": "main",
"previewable": true,
"processing": false
}
}
POST/admin/themes.json
Tạo mới một Theme bằng cách sử dụng đường dẫn URL của file .zip chứa Theme. Theme luôn bắt đầu với role "unpublished". Nếu một Role khác được sử dụng, Theme sẽ chỉ được chuyển về Role đó sau khi đã giải nén và lưu trữ vào Sapo (có thể mất một vài phút).
Tạo một Theme từ URL.
POST /admin/themes.json
{
"theme": {
"name": "Lemongrass",
"src": "http:\/\/themes.bizweb.vn\/theme.zip",
"role": "main"
}
}
Xem kết quả
HTTP/1.1 201 Created
{
"theme": {
"id": 1054865042,
"name": "Lemongrass",
"created_on": "2015-12-08T11:34:28Z",
"modified_on": "2015-12-08T11:34:28Z",
"role": "unpublished",
"previewable": false,
"processing": false
}
}
Cố gắng tạo một Theme không có tên sẽ trả về lỗi
POST /admin/themes.json
{
"theme": {
"body": "foobar"
}
}
Xem kết quả
HTTP/1.1 422 Unprocessable Entity
{
"errors": {
"name": [
"can't be blank"
]
}
}
PUT/admin/themes/752253240.json
Cập nhật một Theme
Thay đổi tên Theme
PUT /admin/themes/#{id}.json
{
"theme": {
"id": 752253240,
"name": "Experimental"
}
}
Xem kết quả
HTTP/1.1 200 OK
{
"theme": {
"id": 752253240,
"name": "Experimental",
"created_on": "2015-12-08T11:33:54Z",
"modified_on": "2015-12-08T11:34:29Z",
"role": "unpublished",
"previewable": true,
"processing": false
}
}
Thay đổi Role của Theme sang main hoặc mobile sẽ xuất bản Theme với Role tương ứng
PUT /admin/themes/#{id}.json
{
"theme": {
"id": 752253240,
"role": "main"
}
}
Xem kết quả
HTTP/1.1 200 OK
{
"theme": {
"id": 752253240,
"name": "Sandbox",
"created_on": "2015-12-08T11:33:54Z",
"modified_on": "2015-12-08T11:34:29Z",
"role": "main",
"previewable": true,
"processing": false
}
}
DELETE/admin/themes/752253240.json
Xóa một Theme
Xóa một Theme
HTTP/1.1 200 OK
{
"id": 752253240,
"name": "Sandbox",
"created_on": "2015-12-08T11:33:54Z",
"modified_on": "2015-12-08T11:33:54Z",
"role": "unpublished",
"previewable": true,
"processing": false
}