Bài viết - Bình luận
| Thuật ngữ | Giải nghĩa |
| BP (Business Page) | MoMo Business Page (tiếng Việt Trang Doanh nghiệp - viết tắt BP) là Trang đại diện chính thức & duy nhất của Doanh nghiệp, giúp các Doanh nghiệp chia sẻ thông tin về sản phẩm của mình để tiếp cận đến lượng user trên MoMo |
| Bài viết BP | Là bài viết được đăng tải bởi Đối tác dưới thông qua Business Page |
| Bài viết đánh giá (Review) | Là bài viết được đăng tải user, đánh giá một sản phẩm/ cửa hàng |
| Bình luận (Comment) | Được tạo ra khi Doanh nghiệp thêm mới trên bài viết. |
| Phản hồi | Được tạo ra khi Doanh nghiệp phản hồi lại một bình luận hoặc một bài đánh giá của user. |
Bắt đầu
Để tích hợp được với tất cả các API Bài viết bên dưới bạn cần được cấp
X-API-KEYđược mô tả tại Xác thực và uỷ quyền truy cập tài nguyên BP
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
| X-API-KEY | String | Với X-API-KEY lấy từ Xác thực và uỷ quyền truy cập tài nguyên BP |
Phụ lục: Trạng thái bài viết BP
| Giá trị | Mô tả |
| visibility: false Lúc status: 1 | Pending Đây là trạng thái khởi tạo của một bài viết không hẹn giờ. Bài viết sẽ được kiểm duyệt đội vận hành MoMo BP Operation theo Tiêu chuẩn cộng đồng. |
| visibility: false status: 10 | Scheduled await approval Đây là trạng thái khởi tạo của một bài viết hẹn giờ. |
| visibility: false status: 2 | Scheduled Đây là trạng thái đã được duyệt của một bài viết hẹn giờ. |
| visibility: false status: 3 | Canceled Đây là trạng thái không được duyệt một bài viết hẹn giờ. |
| visibility: true status: 5 | Published Bài viết được duyệt bởi đội vận hành. |
| visibility: false status: 5 | Hidden Bài viết bị từ chối đội vận hành. Doanh nghiệp có thể xem lý do bị từ chối qua API xem lịch sử bài viết |
Tạo bài viết BP
Lưu ý
- Sau khi bài viết được đăng tải thành công, bài viết sẽ được kiểm duyệt bởi hệ thống AI và đội vận hành MoMo BP Operation theo tiêu chuẩn cộng đồng
- Khi bài viết được duyệt hay bị từ chối, doanh nghiệp có thể xem lý do bị từ chối qua API xem lịch sử bài viết
HTTP Request
URL: /v2/business-pages/{bpId}/social/posts
Method: POST
Content Type: application/json
Response Type: application/json
Query Path:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---------|--------|---------------------|-------------------|
| bpId | Number | | Business Page ID |
Example Request
{
"oaId": 4391,
"title": "test create merchant BP post v3 with image",
"desc": "test create merchant BP post v3 with image",
"ctaType": 1,
"ctaLabel": "social feed test :))",
"actionUrls": [
"https://mservice.feed"
],
"imageUrls": [
"https://xwatch.vn/upload_images/images/2023/05/22/anh-meme-la-gi.jpg",
"https://taimienphi.vn/tmp/cf/aut/cAjh-9tqD-cL5a-Jfhu-hinh-anh-meme-hai-huoc-1.jpg",
"https://haycafe.vn/wp-content/uploads/2022/03/anh-meme-gau-truc.jpg"
],
"pollAnswerType": 1,
"pollExpire": 1703091600000,
"pollOptions": [
{
"message": "A"
},
{
"message": "B"
}
]
}
Mô tả example request
| Tham số | Kiểu dữ liệu | Mô tả | Bắt buộc | Giá trị mặc định (nếu có) |
| oaId | long | Mã định danh của BP | true | |
| title | String | Dùng để quản lý, không hiển thị cho user trong bài viết | false | |
| desc | String | Nội dung của bài viết được đăng tải. Tối đa 2000 ký tự. | true | |
| sendTime | long | Dùng khi Doanh nghiệp muốn hẹn giờ đăng bài; dạng timestamp theo millisecond. | false | |
| imageUrls | String array | Đường dẫn CDN ảnh bài viết. Tối đa 15 ảnh, với tổng dung lượng tối đa 15MB. | ||
| videoUrls | String array | Đường dẫn CDN video bài viết. Mỗi bài viết nhận link đầu tiên để hiển thị video. Hiện tại chưa hỗ trợ đăng bài viết có cả hình ảnh và video. Lưu ý: khi bài viết có link video sẽ cần bổ sung thông tin video vào trường extra như bên dưới | false | [] |
| extra | stringify jsonObject | Thông tin bổ sung của video. Nếu không điền tham số này, video đăng lên có thể sẽ bị méo. videoRatio: ratio của video. videoWidth: chiều rộng video. videoHeight: chiều cao video videoSize: kích thước video theo byte Cụ thể xem trong example | false | |
| ctaType | int | Là thể loại đường dẫn của nút CTA, với các loại tương ứng 1 = CTA dẫn đến 1 đường dẫn web 2 = CTA dẫn đến 1 MiniApp 3 = CTA dẫn đến 1 web trong app | false | 0 |
| actionUrls | String array | Là weblink/ deeplink để điều hướng CTA đến màn hình đích. Đường dẫn sẽ tương ứng với ctaType được lựa chọn. | false | [] |
| ctaRefId | String | Là đường dẫn từ CTA tương ứng với nội dung; dùng khi ctaType = 3 | false | |
| ctaParams | String | Là param bổ sung cho refID tương ứng; dùng khi ctaType = 3 | false | |
| ctaHighlight | boolean | Là thông tin xác định nút CTA có highlight sau khi user xem bài viết nhiều hơn 3 giây | false | |
| ctaCustomize | boolean | Là thông tin xác định xem nút CTA tùy chỉnh hay dùng giao diện mặc định: - Chỉnh theo các thông tin nhập (label, description...) - Dùng giao diện mặc định | false | |
| ctaLabel | String | Là nội dung nút tương ứng. Chỉ sử dụng khi ctaCustomize = true. | false | |
| ctaButton | String | Là tiêu đề CTA để hiển thị lên nội dung CTA | false | |
| ctaDesc | String | Là mô tả CTA để hiển thị lên nội dung CTA | false | |
| ctaImageUrl | String | Là hình ảnh icon trong nút CTA (dành cho CTA customize) | false | |
| pollAnswerType | Integer | Kiểu poll: 1: short poll 2: long poll | false | |
| pollExpire | long | Thời gian hết h poll theo ms | false | |
| pollOptions | Json object array | Thông tin các option poll | false | |
| pollQuiz | String | Mô tả poll | false |
Thông tin PollOption
| Tham số | Kiểu dữ liệu | Mô tả | Bắt buộc | Giá trị mặc định (nếu có) |
| message | String | Mô tả poll option | false |
Example Response
{
"cmdId": "bf040715-a7d8-4226-9516-1c97096d2fc4",
"success": true,
"data": {
"postId": 110659304999985,
"title": "test create merchant oa post v3 with image",
"desc": "test create merchant oa post v3 with image",
"zoneId": 107054566841665,
"ctaType": 1,
"status": 1,
"visibility": false,
"ctaLabel": "social feed test :))",
"actionUrls": [
"https://mservice.feed"
],
"imageUrls": [
"https://xwatch.vn/upload\_images/images/2023/05/22/anh-meme-la-gi.jpg",
"https://taimienphi.vn/tmp/cf/aut/cAjh-9tqD-cL5a-Jfhu-hinh-anh-meme-hai-huoc-1.jpg",
"https://haycafe.vn/wp-content/uploads/2022/03/anh-meme-gau-truc.jpg"
],
"imageExtendDataList": [
{
"url": "https://xwatch.vn/upload\_images/images/2023/05/22/anh-meme-la-gi.jpg",
"widthImg": 800,
"heightImg": 800,
"size": 35928
},
{
"url": "https://taimienphi.vn/tmp/cf/aut/cAjh-9tqD-cL5a-Jfhu-hinh-anh-meme-hai-huoc-1.jpg",
"widthImg": 450,
"heightImg": 450,
"size": 122960
},
{
"url": "https://haycafe.vn/wp-content/uploads/2022/03/anh-meme-gau-truc.jpg",
"widthImg": 766,
"heightImg": 716,
"size": 76185
}
],
"oaId": 4391,
"_class": "mservice.social.feedv2.api.common.message.CreateMerchantOaPostMsg"
}
}
Mô tả example response
| Tham số | Kiểu dữ liệu | Mô tả |
| result | boolean | True: xử lý request thành công False: xử lý request thất bại |
| data | Json object | Dữ liệu chi tiết trả về |
Cấu trúc data trong response
| Tham số | Kiểu dữ liệu | Mô tả |
| postId | long | Mã định danh của bài viết |
| status | int | Sử dụng cùng tham số visibility để xem trạng thái bài viết. |
| visibility | boolean | Sử dụng cùng tham số status để xem trạng thái bài viết. |
Cập nhật bài viết
Lưu ý: API sử dụng để chỉnh sửa bài viết merchant. Bài viết có thể được chỉnh sửa dù ở bất kỳ trạng thái nào
HTTP Request
URL: /v2/business-pages/{bpId}/social/posts/update
Method: POST
Content Type: application/json
Response Type: application/json
Query Path:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---------|--------|---------------------|-------------------|
| bpId | Number | | Business Page ID |
Example Request
{
"oaId": 4391,
"postId": 110659304999985,
"updateFields": [
1,
2,
3,
24,
61,
33,
34
],
"title": "test update merchant oa title",
"desc": "test update merchant oa add image url",
"imageUrls": [
"https://xwatch.vn/upload\_images/images/2023/05/22/anh-meme-la-gi.jpg",
"https://taimienphi.vn/tmp/cf/aut/cAjh-9tqD-cL5a-Jfhu-hinh-anh-meme-hai-huoc-1.jpg",
"https://haycafe.vn/wp-content/uploads/2022/03/anh-meme-gau-truc.jpg",
"https://www.denofgeek.com/wp-content/uploads/2022/06/Made-in-Abyss-Season-2.jpg"
],
"ctaLabel": "update cta label",
"actionUrls": [
"https://update-social.feed"
],
"pollExpire": 1703437200000,
"pollQuiz": "updated poll quiz"
}
Mô tả example request
| Tham số | Kiểu dữ liệu | Mô tả | Bắt buộc | Giá trị mặc định (nếu có) |
| oaId | long | Mã định danh của BP cần được update | true | |
| postId | long | Mã định danh của bài viết cần được update | ||
| title | String | Tiêu đề bài viết cần được update. Lưu ý, thông tin này chỉ để quản lý, không hiển thị cho user trong bài viết | true | |
| desc | String | Nội dung của bài viết cần được update. | true | |
| ctaType | int | Là thể loại đường dẫn của nút CTA, với các loại tương ứng 1 = CTA dẫn đến 1 đường dẫn web 2 = CTA dẫn đến 1 MiniApp 3 = CTA dẫn đến 1 web trong app | false | 0 |
| ctaRefId | String | Là đường dẫn từ CTA cần được update; dùng khi ctaType = 3 | false | |
| ctaParams | String | Là param bổ sung cho refID tương ứng; dùng khi ctaType = 3 | false | |
| ctaHighlight | boolean | Là thông tin xác định nút CTA có highlight sau khi user xem bài viết nhiều hơn 3 giây | false | |
| ctaCustomize | boolean | Là thông tin xác định xem nút CTA tùy chỉnh hay dùng giao diện mặc định: - Chỉnh theo các thông tin nhập (label, description...) - Dùng giao diện mặc định | false | |
| ctaLabel | String | Là nội dung nút tương ứng cần được update. Chỉ sử dụng khi ctaCustomize = true. | false | |
| ctaButton | String | Là tiêu đề CTA cần được update | false | |
| ctaDesc | String | Là mô tả CTA cần được update | false | |
| ctaImageUrl | String | Là hình ảnh icon trong nút CTA cần được update (dành cho CTA customize) | false | [] |
| pollExpire | long | Thời gian hết giờ poll theo ms | false | |
| pollQuiz | String | Mô tả poll | false |
- Thêm trường updateFields để chỉ ra các prop được update, ngoài ra các thông tin còn lại tương tự api create merchant oa post.
- Thông tin mapping update field
- Lưu ý: chưa update video
| UpdateField | Prop |
| 1 | title |
| 2 | desc |
| 3 | image_urls |
| 23 | ctaType |
| 24 | ctaLabel |
| 25 | ctaRefId |
| 26 | ctaParams |
| 45 | ctaHighlight |
| 46 | ctaButton |
| 47 | ctaDesc |
| 48 | ctaImageUrl |
| 49 | ctaCustomize |
| 61 | actionUrls |
| 33 | Poll expire |
| 34 | Poll quiz |
Example Response
{
"cmdId": "43b9c232-c9db-42cc-bb7e-5c71dc90cd6e",
"success": true,
"data": {
"postId": 110659304999985,
"title": "test update merchant oa title",
"desc": "test update merchant oa add image url",
"zoneId": 107054566841665,
"extraImg": "{\"statsImg\":[{\"url\":\"https://xwatch.vn/upload\_images/images/2023/05/22/anh-meme-la-gi.jpg\",\"widthImg\":800,\"heightImg\":800,\"size\":35928},{\"url\":\"https://taimienphi.vn/tmp/cf/aut/cAjh-9tqD-cL5a-Jfhu-hinh-anh-meme-hai-huoc-1.jpg\",\"widthImg\":450,\"heightImg\":450,\"size\":122960},{\"url\":\"https://haycafe.vn/wp-content/uploads/2022/03/anh-meme-gau-truc.jpg\",\"widthImg\":766,\"heightImg\":716,\"size\":76185},{\"url\":\"https://www.denofgeek.com/wp-content/uploads/2022/06/Made-in-Abyss-Season-2.jpg\",\"widthImg\":1920,\"heightImg\":1080,\"size\":269029}]}",
"albumType": 2,
"ctaLabel": "update cta label",
"actionUrls": [
"https://update-social.feed"
],
"imageUrls": [
"https://xwatch.vn/upload\_images/images/2023/05/22/anh-meme-la-gi.jpg",
"https://taimienphi.vn/tmp/cf/aut/cAjh-9tqD-cL5a-Jfhu-hinh-anh-meme-hai-huoc-1.jpg",
"https://haycafe.vn/wp-content/uploads/2022/03/anh-meme-gau-truc.jpg",
"https://www.denofgeek.com/wp-content/uploads/2022/06/Made-in-Abyss-Season-2.jpg"
],
"imageExtendDataList": [
{
"url": "https://xwatch.vn/upload\_images/images/2023/05/22/anh-meme-la-gi.jpg",
"widthImg": 800,
"heightImg": 800,
"size": 35928
},
{
"url": "https://taimienphi.vn/tmp/cf/aut/cAjh-9tqD-cL5a-Jfhu-hinh-anh-meme-hai-huoc-1.jpg",
"widthImg": 450,
"heightImg": 450,
"size": 122960
},
{
"url": "https://haycafe.vn/wp-content/uploads/2022/03/anh-meme-gau-truc.jpg",
"widthImg": 766,
"heightImg": 716,
"size": 76185
},
{
"url": "https://www.denofgeek.com/wp-content/uploads/2022/06/Made-in-Abyss-Season-2.jpg",
"widthImg": 1920,
"heightImg": 1080,
"size": 269029
}
],
"oaId": 4391,
"updateFields": [
1,
2,
3,
24,
61
],
"_class": "mservice.social.feedv2.api.common.message.UpdateMerchantOaPostMsg"
}
}
Mô tả example response
| Tham số | Kiểu dữ liệu | Mô tả |
| result | boolean | True: xử lý request thành công False: xử lý request thất bại |
| data | Json object | Dữ liệu chi tiết trả về |
Cấu trúc data trong response
| Tham số | Kiểu dữ liệu | Mô tả |
| postId | long | Mã định danh của bài viết |
Ẩn bài viết
HTTP Request
URL: /v2/business-pages/{bpId}/social/posts/hide
Method: POST
Content Type: application/json
Response Type: application/json
Query Path:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---------|--------|---------------------|-------------------|
| bpId | Number | | Business Page ID |
Example Request
{
"oaId": 4391,
"postId": 110659304999985
}
Mô tả example request
| Tham số | Kiểu dữ liệu | Mô tả | Bắt buộc | Giá trị mặc định (nếu có) |
| oaId | long | Mã định danh của BP | true | |
| postId | long | Mã định danh của bài viết cần được ẩn |
Example Response
{
"cmdId": "43b9c232-c9db-42cc-bb7e-5c71dc90cd6e",
"success": true,
"data": {
"postId": 110659304999985,
"oaId": 4391,
"_class": "mservice.social.feedv2.api.common.message.UpdateMerchantOaPostMsg"
}
}
Mô tả example response
| Tham số | Kiểu dữ liệu | Mô tả |
| result | boolean | True: xử lý request thành công False: xử lý request thất bại |
| data | Json object | Dữ liệu chi tiết trả về |
Cấu trúc data trong response
| Tham số | Kiểu dữ liệu | Mô tả |
| postId | long | Mã định danh của bài viết |
Xem lịch sử duyệt và chỉnh sửa bài viết
HTTP Request
URL: /v2/business-pages/{bpId}/social/posts/history
Method: POST
Content Type: application/json
Response Type: application/json
Query Path:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---------|--------|---------------------|-------------------|
| bpId | Number | | Business Page ID |
Example Request
{
"postId": 110656311132618,
"offset": 0,
"size": 10
}
Mô tả example request
| Tham số | Kiểu dữ liệu | Mô tả | Bắt buộc | Giá trị mặc định (nếu có) |
| postId | long | Mã định danh của bài viết cần xem lịch sử | true | 0 |
| offset | int | Offset phân trang, giá trị = page index * size | true | 0 |
| size | int | Số lượng lịch sử trả về trpng 1 response | true | 0 |
Example Response
{
"cmdId": "4017e565-b0c4-4eb0-85b6-803eb6b7f0f5",
"success": true,
"data": {
"postId": 110656311132618,
"size": 5,
"stateHistories": [
{
"id": 37788,
"executorId": "df9fb526-f868-4d5b-81e0-a198d32587a0",
"targetId": "110656311132618",
"parentId": "0",
"updatedDate": 1694404603451,
"apiMsgType": "POST_DELETE",
"objectType": "POST",
"description": "Gây thù ghét tôn giáo",
"executorEmail": "admin"
},
{
"id": 37738,
"executorId": "df9fb526-f868-4d5b-81e0-a198d32587a0",
"targetId": "110656311132618",
"parentId": "107054355990591",
"updatedDate": 1694077716993,
"apiMsgType": "POST_EDIT",
"objectType": "POST",
"description": "Edit post",
"pageId": 107054355990591,
"executorEmail": "admin"
},
{
"id": 37737,
"executorId": "df9fb526-f868-4d5b-81e0-a198d32587a0",
"targetId": "110656311132618",
"parentId": "107054355990591",
"updatedDate": 1694077686924,
"apiMsgType": "POST_EDIT",
"objectType": "POST",
"description": "Edit post",
"pageId": 107054355990591,
"executorEmail": "admin"
},
{
"id": 37486,
"executorId": "df9fb526-f868-4d5b-81e0-a198d32587a0",
"targetId": "110656311132618",
"parentId": "0",
"updatedDate": 1693457934078,
"apiMsgType": "POST_UPDATE_STATUS",
"objectType": "POST",
"prevState": "Hidden",
"newState": "Published",
"executorEmail": "admin"
},
{
"id": 37485,
"executorId": "df9fb526-f868-4d5b-81e0-a198d32587a0",
"targetId": "110656311132618",
"parentId": "0",
"updatedDate": 1693457931888,
"apiMsgType": "POST_UPDATE_STATUS",
"objectType": "POST",
"prevState": "Published",
"newState": "Hidden",
"executorEmail": "admin"
},
]
}
}
Mô tả example response
| Tham số | Kiểu dữ liệu | Mô tả |
| updatedDate | long | Thời gian update bài viết |
| apiMsgType | string | Phân loại hành động update bài viết: POST_UPDATE_STATUS: cập nhật trạng thái bài viết POST_ADD: tạo mới bài viết POST_EDIT: chỉnh sửa nội dung bài viết POST_DELETE: xóa bài viết |
| prevState | string | Status trước của bài viết trước khi được update. |
| newState | string | Status trước của bài viết sau khi được update. |
| description | string | Lý do bài viết bị ẩn/ xoá bởi đội vận hành MoMo BP Operation. |
| executorEmail | string | Thông tin người update bài viết dưới dạng email |
Xem danh sách bài viết của BP
HTTP Request
URL: /v2/business-pages/{bpId}/social/posts/get-list
Method: POST
Content Type: application/json
Response Type: application/json
Query Path:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---------|--------|---------------------|-------------------|
| bpId | Number | | Business Page ID |
Example Request
{
"oaId": 1254,
"size": 5,
"zoneType": 1,
"fromId": 0,
"fromTime": 146541850000,
"toTime": 1726542394431
}
Mô tả example request
| Tham số | Kiểu dữ liệu | Mô tả | Bắt buộc | Giá trị mặc định (nếu có) |
| oaId | long | Mã định danh của BP | true | |
| size | int | Là số lượng bài viết trả về trong một response (giá trị >0) | true | 0 |
| zoneType | int | Là loại bài viết hiển thị trên bảng tin MoMo. Mặc định điền giá trị = 1 | true | 0 |
| fromId | long | Là cursor để lấy danh sách post tiếp theo. Giá trị được lấy theo tham số lastId trong response (giá trị >0) | false | 0 |
| bypassVisibility | boolean | mặc định api sẽ chỉ trả về những bài viết đang được hiển thị ở App. Nếu cần lấy các bài viết có trạng thái không hiển thị set prop value = true | false | false |
| fromTime | long | Là thời gian bắt đầu để lấy ra post trong khoảng đó (dạng millisecond) | false | |
| toTime | long | Là thời gian kết thúc để lấy ra post trong khoảng đó (dạng millisecond) | false |
Example Response
{
"cmdId": "9e0a7f2c-9bbb-44a6-ac55-382714fd0a49",
"success": true,
"data": {
"oaId": 1254,
"pageId": 112907275150374,
"zoneType": 1,
"size": 5,
"posts": [
{
"postId": 113150647115808,
"desc": "bài viết thứ 2",
"zoneType": 1,
"zoneId": 112907275150374,
"visibility": true,
"pushType": 2,
"postType": 1,
"status": 5,
"createdTime": 1726541856242,
"updatedTime": 1726542394431,
"creatorId": "0900000000",
"likeCount": 1,
"likeReactionCount": 1,
"commentCount": 8,
"showCount": 35,
"interactionCount": 44,
"imageUrls": [
"https://attachment-uat.momocdn.net/social/u/0f00d63037fda6373c8ed14cbd33812406c75ae1510f29a002657e1e9b95da94/585c0843-9ed1-4f96-b254-84055ea7c218kcawu5xk.jpg"
],
"topComments": [
113168820031354,
113168799660989,
113156530817467,
113156518394451,
113151889425670
],
"sharePostMetaData": {
"postId": 113150647115808
},
"sharePostPreviewData": {
"postId": 113150647115808,
"desc": "bài viết thứ 2",
"backgroundImages": [
"https://attachment-uat.momocdn.net/social/u/0f00d63037fda6373c8ed14cbd33812406c75ae1510f29a002657e1e9b95da94/585c0843-9ed1-4f96-b254-84055ea7c218kcawu5xk.jpg"
]
},
"sendTime": 1726541856000,
"repliedComments": [
113168799660989,
113156518394451
],
"mentionDto": {
"filmDto": {
},
"gameDto": {
},
"p2PDto": {
}
},
"adminReplies": [
113157949757109
],
"tagIds": [
111327758867169
],
"fromMerchantOA": true,
"merchantOAId": 1254,
"albumType": 1,
"extraImg": "{\"statsImg\":[{\"url\":\"https://attachment-uat.momocdn.net/social/u/0f00d63037fda6373c8ed14cbd33812406c75ae1510f29a002657e1e9b95da94/585c0843-9ed1-4f96-b254-84055ea7c218kcawu5xk.jpg\",\"widthImg\":4032,\"heightImg\":3024,\"size\":1773281}]}",
"viewCount": 15,
"followButtonAllowed": true,
"privacyLevel": 1
},
{
"postId": 113111077394535,
"desc": "Test bai viết nè ha ha",
"zoneType": 1,
"zoneId": 112907275150374,
"visibility": true,
"pushType": 2,
"postType": 1,
"status": 5,
"createdTime": 1725938070159,
"updatedTime": 1725938084905,
"creatorId": "0900000000",
"commentCount": 6,
"showCount": 21,
"interactionCount": 27,
"imageUrls": [
"https://attachment-uat.momocdn.net/social/u/0f00d63037fda6373c8ed14cbd33812406c75ae1510f29a002657e1e9b95da94/bd13c40a-59ba-4553-898e-e885f1f02a5fiehz9lfq.jpg"
],
"topComments": [
113146915223379,
113146013588230,
113146012851722,
113146011780661,
113145976739821
],
"sharePostMetaData": {
"postId": 113111077394535
},
"sharePostPreviewData": {
"postId": 113111077394535,
"desc": "Test bai viết nè ha ha",
"backgroundImages": [
"https://attachment-uat.momocdn.net/social/u/0f00d63037fda6373c8ed14cbd33812406c75ae1510f29a002657e1e9b95da94/bd13c40a-59ba-4553-898e-e885f1f02a5fiehz9lfq.jpg"
]
},
"sendTime": 1725938070000,
"mentionDto": {
"filmDto": {
},
"gameDto": {
},
"p2PDto": {
}
},
"tagIds": [
111327750888766,
111327754236370
],
"fromMerchantOA": true,
"merchantOAId": 1254,
"albumType": 1,
"extraImg": "{\"statsImg\":[{\"url\":\"https://attachment-uat.momocdn.net/social/u/0f00d63037fda6373c8ed14cbd33812406c75ae1510f29a002657e1e9b95da94/bd13c40a-59ba-4553-898e-e885f1f02a5fiehz9lfq.jpg\",\"widthImg\":1600,\"heightImg\":1600,\"size\":445390}]}",
"viewCount": 22,
"followButtonAllowed": true,
"privacyLevel": 1
}
],
"lastId": 113111077394535,
"resultType": 1,
"fromTime": 146541850000,
"toTime": 1726542394431,
"totalCount": 2,
"_class": "mservice.social.feedv2.mention.api.messages.manual\_oa.GetPageFeedByOaMsg"
}
}
Mô tả example response
| Tham số | Kiểu dữ liệu | Mô tả |
| postId | long | Mã định danh của bài viết |
| title | string | Dùng để quản lý, không hiển thị cho user trong bài viết |
| desc | string | Nội dung của bài viết được đăng tải. |
| createdTime | long | Thời gian tạo bình luận/ phản hồi, theo millisecond |
| creatorId | string | Mã định danh người tạo bài viết. Đối với bài viết BP không cần quan tâm tới tham số này. |
| likeCount | int | Số lượng thích bài viết |
| commentCount | int | Số lượng bình luận bài viết |
| shareCount | int | Số lượng lượt chia sẻ bài viết |
| viewCount | int | Số lượng lượt xem trên 3s của bài viết |
| clickCtaCount | int | Số lượng lượt click CTA của bài viết |
| interactionCount | int | Tổng lượt tương tác = likeCount + commentCount + shareCount + viewCount +clickCtaCount |
| imageUrls | String array | Đường dẫn CDN ảnh bài viết |
| tagsV2 | Json array | Thông tin các thẻ được gắn vào bài viết |
| ctaType | int | Là thể loại đường dẫn của nút CTA , với các loại tương ứng 1 = CTA dẫn đến 1 đường dẫn web 2 = CTA dẫn đến 1 MiniApp 3 = CTA dẫn đến 1 web trong app |
| ctaLabel | String | Là nội dung nút tương ứng. Chỉ sử dụng khi ctaCustomize = true. |
| ctaRefId | string | Là đường dẫn từ CTA tương ứng với nội dung; dùng khi ctaType = 3 |
| ctaParams | string | Là param bổ sung cho refID tương ứng; dùng khi ctaType = 3 |
| ctaButton | string | Là tiêu đề CTA để hiển thị lên nội dung CTA |
| ctaDesc | string | Là mô tả CTA để hiển thị lên nội dung CTA |
| ctaImageUrl | string | Là hình ảnh icon trong nút CTA (dành cho CTA customize) |
| ctaCustomize | boolean | Là thông tin xác định xem nút CTA tùy chỉnh hay dùng giao diện mặc định: - Chỉnh theo các thông tin nhập (label, description...) - Dùng giao diện mặc định |
| ctaHighlight | boolean | Là thông tin xác định nút CTA có highlight sau khi user xem bài viết nhiều hơn 3 giây |
| actionUrls | String array | Là weblink/ deeplink để điều hướng CTA đến màn hình đích. Đường dẫn sẽ tương ứng với ctaType được lựa chọn. |
| zoneType | int | Là loại bài viết hiển thị trên bảng tin MoMo. 1: Bài viết BP 5: Bài viết review |
| totalCount | long | Tổng số post trong khoảng thời gian fromTime đến toTime |
Cấu trúc data của thẻ trong bài viết
| Tham số | Kiểu dữ liệu | Mô tả |
| tagId | long | Mã định danh của thẻ |
| keyword | string | Tên của thẻ tương ứng |
Xem chi tiết bài viết BP
Lưu ý: API cũng được sử dụng để Xem chi tiết bài viết review.
HTTP Request
URL: /v2/business-pages/{bpId}/social/posts/get-detail
Method: POST
Content Type: application/json
Response Type: application/json
Query Path:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---------|--------|---------------------|-------------------|
| bpId | Number | | Business Page ID |
Example Request
{
"postId": 110377198365109
}
Mô tả example request
| Tham số | Kiểu dữ liệu | Mô tả | Bắt buộc | Giá trị mặc định (nếu có) |
| postId | long | Mã định danh của bài viết | true | 0 |
Example Response
{
"cmdId": "64acafae-4407-4bdb-8343-2dee471defce",
"success": true,
"data": {
"postId": 114041433182417,
"title": "poll",
"desc": "<p>vote poll post 4</p>",
"zoneType": 1,
"zoneId": 108990799288204,
"visibility": true,
"pushType": 2,
"postType": 1,
"status": 5,
"createdTime": 1740134173079,
"updatedTime": 1740134173356,
"creatorId": "a4674098-01c3-432c-a265-b04d952c18bf",
"page": {
"pageId": 108990799288204,
"desc": "FA",
"actionLink": "",
"extra": "{\"address\":\"hn\",\"category\":\"Tài chính\"}",
"avatarUrl": "https://social-dev.momocdn.net/social/images/2024/07/08/2024-07-08-03a76cb81be5e2e2181cbeb910198189.jpeg",
"displayName": "12 No Door",
"thumbnail": "https://social-dev.momocdn.net/social/images/2024/07/08/2024-07-08-03a76cb81be5e2e2181cbeb910198189.256.jpeg",
"status": 5,
"zoneType": 1,
"createdTime": 1663067616971,
"updatedTime": 1739852746447,
"regions": [
],
"categories": [
],
"tags": [
],
"ads": false,
"merchantId": "",
"pinnedPostId": 0,
"featurePostIds": [
112923984158805,
112919904832796,
112923865471576,
113281422043294,
112923908672070,
112923930649858,
112923909237219
],
"followCount": 0,
"coverUrl": "https://social-dev.momocdn.net/social/images/2024/07/08/2024-07-08-c5ba7dfb2bb81049fb0de88430ff5208.512.jpg",
"tagIds": [
108753043467796
],
"tagsV2": [
],
"lastPostIds": [
],
"pinPageIds": [
],
"hideBlue": false,
"group": true,
"trendingUpdatedTime": 0,
"trendingScore": 0,
"merchantOAId": 0,
"hasFollowResult": {
}
},
"sendTime": 1740134173000,
"mentionDto": {
"filmDto": {
},
"gameDto": {
},
"p2PDto": {
}
},
"pollOptions": [
114041433205757,
114041433216110,
114041433168412
],
"pollType": 2,
"pollExpireAt": 1740738920351,
"pollQuiz": "Chọn màu",
"pollAnswerType": 2,
"tagIds": [
114029567765850
],
"tagsV2": [
{
"tagId": 114029567765850,
"keyword": "Mã chứng khoán HVN",
"description": "Tổng Công ty Hàng không Việt Nam - CTCP",
"status": 2,
"createdBy": 3,
"authorId": "review\_plugin",
"reveal": 5,
"zoneType": 1,
"zoneId": 107799895377533,
"createdTime": 1739953121348,
"updatedTime": 1739953121348,
"ctaType": 3,
"ctaRefId": "stock\_center",
"ctaParams": "{\"refFeatureId\":\"stock\_detail\",\"code\":\"HVN\"}",
"buttonUIClassName": "GBUC\_DEFAULT",
"productId": 106654108877283,
"ctaLabel": "Đặt lệnh",
"ctaButton": "Mã chứng khoán HVN",
"ctaDesc": "Tổng Công ty Hàng không Việt Nam - CTCP",
"ctaImageUrl": "https://cvs.momocdn.net/HVN.png",
"includedProductCta": true
}
],
"albumType": 1,
"extraImg": "{\"statsImg\":[]}",
"interactionCount": 1,
"showCount": 1,
"phone": "a4674098-01c3-432c-a265-b04d952c18bf",
"_class": "mservice.social.feedv2.mention.api.messages.GetPostMsg"
}
}
Mô tả example response
| Tham số | Kiểu dữ liệu | Mô tả |
| postId | long | Mã định danh của bài viết |
| title | string | Dùng để quản lý, không hiển thị cho user trong bài viết |
| desc | string | Nội dung của bài viết được đăng tải. |
| createdTime | long | Thời gian tạo bình luận/ phản hồi, theo millisecond |
| creatorId | string | Mã định danh người tạo bài viết. Đối với bài viết BP không cần quan tâm tới tham số này. |
| likeCount | int | Số lượng thích bài viết |
| commentCount | int | Số lượng bình luận bài viết |
| shareCount | int | Số lượng lượt chia sẻ bài viết |
| viewCount | int | Số lượng lượt xem trên 3s của bài viết |
| clickCtaCount | int | Số lượng lượt click CTA của bài viết |
| interactionCount | int | Tổng lượt tương tác = likeCount + commentCount + shareCount + viewCount +clickCtaCount |
| imageUrls | String array | Đường dẫn CDN ảnh bài viết |
| tagsV2 | Json array | Thông tin các thẻ được gắn vào bài viết |
| ctaType | int | Là thể loại đường dẫn của nút CTA , với các loại tương ứng 1 = CTA dẫn đến 1 đường dẫn web 2 = CTA dẫn đến 1 MiniApp 3 = CTA dẫn đến 1 web trong app |
| ctaLabel | String | Là nội dung nút tương ứng. Chỉ sử dụng khi ctaCustomize = true. |
| ctaRefId | string | Là đường dẫn từ CTA tương ứng với nội dung; dùng khi ctaType = 3 |
| ctaParams | string | Là param bổ sung cho refID tương ứng; dùng khi ctaType = 3 |
| ctaButton | string | Là tiêu đề CTA để hiển thị lên nội dung CTA |
| ctaDesc | string | Là mô tả CTA để hiển thị lên nội dung CTA |
| ctaImageUrl | string | Là hình ảnh icon trong nút CTA (dành cho CTA customize) |
| ctaCustomize | boolean | Là thông tin xác định xem nút CTA tùy chỉnh hay dùng giao diện mặc định: - Chỉnh theo các thông tin nhập (label, description...) - Dùng giao diện mặc định |
| ctaHighlight | boolean | Là thông tin xác định nút CTA có highlight sau khi user xem bài viết nhiều hơn 3 giây |
| actionUrls | String array | Là weblink/ deeplink để điều hướng CTA đến màn hình đích. Đường dẫn sẽ tương ứng với ctaType được lựa chọn. |
| zoneType | int | Là loại bài viết hiển thị trên bảng tin MoMo. 1: Bài viết BP 5: Bài viết review |
Cấu trúc data của thẻ trong bài viết
| Tham số | Kiểu dữ liệu | Mô tả |
| tagId | long | Mã định danh của thẻ |
| keyword | string | Tên của thẻ tương ứng |
Xem danh sách comment của 1 bài viết BP; hoặc danh sách phản hồi của 1 comment
Lưu ý: API này cũng được dùng để Xem danh sách comment của 1 bài viết review. Xem thêm
HTTP Request
URL: /v2/business-pages/{bpId}/social/comments/get-list
Method: POST
Content Type: application/json
Response Type: application/json
Query Path:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---------|--------|---------------------|-------------------|
| bpId | Number | | Business Page ID |
Example Request
{
"postId": 108445065837530,
"parentId": 108492496949780,
"fromId": 108503623483490,
"size": 10,
"status": 0
}
Mô tả example request
| Tham số | Kiểu dữ liệu | Mô tả | Bắt buộc | Giá trị mặc định (nếu có) |
| postId | long | Mã định danh của bài viết cần xem bình luận/ phản hồi | true | |
| parentId | long | Mã định danh của comment cha mà Doanh nghiệp muốn phản hồi (nếu có) | false | 0 |
| fromId | long | Mã định danh của bình luận/ phản hồi cuối cùng trong danh sách các bình luận/ phản hồi được trả về trong response. Dùng làm cursor để lấy phân trang tiếp theo | false | 0 |
| size | int | Số lượng bình luận/ phản hồi cần lấy | true | 0 |
Comment status:
| Id | status | description |
| 1 | active | Comment trong trạng thái active |
| 2 | recalled | Comment được người dùng thu hồi |
| 3 | deleted | Comment được admin xóa |
| 4 | pending | Comment được tạo, đang chờ duyệt |
Example Response
{
"cmdId": "9b691aa6-c943-4396-99e6-47541d897d96",
"success": true,
"data": {
"postId": 108445065837530,
"parentId": 108492496949780,
"fromId": 108503623483490,
"size": 2,
"comments": [
{
"commentId": 108503623172448,
"message": "79",
"extra": "",
"creatorId": "df9fb526-f868-4d5b-81e0-a198d32587a0",
"creatorName": "admin",
"postId": 108445065837530,
"parentId": 108492496949780,
"zoneType": 1,
"zoneId": 107054184414924,
"likeCount": 0,
"replyCount": 0,
"createdTime": 1655633898633,
"updatedTime": 1655633898633,
"status": 1,
"avatarUrl": "",
"fromMerchantOA": false,
"merchantOAId": 0,
"merchantOAName": "",
"merchantOAAvatar": "",
"previewDeepLinkUrl": "",
"previewDeepLinkImgUrl": "",
"previewDeepLinkTitle": "",
"previewDeepLinkDesc": "",
"additionalButtons": [
],
"previewDeepLinkObjectType": 0,
"previewDeepLinkObjectId": 0,
"fromAdmin": true,
"fromAdminRole": 0,
"fromAdminPageId": 0,
"fromAdminUserId": ""
},
{
"commentId": 108503623048648,
"message": "78",
"extra": "",
"creatorId": "df9fb526-f868-4d5b-81e0-a198d32587a0",
"creatorName": "admin",
"postId": 108445065837530,
"parentId": 108492496949780,
"zoneType": 1,
"zoneId": 107054184414924,
"likeCount": 0,
"replyCount": 0,
"createdTime": 1655633896136,
"updatedTime": 1655633896136,
"status": 1,
"avatarUrl": "",
"fromMerchantOA": false,
"merchantOAId": 0,
"merchantOAName": "",
"merchantOAAvatar": "",
"previewDeepLinkUrl": "",
"previewDeepLinkImgUrl": "",
"previewDeepLinkTitle": "",
"previewDeepLinkDesc": "",
"additionalButtons": [
],
"previewDeepLinkObjectType": 0,
"previewDeepLinkObjectId": 0,
"fromAdmin": true,
"fromAdminRole": 0,
"fromAdminPageId": 0,
"fromAdminUserId": ""
},
],
"_class": "mservice.social.feedv2.mention.api.messages.ListCommentMsg"
}
}
Mô tả example response
| Tham số | Kiểu dữ liệu | Mô tả |
| parentId | long | Mã định danh của comment cha mà được phản hồi (nếu có) |
| commentId | long | Mã định danh của bình luận/ phản hồi được hiển thị cho user |
| message | string | Nội dung của bình luận/ phản hồi. |
| fromMerchantOA | boolean | Nếu = true: bình luận/ phản hồi được đăng tải dưới dạng BP từ Doanh nghiệp |
| fromAdmin | boolean | Nếu = true: bình luận/ phản hồi được đăng tải dưới dạng BP từ đội vận hành MoMo BP Operation |
| creatorName | string | Tên người tạo ra bình luận/ phản hồi |
| avatarUrl | string | Avatar người/fanpage tạo bình luận/phản hồi. |
| merchantOAName | string | Trong trường hợp BP tạo bình luận/ phản hồi, đây là tên của BP đã tạo ra bình luận/ phản hồi |
| likeCount | int | Số lượng thích bình luận/ phản hồi |
| replyCount | int | Số lượng phản hồi được hiển thị của bình luận |
| createdTime | int | Thời gian tạo bình luận/ phản hồi, theo millisecond |
Thêm bình luận và phản hồi trên bài viết BP
Lưu ý: API này cũng được dùng để Thêm bình luận và phản hồi trên bài viết review.
HTTP Request
URL: /v2/business-pages/{bpId}/social/comments
Method: POST
Content Type: application/json
Response Type: application/json
Query Path:
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---------|--------|---------------------|-------------------|
| bpId | Number | | Business Page ID |
Example Request
{
"parentId": 110926698543477,
"merchantOAId": 4391,
"postId": 110926481501755,
"message": "hello buddy"
}
Mô tả example request
| Tham số | Kiểu dữ liệu | Mô tả | Bắt buộc | Giá trị mặc định (nếu có) |
| merchantOAId | long | Mã định danh của BP, tương tự như oaId | true | 0 |
| parentId | long | Mã định danh của comment cha mà Doanh nghiệp muốn phản hồi (nếu có) | false | 0 |
| postId | long | Mã định danh của bài viết mà Doanh nghiệp muốn thêm bình luận | true | 0 |
| message | String | Nội dung của bình luận/ phản hồi. Tham số này không được để rỗng. | true | "" |
Example Response
{
"cmdId": "7127e145-7a5c-44a2-8ffa-96f2ea868f15",
"success": true,
"data": {
"postId": 110926481501755,
"parentId": 110926698543477,
"message": "hello buddy",
"zoneType": 1,
"zoneId": 110705542917147,
"commentId": 110932556702437,
"merchantOAId": 4391,
"fromMerchantOA": true,
"_class": "mservice.social.feedv2.mention.api.messages.AddOACommentMsg"
}
}
Mô tả example response
| Tham số | Kiểu dữ liệu | Mô tả |
| result | boolean | True: xử lý request thành công False: xử lý request thất bại |
| data | Json object | Dữ liệu chi tiết trả về |
Cấu trúc data trong response
| Tham số | Kiểu dữ liệu | Mô tả |
| commentId | long | Mã định danh của bình luận/ phản hồi |