WeChat Mini Program API는 메시지와 이벤트를 수신합니다.
메시지 및 이벤트 받기
페이지에서 <contact-button/>
를 사용하면 고객 서비스 세션에 입장할 수 있는 버튼이 표시됩니다.
사용자가 고객 서비스 세션에서 메시지를 보내면(또는 특정 특정 사용자 작업으로 인해 발생하는 이벤트를 푸시하면) WeChat 서버는 메시지(또는 이벤트) 패킷(JSON 또는 XML 형식)을 개발자. 요청을 받은 후 개발자는 고객 서비스 메시지 인터페이스를 사용하여 비동기적으로 응답할 수 있습니다.
WeChat 서버가 사용자의 메시지를 미니 프로그램의 개발자 서버 주소(개발 설정에서 구성)로 보낸 후, WeChat 서버가 5초 이내에 응답을 받지 못하면 연결을 끊고 요청을 다시 시작하며 세 번의 시도를 다시 시도합니다. 디버깅 중에 사용자가 응답 메시지를 받을 수 없는 경우 메시지 처리 시간이 초과되었는지 확인할 수 있습니다. 재시도 메시지 중복 제거와 관련하여 msgid를 사용하여 msgid로 메시지를 중복 제거하는 것이 좋습니다. 중복을 제거하려면 이벤트 유형 메시지에 대해 FromUserName + CreateTime을 사용하는 것이 좋습니다.
서버가 요청을 수신하고 #고객 서비스 도구로 전달할 필요가 없는# 경우 WeChat 서버가 해당 요청에 대해 아무 작업도 수행하지 않고 재시도를 시작하지 않도록 다음과 같이 응답해야 합니다. , 심각한 오류 메시지가 나타납니다. 자세한 내용은 아래 지침을 참조하세요.
1、直接回复success(推荐方式) 2、直接回复空串(指字节长度为0的空字符串,而不是结构体中content字段的内容为空)
다음 상황이 발생하면 WeChat은 미니 프로그램 세션에서 사용자에게 "이 미니 프로그램 고객 서비스에서 일시적으로 서비스를 제공할 수 없습니다. 나중에 다시 시도하십시오"라는 시스템 메시지를 표시합니다.
1、开发者在5秒内未回复任何内容 2、开发者回复了异常数据
개발된 경우 메시지나 이벤트를 고객 서비스 도구로 전달하려면 고객 서비스 도구로 메시지 전달을 참조하세요. 고객 서비스 도구에 접근하려면 고객 서비스 도구 지침을 참조하세요
개발자가 보안을 강화하려면 개발자 센터에서 메시지 암호화를 켜면 됩니다. 이런 식으로 사용자가 미니 프로그램에 보낸 메시지와 수동 응답은 다음과 같습니다. 미니 프로그램의 사용자 메시지는 계속 암호화됩니다. 자세한 내용은 메시지 암호화 및 암호 해독 지침을 참조하세요.
메시지 유형별 푸시 JSON 및 XML 데이터 패킷 구조는 다음과 같습니다.
문자 메시지
사용자가 고객 서비스 세션에서 문자 메시지를 보내면 다음 데이터 패킷이 생성됩니다:
XML 형식
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> </xml>
JSON 형식
{ "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "text", "Content": "this is a test", "MsgId": 1234567890123456 }
매개변수 설명
그림 메시지
고객 서비스 세션의 사용자 사진 메시지를 보낼 때 다음 데이터 패킷이 생성됩니다.
XML 형식
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[image]]></MsgType> <PicUrl><![CDATA[this is a url]]></PicUrl> <MediaId><![CDATA[media_id]]></MediaId> <MsgId>1234567890123456</MsgId> </xml>
JSON 형식
{ "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "image", "PicUrl": "this is a url", "MediaId": "media_id", "MsgId": 1234567890123456 }
매개 변수 설명
세션 이벤트 입력
사용자가 미니 프로그램 "고객 서비스 세션 버튼"을 통해 고객 서비스 세션을 수행하면 다음과 같은 데이터 패키지가 생성됩니다.
XML 형식
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[user_enter_tempsession]]></Event> <SessionFrom><![CDATA[sessionFrom]]></SessionFrom> </xml>
JSON 형식
{ "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "event", "Event": "user_enter_tempsession", "SessionFrom": "sessionFrom" }
매개변수 설명
메시지 전달 고객 서비스 도구로 이동
개발자가 메시지를 고객 서비스 도구로 전달하여 처리하기를 원하는 경우 다음 구조에 따라 응답 패키지를 반환하십시오. 응답 패킷의 데이터 형식(XML 또는 JSON)은 수신된 메시지에 설정된 데이터 형식과 일치해야 합니다.
XML 형식
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[transfer_customer_service]]></MsgType> </xml>
JSON 형식
{ "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "transfer_customer_service", }