开发者文档 开发者文档
帮助中心 (opens new window)
帮助中心 (opens new window)
  • WhatsApp

  • 国际短信

  • App 消息推送

  • Messenger

    • Facebook Messenger API
    • LINE API

    • 运营支持

    • 消息类产品API
    • Messenger
    智齿科技
    2024-04-28
    目录

    Facebook Messenger API

    # Facebook Messenger API

    # 接口声明

    在调用接口时必须在 https 请求的 header 中携带 "token" 参数。

    Token 是智齿客服接口开放平台全局唯一的接口调用凭据。 开发者在调用各业务接口时都需使用 Token,开发者需要进行妥善保存。 Token 的存储至少要保留 32 个字符空间。Token 的有效期目前为 24 个小时,需定时刷新,或根据接口返回的 Token 失效提示,进行重新获取。请求 Token 接口,无论 Token 是否存在,都会返回新的 Token,并重置 Token 的过期时间(目前 24 小时)。

    Token 使用方式说明: 1、开发者需要统一获取和管理 Token,在调用智齿客服各个业务开放接口时都应该使用同一个的 Token,不应该每个业务都刷新获取新的 Token,否则容易导致 Token 失效,影响接口的正常调用; 2、目前 Token 的有效期通过返回的 expire_in 来传达,目前是 86,400 秒之内的值。开发者需要根据这个有效时间提前去刷新新 Token。 3、开发者需要根据接口返回的 Token 失效提示,进行重新获取 Token。

    # 接口调用

    # ● 获取Token

    接口说明:

    获取 API 开放接口 Token,此 Token 仅适用于智齿开放平台 5.0 版本全部 API 接口 。API 接口中的参数 appid 、 app_key 请联系智齿售后人员获取。

    请求方式:

    GET

    请求地址:

     https://sg.sobot.com/api/get_token
    
    1

    请求参数:

    参数 类型 必填 描述
    appid String 是 接口凭证 Id,第三方用户接口调用唯一凭证 id
    create_time String 是 10位数时间戳
    sign String 是 签名 md5(appid+create_time+app_key)

    返回参数:

    参数 类型 必填 描述
    ret_code String 是 返回编码
    ret_msg String 是 返回信息
    item Object 否 返回对象

    item 对象:

    参数 类型 必填 描述
    token String 是 token 编码
    expires_in String 是 凭证有效时间,单位:秒

    时间戳转换参考工具:

    http://tool.chinaz.com/Tools/unixtime.aspx
    
    1

    sign 签名生成示例:

    例如,appid = "1"; create_time="1569397773"; app_key="2"

    sign = Md5("115693977732") 为 258eec3118705112b2c53dc8043d4d34。

    请求示例:

    curl https://sg.sobot.com/api/get_token?appid=1&create_time=1569397773&sign=258eec3118705112b2c53dc8043d4d34
    
    1

    返回示例:

    {
      "item": {
        "token": "4ac37cb2e9c740dba4b75a34d5358802",
        "expires_in": "86400"
      },
      "ret_code": "000000",
      "ret_msg": "操作成功"
    }
    
    1
    2
    3
    4
    5
    6
    7
    8

    # 发送消息

    请求方式:

    POST

    请求地址:

     https://sg.sobot.com/chat-facebook/api/messenger/send
    
    1

    请求参数:

    参数 类型 必填 描述
    messaging_type String 否 RESPONSE(用于回复已收到消息的消息。这包括在 24 小时标准消息时间范围内发送的推广消息和非推广消息。例如,在用户询问预约确认或状态更新情况时,您可以使用此标签回复)
    UPDATE(主动发出且并非用于回复已收到消息的消息。这包括在 24 小时标准消息时间范围内发送的推广消息和非推广消息)
    MESSAGE_TAG(属于非推广消息的消息,而且是在 24 小时标准消息时间范围过后使用消息标签发出)
    recipientid String 否 当发送非营销消息时必填,和recipient_token互斥(接收方)
    recipient_token String 否 当发送营销消息时必填(接收方)
    pageid String 是 发送方
    type String 是 text/image/audio/video/file/template (固定值)
    tag String 否 当messaging_type为 MESSAGE_TAG 为必填
    payload Object 是 消息内容
    subjectid String 否 营销主题id

    tag参数:

    参数 类型 必填 描述
    ACCOUNT_UPDATE String 否 将您要向客户发送的消息标记为针对其申请或帐户的不定期更新
    CONFIRMED_EVENT_UPDATE String 否 将您要向客户发送的消息标记为近期事件的提醒,或客户已报名参加的进行中事件的更新
    HUMAN_AGENT String 否 在向客户发送的消息中添加此标签后,人工客服便可回复用户消息
    POST_PURCHASE_UPDATE String 否 将您要向客户发送的消息标记为针对客户最近购买行为的更新
    # 1. payload示例

    1.1 type为 text 类型

    {
       "messaging_type":"RESPONSE",
       "recipientid":"RECIPIENTID",
       "pageid":"PAGEID",
       "type":"text",
       "payload":"What do you want to do next?",
       "subjectid": "MARKETING SUBJECT ID"
    }
    
    1
    2
    3
    4
    5
    6
    7
    8

    1.2 type为 image/audio/video/file 类型

    {
       "messaging_type":"RESPONSE",
       "recipientid":"RECIPIENTID",
       "pageid":"PAGEID",
       "type":"image",
      "subjectid": "MARKETING SUBJECT ID"
      "payload": {
           "url":"https://sg.sobot.com/console/common/face/admin.png"
       },
       "subjectid": "MARKETING SUBJECT ID"
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    1.3 messaging_type为 MESSAGE_TAG 类型

    {
       "messaging_type":"MESSAGE_TAG",
       "recipientid":"RECIPIENTID",
       "pageid":"PAGEID",
       "type":"text",
       "tag": "ACCOUNT_UPDATE",
       "payload":"What do you want to do next?",
       "subjectid": "MARKETING SUBJECT ID"
    
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    1.4 type为 template 类型

    • 1.4.1 模板类型为button
    参数 类型 必填 描述
    template_type String 是 button(固定值)
    text String 是 不超过 640 个字符。文本将显示在按钮上方
    buttons Array 是 一组按钮(数量为 1 至 3 个)
    {
       "messaging_type":"RESPONSE",
       "recipientid":"RECIPIENTID",
       "pageid":"PAGEID",
       "type":"template",
       "payload": {
           "template_type":"button",
            "text":"What do you want to do next?",
            "buttons":[
            {
              "type":"web_url",
              "url":"https://www.messenger.com",
              "title":"Visit Messenger"
           }]
       },
       "subjectid": "MARKETING SUBJECT ID"
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    • 1.4.2 模板类型为generic
    参数 类型 必填 描述
    template_type String 是 generic(固定值)
    elements Array 是 不超过 640 个字符。文本将显示在按钮上方
    buttons Array 是 一组按钮(数量为 1 至 3 个)

    elements对象:

    参数 类型 必填 描述
    title String 是 模板标题,不超过 80 个字符。
    subtitle String 否 模板中显示的副标题。不超过 80 个字符。
    image_url String 否 模板中显示图片的网址。
    default_action object 否 点击模板时执行的默认操作
    buttons Array 否 一组按钮(数量为 1 至 3 个)
    {
       "messaging_type":"RESPONSE",
       "recipientid":"RECIPIENTID",
       "pageid":"PAGEID",
       "type":"template",
       "payload": {
           "template_type":"generic",
            "elements":[
               {
                "title":"Welcome!",
                "image_url":"https://petersfancybrownhats.com/company_image.png",
                "subtitle":"We have the right hat for everyone.",
                "default_action": {
                  "type": "web_url",
                  "url": "https://petersfancybrownhats.com/view?item=103",
                  "messenger_extensions": false,
                  "webview_height_ratio": "tall",
                  "fallback_url": "https://petersfancybrownhats.com/"
                },
                "buttons":[
                  {
                    "type":"web_url",
                    "url":"https://petersfancybrownhats.com",
                    "title":"View Website"
                  },{
                    "type":"postback",
                    "title":"Start Chatting",
                    "payload":"DEVELOPER_DEFINED_PAYLOAD"
                  }              
                ]      
              }
          ]
       },
       "subjectid": "MARKETING SUBJECT ID"
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    • 1.4.3 模板类型为media
    参数 类型 必填 描述
    template_type String 是 media(固定值)
    elements Array 是 不超过 640 个字符。文本将显示在按钮上方

    elements对象:

    参数 类型 必填 描述
    media_type String 是 image/video
    attachment_id String 是 媒体id
    {
       "messaging_type":"RESPONSE",
       "recipientid":"RECIPIENTID",
       "pageid":"PAGEID",
       "type":"template",
       "payload": {
           "template_type":"media",
            "elements":[
            {
              "media_type":"image|video",
              "attachment_id":"ATTACHMENT_ID"
           }]
       },
       "subjectid": "MARKETING SUBJECT ID"
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    使用Facebook网址

    参数 类型 必填 描述
    media_type String 是 image/video
    url String 是 仅支持Facebook网址
    {
       "messaging_type":"RESPONSE",
       "recipientid":"RECIPIENTID",
       "pageid":"PAGEID",
       "type":"template",
       "payload": {
           "template_type":"media",
            "elements":[
            {
              "media_type":"image|video",
              "url": "FACEBOOK_URL"
           }]
       },
       "subjectid": "MARKETING SUBJECT ID"
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    # 上传附件

    请求方式:

    该上传方式为异步上传,返回track_id。上传结果通过webhook返回。

    POST

    请求地址:

     https://sg.sobot.com/chat-facebook/api/messenger/upload_async
    
    1

    请求参数:

    参数 类型 必填 描述
    pageid String 是 主页id
    type String 是 image/audio/video/file (固定值)
    payload Object 是 附件路径

    请求示例:

    {
       "pageid":"PAGEID",
       "type":"image",
       "payload":{
          "url":"URL"
        }
    }
    
    1
    2
    3
    4
    5
    6
    7

    返回示例:

    {
      "item": "d13415bb2b704e58aa373bb5e0e11914",
      "ret_code": "000000",
      "ret_msg": "成功"
    }
    
    1
    2
    3
    4
    5

    attachment_id通过webhook返回,可根据item作为track_id追踪

    {
      "track_id": "d13415bb2b704e58aa373bb5e0e11914",
      "attachment_id": "1234567890"
    }
    
    1
    2
    3
    4

    # 查询订阅主题用户

    请求方式:

    GET

    请求地址:

     https://sg.sobot.com/chat-facebook/api/messenger/query_sub_users
    
    1

    请求参数:

    参数 类型 必填 描述
    appid String 是 主页id
    title String 是 订阅主题名称
    page_no Integer 是 当前页数(默认从第一页)
    page_size Integer 是 每页条数(默认每页100条)

    请求示例:

    curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://sg.sobot.com/chat-facebook/api/messenger/query_sub_users?appid=22222222&title=test&page_no=1&page_size=100
    
    1

    返回参数:

    参数 类型 必填 描述
    ret_code String 是 返回编码
    ret_msg String 是 返回信息
    items List 否 对象列表
    page_count Integer 是 总页数
    page_no Integer 是 当前页数
    page_size Integer 是 每页条数
    total_count Integer 是 总条数

    items集合:

    参数 类型 必填 描述
    companyid String 是 公司id
    create_time Long 是 创建时间
    facebookid String 是 用户id
    pageid String 是 公共主页id
    sub_status Integer 是 订阅状态(1 已订阅 0 已退订)
    sub_title String 是 订阅主题
    sub_token String 是 用户token
    timezone String 是 时区
    title_describe String 是 订阅主题描述
    update_time String 是 订阅状态更新时间

    返回示例:

    {
        "items": [
            {
                "companyid": "5f5262b52feb463bbf4e732323sdgfset",
                "create_time": 1715079942588,
                "facebookid": "5611755588",
                "pageid": "1087397686",
                "sub_status": 1,
                "sub_title": "nice day",
                "sub_token": "6956578469XXXXXX",
                "timezone": "UTC",
                "title_describe": "132",
                "update_time": 1715155761777
            }
        ],
        "page_count": 1,
        "page_no": 1,
        "page_size": 15,
        "ret_code": "000000",
        "ret_msg": "成功",
        "total_count": 1
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22

    # Webhook消息转发

    请求地址:

       webhook通知消息返回示例, 在智齿管理中心后台配置
    
    1
    # 1. 文本

    返回示例:

    {
    	"object": "page",
    	"entry": [{
    		"time": 1714120447751,
    		"id": "110661988000000",
    		"messaging": [{
    			"sender": {
    				"id": "524807506000000"
    			},
    			"recipient": {
    				"id": "110661988000000"
    			},
    			"timestamp": 1714120446870,
    			"message": {
    				"mid": "m_hAxxtkOsBG8UEtO0RQNcwPgfxWKYaLWowT0Z7iLv",
    				"text": "11"
    			}
    		}]
    	}]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    # 2. 视频

    返回示例:

    {
    	"object": "page",
    	"entry": [{
    		"time": 1714120224310,
    		"id": "110661988000000",
    		"messaging": [{
    			"sender": {
    				"id": "5248075068000000"
    			},
    			"recipient": {
    				"id": "110661988000000"
    			},
    			"timestamp": 1714120223681,
    			"message": {
    				"mid": "m_6RK4gK9eklpa6uPCNFvNEvgfxWKYaLWowT0Z7iLv8BXpnCPA8KDnJOQOD26NINRuF",
    				"attachments": [{
    					"type": "video",
    					"payload": {
    						"url": "URL"
    					}
    				}]
    			}
    		}]
    	}]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # 3. 图片

    返回示例:

    {
    	"object": "page",
    	"entry": [{
    		"time": 1714120138060,
    		"id": "110661988000000",
    		"messaging": [{
    			"sender": {
    				"id": "524807506000000"
    			},
    			"recipient": {
    				"id": "110661988000000"
    			},
    			"timestamp": 1714120137558,
    			"message": {
    				"mid": "m_378ZrH7cpKmUUlmqOi5jQPgfxWKYaLWowT0Z7iLv8BWDeU",
    				"attachments": [{
    					"type": "image",
    					"payload": {
    						"url": "URL"
    					}
    				}]
    			}
    		}]
    	}]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # 4. 文件

    返回示例:

    {
    	"object": "page",
    	"entry": [{
    		"time": 1714120108440,
    		"id": "110661988000000",
    		"messaging": [{
    			"sender": {
    				"id": "5248075068000000"
    			},
    			"recipient": {
    				"id": "110661988000000"
    			},
    			"timestamp": 1714120107805,
    			"message": {
    				"mid": "m_0xp5Sj8GPFoLroU33qbcjPgfxWKYaLWowT0Z7iLv8BWnRj",
    				"attachments": [{
    					"type": "file",
    					"payload": {
    						"url": "URL"
    					}
    				}]
    			}
    		}]
    	}]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # ● 消息发送状态通知
    状态属性 状态含义
    delivery 已送达
    read 已阅读
    # 1. 已送达

    返回示例:

    {
    	"object": "page",
    	"entry": [{
    		"time": 1714120251647,
    		"id": "110661988000000",
    		"messaging": [{
    			"sender": {
    				"id": "5248075068000000"
    			},
    			"recipient": {
    				"id": "110661988000000"
    			},
    			"timestamp": 1714120251542,
    			"delivery": {
    				"mids": ["m_UdMtmDiovEo-vSR_awTk2_gfxWKYaLWowT0Z7iLv8BVMtn2OGld3BIc2naK-pB2hE"],
    				"watermark": 1714120250796
    			}
    		}]
    	}]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    # 2. 已阅读

    返回示例:

    {
    	"object": "page",
    	"entry": [{
    		"time": 1714120249177,
    		"id": "110661988000000",
    		"messaging": [{
    			"sender": {
    				"id": "5248075068000000"
    			},
    			"recipient": {
    				"id": "110661988000000"
    			},
    			"timestamp": 1714120248829,
    			"read": {
    				"watermark": 1714120247551
    			}
    		}]
    	}]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    # 3. 订阅

    返回示例:

    {
    	"object": "page",
    	"entry": [{
    		"id": "110661988000000",
    		"time": 1714119984959,
    		"messaging": [{
    			"sender": {
    				"id": "524807506000000"
    			},
    			"recipient": {
    				"id": "110661988000000"
    			},
    			"timestamp": 1714119984091,
    			"optin": {
    				"type": "notification_messages",
    				"payload": "描述",
    				"notification_messages_token": "863341894114000000",
    				"token_expiry_timestamp": 2145916800000,
    				"user_token_status": "NOT_REFRESHED",
    				"notification_messages_timezone": "UTC",
    				"title": "订阅主题"
    			}
    		}]
    	}]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # 4. 取消订阅

    返回示例:

    {
    	"object": "page",
    	"entry": [{
    		"id": "110661988000000",
    		"time": 1714120013874,
    		"messaging": [{
    			"recipient": {
    				"id": "110661988000000"
    			},
    			"timestamp": 1714120013874,
    			"sender": {
    				"id": "524807506000000"
    			},
    			"optin": {
    				"type": "notification_messages",
    				"payload": "描述",
    				"notification_messages_token": "86334189411000000",
    				"token_expiry_timestamp": 2145916800000,
    				"user_token_status": "NOT_REFRESHED",
    				"notification_messages_status": "STOP_NOTIFICATIONS",
    				"title": "订阅主题"
    			}
    		}]
    	}]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # 5. 重新订阅

    返回示例:

    {
    	"object": "page",
    	"entry": [{
    		"id": "110661988000000",
    		"time": 1714120082018,
    		"messaging": [{
    			"recipient": {
    				"id": "110661988000000"
    			},
    			"timestamp": 1714120082018,
    			"sender": {
    				"id": "524807506000000"
    			},
    			"optin": {
    				"type": "notification_messages",
    				"payload": "描述",
    				"notification_messages_token": "863341894114000000",
    				"token_expiry_timestamp": 2145916800000,
    				"user_token_status": "NOT_REFRESHED",
    				"notification_messages_status": "RESUME_NOTIFICATIONS",
    				"title": "订阅主题"
    			}
    		}]
    	}]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25

    # 订阅主题管理

    # ● 创建或修改订阅主题

    请求方式:

    POST

    请求地址:

     https://sg.sobot.com/chat-facebook/api/messenger/create_or_update_title
    
    1

    请求参数:

    参数 类型 必填 描述
    appid String 是 主页Id
    title String 是 订阅主题
    describe String 是 订阅主题描述
    image_ratio String 是 见:image_ratio参数:
    button_type String 是 见:button_type参数:
    image_url String 否 图片链接
    timezone String 否 时区
    configid String 否 如果是修改,传入config_id

    image_ratio参数:

    参数 含义
    SQUARE 1:1
    HORIZONTAL 1.91:1

    button_type参数:

    参数 含义
    ALLOW 允许接收消息
    GET 接收消息
    GET_UPDATES 接收动态更新
    OPT_IN 选择接收消息
    SIGN_UP 订阅消息

    请求示例:

    curl https://sg.sobot.com/chat-facebook/api/messenger/create_or_update_title
    -X POST 
    -H 'content-type:application/json'
    -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' 
    -d '{
        "appid": "106474898833640",
        "title": "测试",
        "describe": "这是一条测试消息",
        "image_url": "https://xxx.xx.com/xxx/image.png",
        "image_ratio": "SQUARE",
        "button_type": "ALLOW",
        "timezone": "UTC"
    }'
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    返回示例:

    {
      "item": "4ac37cb2e9c740dba4b75a34d5358802",
      "ret_code": "000000",
      "ret_msg": "成功"
    }
    
    1
    2
    3
    4
    5
    # ● 删除订阅主题

    请求方式:

    GET

    请求地址:

     https://sg.sobot.com/chat-facebook/api/messenger/del_title
    
    1

    请求参数:

    参数 类型 必填 描述
    configid String 是 主题id

    请求示例:

    curl -XGET https://sg.sobot.com/chat-facebook/api/messenger/del_title?configid=482716046a4242e7a5fa42e18d943ae0655810 
    -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' 
    
    1
    2

    返回示例:

    {
      "ret_code": "000000",
      "ret_msg": "成功"
    }
    
    1
    2
    3
    4
    # ● 查询订阅主题

    请求方式:

    POST

    请求地址:

     https://sg.sobot.com/chat-facebook/api/messenger/get_title_list
    
    1

    请求参数:

    参数 类型 必填 描述
    start_time Long 否 创建开始时间(毫秒级)
    end_time Long 否 创建结束时间(毫秒级)
    appids String 否 主页id(多个按到逗号分割)
    title String 否 订阅主题
    page_no Integer 是 查询页数,默认:1
    page_size Integer 是 查询条数,默认:15

    请求示例:

    curl https://sg.sobot.com/chat-facebook/api/messenger/get_title_list
    -X POST 
    -H 'content-type:application/json'
    -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' 
    -d '{
        "start_time": 1317698342419,
        "end_time": 1573693149125,
        "appids": "11,22,33",
        "title": "测试",
        "page_no": 1,
        "page_size": 15
    }'
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    返回示例:

    {
      "item": [
        {
          "companyid": "c72d7e67c0f64d38879747c9cfd68e85",
          "create_time": 1713871710134,
          "timezone": "UTC",
          "button_type": "ALLOW",
          "image_url": "https://xxx.xx.com/xxx/image.png",
          "title": "测试",
          "app_name": "爱你一万年",
          "update_time": 1713871710134,
          "configid": "10d7de1db4884c43b4b88e3fcbbf47d2",
          "image_ratio": "SQUARE",
          "describe": "这是一条测试消息",
          "appid": "106474898833640"
        }
      ],
      "page_count": 1,
      "page_no": 1,
      "page_size": 15,
      "ret_code": "000000",
      "ret_msg": "成功",
      "total_count": 1
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24

    # 发送optin消息

    请求方式:

    POST

    请求地址:

      https://sg.sobot.com/chat-facebook/api/messenger/send_opt_in_message
    
    1

    请求参数:

    参数 类型 必填 描述
    appid String 是 主页id
    title String 是 订阅主题
    recipientid String 是 facebook用户ID
    describe String 否 订阅主题描述
    image_url String 否 图片链接
    image_ratio String 否 图片比例
    button_type String 否 按钮类型
    timezone String 否 时区

    请求示例:

    curl https://sg.sobot.com/chat-facebook/api/messenger/send_opt_in_message
    -X POST 
    -H 'content-type:application/json'
    -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' 
    -d '{
        "appid": "106474898833640",
        "title": "测试",
        "recipient_id": "123456789"
    }'
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    返回示例:

    {
      "item": {
        "message_id": "m_PWpxCEkBhmD6guuH7FnlVtlnpgH1w6kCmPWZypSP-IHxHmHwJf02vcR2t3tE2HGTtzEm27GCqXLyIhG4WazTDw",
        "recipient_id": "123456789"
      },
      "ret_code": "000000",
      "ret_msg": "成功"
    }
    
    1
    2
    3
    4
    5
    6
    7
    8

    # 查询群发任务数据

    接口说明:查询群发任务数据

    请求方式:

    POST

    请求地址:

     https://sg.sobot.com/chat-set/api/messenger/query_task_list
    
    1

    请求参数:

    参数 类型 必填 描述
    task_start_time Long 否 任务开始时间(形如:1714295033250)
    task_end_time Long 否 任务结束时间(形如:1714295033250)
    sender String 否 sender(公共主页)
    task_name String 否 任务名称
    message_topic_or_tag String 否 订阅主题/消息标签 (消息标签编码参数见:message_tag类型)
    message_type Integer 否 消息类型(1.营销消息 2.消息标签)
    subjectid String 否 营销主题id
    page_no Integer 否 开始页 (默认1)
    page_size Integer 否 查询条数(默认15,最大100)

    返回参数:

    参数 类型 描述
    ret_code String 返回编码
    ret_msg String 返回信息
    items List 返回对象
    page_count Integer 总页数
    page_no Integer 开始页
    page_size Integer 条数
    total_count Integer 总条数

    items 对象:

    参数 类型 描述
    task_name String 任务名称
    task_source Integer 任务来源(1.营销群发)
    taskid String 任务ID
    timezone String 时区
    task_start_time String 任务开始时间
    task_end_time String 任务结束时间
    send_time_type Integer 发送类型(1.立即发送 2定时发送)
    estimate_send_num Long 预计发送数
    send_success_num Long 发送成功数
    send_error_num Long 发送失败数
    already_send_num Long 已送达数
    already_read_num Long 已阅读数
    reply_data_num Long 已回复数
    subjectid String 营销主题id

    请求示例:

    curl https://sg.sobot.com/chat-set/api/messenger/query_task_list
    -X POST 
    -H 'content-type:application/json'
    -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' 
    -d '{
        "page_no": 1,
        "page_size": 15,
        "task_start_time": 1714295033250,
        "task_end_time": 1714295033250,
        "sender": "123456",
        "task_name": "测试",
        "message_topic_or_tag":"测试主题",
        "message_type":1,
        "subjectid": "12345678"
    }'
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    返回示例:

    {
      "items": [
        {
          "task_name": "123",
          "estimate_send_num": 3,
          "task_source": 1,
          "timezone": "GMT+08:00",
          "reply_data_num": 0,
          "task_start_time": "2024-07-18 20:02:58",
          "send_error_num": 2,
          "task_end_time": "2024-07-18 20:03:10",
          "send_success_num": 1,
          "already_send_num": 1,
          "send_time_type": 1,
          "taskid": "91f9dba1879c4a5ebc778c03665a7a47",
          "already_read_num": 0,
          "subjectid": "12345678"
        },
        {
          "task_name": "excel88_copy热二次 ",
          "estimate_send_num": 1,
          "task_source": 1,
          "timezone": "GMT+08:00",
          "reply_data_num": 0,
          "task_start_time": "2024-07-18 19:54:03",
          "send_error_num": 11,
          "task_end_time": "2024-07-18 19:54:10",
          "send_success_num": 0,
          "already_send_num": 0,
          "send_time_type": 1,
          "taskid": "5004117ee78c4328b6d5f29faaa17413",
          "already_read_num": 0,
          "subjectid": "12345678"
        }
      ],
      "page_count": 12,
      "page_no": 1,
      "page_size": 2,
      "ret_code": "000000",
      "ret_msg": "操作成功",
      "total_count": 24
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42

    # 查询发送记录

    接口说明:查询发送记录数据

    请求方式:

    POST

    请求地址:

     https://sg.sobot.com/chat-set/api/messenger/send_record_list
    
    1

    请求参数:

    参数 类型 必填 描述
    send_start_time Long 否 发送开始时间(形如:1714295033250)[默认查询最近一个月]
    send_end_time Long 否 发送结束时间(形如:1714295033250)[默认查询最近一个月]
    messageid String 否 消息id
    message_status String 否 消息状态(见:message_status参数)
    taskid String 否 任务id
    task_name String 否 任务名称
    send_agentid String 否 发送人
    sender String 否 sender(公共主页)
    recipient String 否 接收人
    message_topic_or_tag String 否 订阅主题/消息标签 (消息标签编码参数见:message_tag类型)
    subjectid String 否 营销主题id
    page_no Integer 否 开始页 (默认1)
    page_size Integer 否 查询条数(默认15,最大100)

    返回参数:

    参数 类型 描述
    ret_code String 返回编码
    ret_msg String 返回信息
    items List 返回对象
    page_count Integer 总页数
    page_no Integer 开始页
    page_size Integer 条数
    total_count Integer 总条数

    items 对象:

    参数 类型 描述
    task_name String 任务名称
    error_code String 错误日志(详情见:error_code错误码 )
    timezone String 时区
    messageid String 消息ID
    taskid String 任务ID
    recipient_id String 接收人ID
    send_agentid String 发送人
    send_time Long 发送时间
    sender String sender(公共主页)
    status_update_time Long 状态更新时间
    message_topic_or_tag String 订阅主题/消息标签
    subjectid String 营销主题id

    请求示例:

    curl https://sg.sobot.com/chat-set/api/messenger/send_record_list
    -X POST 
    -H 'content-type:application/json'
    -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' 
    -d '{
        "items": [
            {
                "task_name": "测试一下_copy_copy",
                "send_time": 1717051932316,
                "message_topic_or_tag": "订阅主题你好了吗",
                "sender": "110661988252225",
                "timezone": "GMT+08:00",
                "messageid": "m_5ya2l01zq7cWZowdCAJ87-bKbz_gk7K-4b2fv6QOA4iY4_a_R44RmPh8Nz4I_oFnwls4matTIkLcD8DUFJLS9g",
                "error_code": "000000",
                "send_agentid": "3bdc079ab21d4db1847e36ae752e1048",
                "taskid": "17fe5afc271d48769f2e4bb24cf6a4f4",
                "recipient_id": "7608034689289950",
                "status_update_time": 1717051932316,
                "subjectid": "12345678"
            },
            {
                "task_name": "测试一下_copy_copy",
                "send_time": 1717051930714,
                "message_topic_or_tag": "订阅主题你好了吗",
                "sender": "110661988252225",
                "timezone": "GMT+08:00",
                "error_code": "1893015",
                "send_agentid": "3bdc079ab21d4db1847e36ae752e1048",
                "taskid": "17fe5afc271d48769f2e4bb24cf6a4f4",
                "recipient_id": "7336944743071365",
                "status_update_time": 1717051930714,
                "subjectid": "12345678"
            }
        ],
        "page_count": 1,
        "page_no": 1,
        "page_size": 100,
        "ret_code": "000000",
        "ret_msg": "操作成功",
        "total_count": 2
    }'
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41

    返回示例:

    {
        "items": [
            {
                "task_name": "嗯文件啊啊啊",
                "send_time": 1715839580345,
                "message_topic_or_tag": "ACCOUNT_UPDATE",
                "sender": "111756121635281",
                "timezone": "GMT+08:00",
                "messageid": "m_uR4fzPWk4y22dnJy95ts0FG1RsvrHC5RZ_wqwyIGTcMIwEx-Smscjvw5V3CqquPDLFgXk87RBNXsVEioobBf_g",
                "error_code": "000000",
                "send_agentid": "8532a283d2df41cc9a212bace7bf1d0b",
                "taskid": "0fd27d6f98524995bfa03a5487a23ba7",
                "recipient_id": "5194793377264405",
                "status_update_time": 1716187640915,
                "subjectid": "12345678"
            }
        ],
        "page_count": 1,
        "page_no": 1,
        "page_size": 15,
        "ret_code": "000000",
        "ret_msg": "操作成功",
        "total_count": 1
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24

    # 错误编码

    # ● 操作成功
    错误编码 错误说明
    000000 操作成功(除此编码以外的编码为错误编码)
    # ● 系统异常
    错误编码 错误说明
    900001 token 为空
    900002 token 已失效,请重新获取
    999999 系统未知异常
    # ● 业务异常
    错误编码 错误说明
    210001 Facebook主页ID不能为空
    210002 Facebook主页ID不存在或者输入错误
    210003 订阅主题不能为空
    210004 订阅主题长度不能超过65个字符
    210005 订阅主题描述不能为空
    210006 订阅主题描述不能超过65个字符
    210007 按钮类型不能为空
    210008 当前主页下订阅主题已存在
    210009 用户Facebook ID不能为空
    210010 系统上不存在该主页的订阅主题
    210011 修改订阅主题不支持修改主页ID和订阅主题
    210012 图片比例不能为空
    210013 传入的configID不正确或已删除
    # ● message_tag类型
    编码 含义说明
    CONFIRMED_EVENT_UPDATE 活动更新提醒
    POST_PURCHASE_UPDATE 商品购买更新提醒
    ACCOUNT_UPDATE 账号更新提醒
    # ● message_status
    参数 描述
    0 已发送
    1 已送达
    2 已阅读
    9 发送失败
    # ● error_code
    参数 描述
    1 出现未知错误。
    1357046 收到无效的 JSON 回复。
    2 发生意外的错误。请稍后重试您的请求。
    2018344 服务暂时不可用
    4 速率限制错误:已达到应用程序请求限制。
    2018354 营销消息 – 给定通知的 2 个通知之间必须有最小延迟
    2018352 用户执行过多操作
    10 没有与即时游戏相关的页面的权限。
    1404170 应用程序没有执行此操作的权限
    1893015 该用户当前已停止发送该主题的通知消息
    2018336 用户线程影响
    2534022 此消息在允许的窗口之外发送。
    2534077 无法验证 IG 帐户、登录用户和页面之间的连接。请尝试重新连接或验证用户是否需要双因素身份验证。
    2018278 此消息在允许的窗口之外发送。在此了解有关新政策的更多信息
    2018065 此消息在允许的窗口之外发送。您需要新闻消息权限才能执行此操作。
    2018108 此人无法接收消息:此人现在没有接收来自您的消息。
    100 检查以确保您使用的 ID 或令牌有效。
    33 确保请求中的 ID 存在,并且您的应用具有访问它的适当权限。
    2018001 找不到匹配的用户
    2018008 无法从 url 获取文件。检查 URL 是否有效、SSL 证书是否有效、文件大小是否有效,以及服务器的响应速度是否足够快以避免超时。
    2018014 无法同时发送消息和状态。
    2018047 上传附件失败。触发此错误的常见方法是提供的媒体类型与 URL 中提供的文件类型不匹配。
    2018074 ID 可能无效或者您不拥有该附件。
    2018109 附件大小超出允许限制
    2018164 应用程序 ID 不正确。
    2018294 视频上传超时或视频已损坏。请注意,如果无法在 75 秒内获取视频,则会超时。
    2018320 产品 ID 无效
    2018328 版本 8 以下不支持产品模板。请使用 API 版本 8 或更高版本来使用产品模板。
    2534013 该页面未链接到 Instagram 帐户
    2534014 没有匹配的 Instagram 用户
    2534015 消息数据无效
    2534025 该评论对于私人回复无效
    2534029 该企业已被禁止通过 IG Messaging API 发送消息
    2534037 该操作无效,因为它不是线程所有者。
    190 访问令牌错误:OAuth 访问令牌无效。
    200 权限错误:在审核pages_messaging权限并且应用程序上线之前,无法向非应用程序管理员、开发人员或测试人员的用户发送消息。
    1545041 消息未发送:此人现在没空。
    2018021 除非接收用户是应用程序的管理员、开发人员或测试人员,否则需要通过此页面支付电话匹配访问费。
    2018027 在审核pages_messaging_phone_number 权限并且应用程序上线之前,无法向非应用程序管理员、开发人员或测试人员的用户发送消息。
    2018028 在审核 page_messaging 权限并且应用程序上线之前,无法向非应用程序管理员、开发人员或测试人员的用户发送消息。
    2534041 帐户所有者已禁止访问Instagram 私信。
    551 用户阻止错误:此人现在没有收到您的消息。
    1545041 此人现在没空。此人现在没空。
    1893016 超出服务范围:您不得向用户发送多个具有同一主题的选择加入请求。
    2018338 警告!您的行为可能被用户认为是令人烦恼或辱骂的。您必须显着降低使用消息标签向此人发送消息的速率。进一步滥用 API 功能可能会导致您的主页受到消息传递限制
    2534040 对该 api 的调用已超出速率限制。
    2022 发送商业消息的功能已被暂时禁用。这是在违反策略后设置功能限制的结果。
    10303 帐户链接错误:account_linking_token 无效。
    24001 用户取消支付流程
    24002 由于缺少隐私 URL,无法处理付款请求
    24005 获取用户ID失败
    36103 在 Instagram 分阶段推出期间加入创作者帐户
    2018144 目前无法向用户发送即时游戏消息,自上次玩游戏以来的 10 天内只能向用户发送 5 条通知。
    2018154 Messenger 扩展意外错误
    2018163 开始共享参数验证错误
    2018166 调用SDK API权限无效
    2018171 仅适用于主要和次要接收者。
    2018218 该用户没有可用的个人资料。
    2018234 拒绝任何辅助接收器对除自身之外的另一个辅助接收器的可见性。
    2018247 没有足够的权限访问用户配置文件。
    2018300 消息发送失败,因为另一个应用程序现在正在控制该线程。
    2018321 当前,当用户处于自动问答流程时,聊天由 Messenger 控制。请等待流程完成,然后再重试。
    2071010 此 Messenger 客户端不支持此 SDK 方法。请升级
    2071011 Messenger 扩展未启用 - 可能是 URL 上未设置“messenger_extensions”、域未添加到允许列表中或者这是 Messenger 客户端的过时版本
    2071014 提供给 SDK API 调用的 MessageContent 无效
    2071015 消息内容中提供的标题字符串无效
    2071016 消息内容中提供的字幕字符串无效
    2071017 消息内容中提供的图像 URL 无效
    2071018 消息内容中提供的项目 URL 无效
    2071019 消息内容中提供的按钮数据无效
    2071020 消息内容中缺少 URL 数据。请提供 item_url、button_url 或两者
    2071021 beginShareFlow 调用中提供的共享类型无效
    2071022 开始共享流消息内容中的附件无效
    2071023 消息内容中的附件类型必须设置为模板
    2071024 消息内容附件中的负载无效
    2071025 消息内容中提供的打开图 URL 无效
    9000001 该消息已被用户或企业删除。
    1893022 消息涉及实验。
    000000 --
    999997 返回数据解析异常
    999998 Facebook Id 不存在
    999999 用户未订阅
    上次更新: 2025/3/17 10:40:20

    ← iOS SDK 推送SDK集成文档 LINE API→

    最近更新
    01
    运营支持 API
    03-03
    02
    CRM 对接方案
    12-05
    03
    大模型机器人API
    09-09
    更多文章>
    Theme by Vdoing
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式