Weixin Official Accounts Platform pushes events at various stages of the Official Account verification process to help the developers of the Official Accounts Platform and third-party platforms to get the verification status of their Official Accounts.

Event push destinations

  1. Events are pushed to the service address set by the Official Account developer in the developer center of Weixin Official Accounts Platform.
  2. If an Official Account's account management authorizations set is authorized to a third-party platform, given that this API is subject to this authorizations set, the events are pushed to the third-party platform's URL that is used for receiving Official Account messages and events.

Notes:

  1. An Official Account gets the permissions of verification related APIs after its qualification is successfully verified. Qualification verification must happen before name verification.
  2. An Official Account gets the "tick" verification mark in the Weixin app only after its name is successfully verified.

Contents

1 Qualification verified (API permissions obtained immediately)

2 Qualification verification failed

3 Name verified (successfully named)

4 Name verification failed (API permissions obtained without the "tick" verification mark)

5 Annual verification notification

6 Verification expiration notification

# Qualification Verified (API Permissions Obtained Immediately)

Example of pushing an XML data packet:

<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>  
  <FromUserName><![CDATA[fromUser]]></FromUserName>  
  <CreateTime>1442401156</CreateTime>  
  <MsgType><![CDATA[event]]></MsgType>  
  <Event><![CDATA[qualification_verify_success]]></Event>  
  <ExpiredTime>1442401156</ExpiredTime> 
</xml>

Parameters

Parameter Description
ToUserName Developer's Weixin ID
FromUserName Event pusher ID. It is an OpenID of a system account.
CreateTime Creation time of message (integral). It is a timestamp.
MsgType Message type (event)
Event Event type (qualification_verify_success)
ExpiredTime Validity period (integral). It is a timestamp that indicates the expiration time.

# Qualification Verification Failed

Example of pushing an XML data packet:

<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>  
  <FromUserName><![CDATA[fromUser]]></FromUserName>  
  <CreateTime>1442401156</CreateTime>  
  <MsgType><![CDATA[event]]></MsgType>  
  <Event><![CDATA[qualification_verify_fail]]></Event>  
  <FailTime>1442401122</FailTime>  
  <FailReason><![CDATA[by time]]></FailReason> 
</xml>

Parameters

Parameter Description
ToUserName Developer's Weixin ID
FromUserName Event pusher ID. It is an OpenID of a system account.
CreateTime Creation time of message (integral). It is a timestamp.
MsgType Message type (event)
Event Event type (qualification_verify_fail)
FailTime Failure time (integral). It is a timestamp.
FailReason The reason why verification failed

# Name Verified (Successfully Named)

Example of pushing an XML data packet:

<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>  
  <FromUserName><![CDATA[fromUser]]></FromUserName>  
  <CreateTime>1442401093</CreateTime>  
  <MsgType><![CDATA[event]]></MsgType>  
  <Event><![CDATA[naming_verify_success]]></Event>  
  <ExpiredTime>1442401093</ExpiredTime> 
</xml>

Parameters

Parameter Description
ToUserName Developer's Weixin ID
FromUserName Event pusher ID. It is an OpenID of a system account.
CreateTime Creation time of message (integral). It is a timestamp.
MsgType Message type (event)
Event Event type (naming_verify_success)
ExpiredTime Validity period (integral). It is a timestamp that indicates the expiration time.

# Name Verification Failed (API Permissions Obtained Without the "Tick" Verification Mark)

Example of pushing an XML data packet:

<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>  
  <FromUserName><![CDATA[fromUser]]></FromUserName>  
  <CreateTime>1442401061</CreateTime>  
  <MsgType><![CDATA[event]]></MsgType>  
  <Event><![CDATA[naming_verify_fail]]></Event>  
  <FailTime>1442401061</FailTime>  
  <FailReason><![CDATA[by time]]></FailReason> 
</xml>

Parameters

Parameter Description
ToUserName Developer's Weixin ID
FromUserName Event pusher ID. It is an OpenID of a system account.
CreateTime Creation time of message (integral). It is a timestamp.
MsgType Message type (event)
Event Event type (naming_verify_fail)
FailTime Failure time (integral). It is a timestamp.
FailReason The reason why verification failed

# Annual Verification Notification

Example of pushing an XML data packet:

<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>  
  <FromUserName><![CDATA[fromUser]]></FromUserName>  
  <CreateTime>1442401004</CreateTime>  
  <MsgType><![CDATA[event]]></MsgType>  
  <Event><![CDATA[annual_renew]]></Event>  
  <ExpiredTime>1442401004</ExpiredTime> 
</xml>

Parameters

Parameter Description
ToUserName Developer's Weixin ID
FromUserName Event pusher ID. It is an OpenID of a system account.
CreateTime Creation time of message (integral). It is a timestamp.
MsgType Message type (event)
Event Event type (annual_renew). It is used to notify developers to go through annual verification for their Official Accounts.
ExpiredTime Validity period (integral). It is a timestamp that indicates the expiration time. Complete annual verification before deadline.

##  Verification Expiration and Annual Verification Notification

Example of pushing an XML data packet:

<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>  
  <FromUserName><![CDATA[fromUser]]></FromUserName>  
  <CreateTime>1442400900</CreateTime>  
  <MsgType><![CDATA[event]]></MsgType>  
  <Event><![CDATA[verify_expired]]></Event>  
  <ExpiredTime>1442400900</ExpiredTime> 
</xml>

Parameters

Parameter Description
ToUserName Developer's Weixin ID
FromUserName Event pusher ID. It is an OpenID of a system account.
CreateTime Creation time of message (integral). It is a timestamp.
MsgType Message type (event)
Event Event type (verify_expired)
ExpiredTime Validity period (integral). It is a timestamp that indicates the expiration time. Initiate Weixin Verification again after deadline.