Tổng đài hỗ trợ - 
1900 6750
( 7:00 - 22:00 )

api-reference
tai-lieu-api
tai-lieu-nha-phat-trien

Blog

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

commentable
{ "commentable" : "no" }

Xác định xem liệu người đọc có thể bình luận vào Blog được không hay bình luận có cần quản lý không. Các giá trị có thể có:

  • no (mặc định): Người đọc không thể đăng bình luận vào bài viết trong Blog.
  • moderate: Người đọc có thể đăng bình luận vào bài viết trong Blog nhưng bình luận sẽ được kiểm duyệt trước khi được đăng lên.
  • yes: Người đọc có thể đăng bình luận vào bài viết trong Blog mà không cần qua khâu kiểm duyệt.
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
{ "id" : 241253187 }

Số duy nhất định danh Blog.

metafield
{ "key" : "new" }
{ "value" : "newvalue" }
{ "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
{ "name" : "My Blog" }

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

GET /admin/blogs.json
Xem kết quả
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

GET /admin/blogs.json?since_id=241253187
Xem kết quả
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

GET /admin/blogs/count.json
Xem kết quả
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

GET /admin/blogs/#{id}.json
Xem kết quả
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

Xóa một Blog khỏi shop

DELETE /admin/blogs/#{id}.json
Xem kết quả
HTTP/1.1 200 OK
{}

Bài viết trên có hữu ích cho bạn không?

Hữu ích Không hữu ích
Số lượt đánh giá hữu ích: