Bên cạnh việc hoạt động như một gian hàng online, các shop của Sapo còn được tích hợp cơ chế Blog, cho phép mỗi shop có thể có một hay nhiều blog.
Chủ Shop nên sử dụng Blog để:
- Tạo các thông báo
- Giới thiệu chi tiết hơn về các sản phẩm của họ
- Thể hiện chuyên môn của họ
- Kết nối với khách hàng
- Tăng thứ hạng của shop trên máy tìm kiếm như Google...
Sapo Blog cũng giống như hầu hết các Blog khác: một hệ thống quản trị nội dung cho các bài viết được đưa lên, sắp xếp theo thứ tự thời gian. Các bài viết có thể được đưa vào một hay nhiều danh mục được người dùng định nghĩa với một hay nhiều tag khác nhau, cho phép người đọc có thể đăng nhận xét của mình với bài viết.
Blog được sử dụng giống các phương tiện truyền thông như báo chí, thư với nội dung thay đổi theo thời gian. Nếu bạn cần một trang tĩnh (ví dụ như trang "Về chúng tôi"), chúng tôi khuyên bạn nên sử dụng Page.
Bạn có thể làm gì với Blog?
Sapo API cho phép bạn thực hiện các thao tác sau với tài nguyên Blog. 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 Blog
created_on |
{ "created_on" : "2012-03-13T16:09:54Z" }
Thời gian Blog được tạo. API trả về kết quả theo định dạng chuẩn ISO 8601. |
alias |
{ "alias" : "apple-blog" }
Một xâu ký tự duy nhất thân thiện với người dùng được tự động sinh ra từ tiêu đề của blog. |
id |
Số duy nhất định danh Blog. |
metafield |
{ "value_type" : "string" }
{ "namespace" : "global" }
Các thông tin dữ liệu kèm thêm đối với các tài nguyên của Shop:
- key (bắt buộc): Định danh cho metafield (tối đa 30 ký tự).
- namespace (bắt buộc): Chứa tập hợp các metadata. Namespaces giúp phân biệt giữa các metadata bạn tạo ra và người khác tạo ra (tối đa 20 ký tự).
- value (bắt buộc): Thông tin được lưu trữ dưới dạng metadata.
- value_type (bắt buộc): Xác định thông tin lưu trữ trong trường value là kiểu xâu hay kiểu số nguyên
- description (tùy chọn): Thông tin thêm về metafield.
|
template_layout |
{ "template_layout" : "null" }
Xác định tên khung giao diện mà blog đang sử dụng. Nếu blog sử dụng khung giao diện mặc định blog.bwt, giá trị trả về là "null". |
name |
Tiêu đề của blog. |
modified_on |
{ "modified_on" : "2006-02-01T19:00:00Z" }
Thời gian cuối cùng thay đổi các giá trị thuộc tính của blog. Chú ý rằng giá trị trường này không thay đổi khi thêm, sửa, xóa bài viết trong blog. API trả về kết quả theo định dạng chuẩn ISO 8601. |
Endpoints
GET/admin/blogs.json
Lấy danh sách tất cả các blog
since_id |
Chỉ lấy các Blog được tạo sau blog có ID xác định |
fields |
Danh sách các trường trong kết quả trả về, cách nhau bởi dấu phẩy |
Lấy tất cả các Blog của shop
HTTP/1.1 200 OK
{
"blogs": [
{
"id": 382285388,
"alias": "banana-blog",
"name": "A Gnu Blog",
"modified_on": "2006-02-02T19:00:00Z",
"commentable": "no",
"created_on": "2015-09-02T14:52:56Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
},
{
"id": 241253187,
"alias": "apple-blog",
"name": "Mah Blog",
"modified_on": "2006-02-01T19:00:00Z",
"commentable": "no",
"created_on": "2015-09-02T14:52:56Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
}
]
}
Lấy tất cả các blog tạo sau blog có ID xác định
HTTP/1.1 200 OK
{
"blogs": [
{
"id": 382285388,
"alias": "banana-blog",
"name": "A Gnu Blog",
"modified_on": "2006-02-02T19:00:00Z",
"commentable": "no",
"created_on": "2015-09-02T14:52:56Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
},
{
"id": 1008414254,
"alias": "apple-main-blog",
"name": "Apple main blog",
"modified_on": "2015-09-02T14:55:29Z",
"commentable": "no",
"created_on": "2015-09-02T14:55:29Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
}
]
}
GET/admin/blogs/count.json
Lấy ra tổng số các blog
Lấy ra số blog của shop
HTTP/1.1 200 OK
{
"count": 2
}
GET/admin/blogs/241253187.json
Lấy ra một blog qua ID
fields |
Danh sách các trường trong kết quả trả về, cách nhau bởi dấu phẩy |
Lấy ra một blog
HTTP/1.1 200 OK
{
"blog": {
"id": 241253187,
"alias": "mah-blog",
"name": "Mah Blog",
"modified_on": "2006-02-01T19:00:00Z",
"commentable": "no",
"created_on": "2015-09-02T14:52:56Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
}
}
POST/admin/blogs.json
Tạo một blog mới
Cố gắng tạo một blog không có tiêu đề sẽ xảy ra lỗi
POST /admin/blogs.json
{
"blog": {
"description": "foobar"
}
}
Xem kết quả
HTTP/1.1 422 Unprocessable Entity
{
"errors": {
"name": "may not be empty"
}
}
Tạo một blog mới chưa có nội dung
POST /admin/blogs.json
{
"blog": {
"name": "Apple main blog"
}
}
Xem kết quả
HTTP/1.1 201 Created
{
"blog": {
"id": 1008414253,
"alias": "apple-main-blog",
"name": "Apple main blog",
"modified_on": "2015-09-02T14:55:29Z",
"commentable": "no",
"created_on": "2015-09-02T14:55:29Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
}
}
Tạo một blog mới với metafield
POST /admin/blogs.json
{
"blog": {
"name": "Apple main blog",
"metafields": [
{
"key": "new",
"value": "newvalue",
"value_type": "string",
"namespace": "global"
}
]
}
}
Xem kết quả
HTTP/1.1 201 Created
{
"blog": {
"id": 1008414255,
"alias": "apple-main-blog",
"name": "Apple main blog",
"modified_on": "2015-09-02T14:55:30Z",
"commentable": "no",
"created_on": "2015-09-02T14:55:30Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
}
}
PUT/admin/blogs/241253187.json
Cập nhật một blog
Cập nhật tiêu đề, alias của blog và kích hoạt tính năng bình luận cho blog
PUT /admin/blogs/#{id}.json
{
"blog": {
"id": 241253187,
"name": "IPod Updates",
"alias": "ipod-updates",
"commentable": "moderate"
}
}
Xem kết quả
HTTP/1.1 200 OK
{
"blog": {
"id": 241253187,
"alias": "ipod-updates",
"name": "IPod Updates",
"modified_on": "2015-09-02T14:55:28Z",
"commentable": "moderate",
"created_on": "2015-09-02T14:52:56Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
}
}
Thêm một metafield cho Blog
PUT /admin/blogs/#{id}.json
{
"blog": {
"id": 241253187,
"metafields": [
{
"key": "new",
"value": "newvalue",
"value_type": "string",
"namespace": "global"
}
]
}
}
Xem kết quả
HTTP/1.1 200 OK
{
"blog": {
"id": 241253187,
"alias": "apple-blog",
"name": "Mah Blog",
"modified_on": "2006-02-01T19:00:00Z",
"commentable": "no",
"created_on": "2015-09-02T14:52:56Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
}
}
Cập nhật tên của Blog
PUT /admin/blogs/#{id}.json
{
"blog": {
"id": 241253187,
"name": "IPod Updates"
}
}
Xem kết quả
HTTP/1.1 200 OK
{
"blog": {
"id": 241253187,
"alias": "apple-blog",
"name": "IPod Updates",
"modified_on": "2015-09-02T14:55:30Z",
"commentable": "no",
"created_on": "2015-09-02T14:52:56Z",
"template_layout": null,
"meta_title": "this is meta title",
"meta_description": "this is meta description"
}
}
DELETE/admin/blogs/241253187.json
Xóa một Blog