zalo-api
v0.3.0
Published
A wrapper library to help integrate with Zalo API.
Downloads
15
Maintainers
Readme
Zalo API
Integrate with Zalo API easily. Support typescript with types of request and response following Zalo documentation.
Getting started
Install with npm
npm i zalo-api
or yarn
yarn add zalo-api
Zalo API mapping
| Zalo docs | This library | Status | |:-|:-|:-:| | Social API | | Get access token | Social.access_token() | :white_check_mark: | | Send message to friend | Social.message() | :white_check_mark: | | Invite friend | Social.app_request() | :white_check_mark: | Post feed | Social.feed() | :white_check_mark: | | List friends | Social.friends() | :white_check_mark: | | Invitable friends | Social.invitable_friends() | :white_check_mark: | | Get profile | Social.profile() | :white_check_mark: | | Official Account API | | Reply follower's message | OA.reply_message() | :white_check_mark: | | Send message | OA.message() Shortcut APIs: OA.text_message() OA.media_message() OA.list_message() OA.request_info_message() | :white_check_mark: | | Broadcast | OA.broadcast() | :white_check_mark: | | Update follower info | OA.update_follower_info() | :white_check_mark: | | Manage IP | OA.register_ip()OA.remove_ip() | :white_check_mark: | | Get infos | OA.get_followers()OA.get_profile()OA.get_info()OA.get_recent_chat()OA.get_conversation() | :white_check_mark: | | Upload image/file | OA.upload_image()OA.upload_gif()OA.upload_file() | :white_check_mark: | | Get/assign/remove tags | OA.list_tags()OA.assign_tag()OA.remove_follower_tag()OA.delete_tag() | :white_check_mark: | | Shop API| | Attributes type CRUD | | :white_square_button: | | Upload photo | | :white_square_button: | | Get industry | | :white_square_button: | | Category | | :white_square_button: | | Create order | | :white_square_button: | | Manage order | | :white_square_button: | | Products | | :white_square_button: | | Article API| | Create article | | :white_square_button: | | Upload video for article | | :white_square_button: | | Get article ID | | :white_square_button: | | Get article details | | :white_square_button: | | Get list articles | | :white_square_button: | | Delete article | | :white_square_button: | | Update article | | :white_square_button: |
Using Zalo API integration
Social API
Get access token
Parameters
{
app_id: string,
app_secret: string,
code: string,
redirect_uri?: string
}
Return
{
access_token: string,
expires_in: number
}
Example
import { Social } from 'zalo-api';
const access_token = Social.access_token({
app_id: 'your_app_id', // process.env.zalo_app_id
app_secret: 'your_app_secret', // process.env.zalo_app_secret
code: 'your_oauth_code', // refer document here https://developers.zalo.me/docs/api/social-api/tham-khao/user-access-token-post-4316
})
Official Account API
OA Message
Send generic message with all available parameters Parameters
{
access_token: string,
recipient: {
message_id?: string,
user_id?: string,
target?: {}
},
message: {
text?: string,
attachment?: {
type: 'template' | 'file',
payload: {
template_type?: 'list' | 'media' | 'request_user_info'
elements?: {} //Depends on types
buttons?: {}
...
}
}
}
}
Return (same for all message API)
{
error?: number,
message: string,
data?: {
message_id: string
}
}
Example
import { OA } from 'zalo-api';
const access_token = OA.message({
access_token: 'your_oa_access_token', // https://developers.zalo.me/docs/api/official-account-api/phu-luc/official-account-access-token-post-4307
recipient: {
user_id: 'user_id'
}
message: {
text: 'Hello Zalo API'
}
})