Home >WeChat Applet >WeChat Development >Detailed introduction to the basic principles of WeChat public account development and registration

Detailed introduction to the basic principles of WeChat public account development and registration

高洛峰
高洛峰Original
2017-03-26 15:12:062579browse

WeChat public account development tutorial

Basic principles

Before you start, you may be very interested in this, but you are still confused. Is it complicated? Is it difficult to learn?

In fact, it’s just the opposite, it’s very simple. In order to dispel everyone's concerns, I first briefly introduce the basic principles of the WeChat public platform.

The WeChat server is equivalent to a forwarding server. The terminal (mobile phone, Pad, etc.) initiates a request to the WeChat server, and the WeChat server then forwards the request to the custom service (this is our specific implementation).

After the service is processed, it is then evaporated to the WeChat server, and the WeChat server then replies with a specific response to the terminal.

The communication protocol is: HTTP

The data format is: XML

The specific process is as shown in the figure below:

Detailed introduction to the basic principles of WeChat public account development and registration

# #Actually, what we need to do is respond to HTTP requests.

We will parse the specific request content according to the specific XML format. After processing, we will also return it according to the specific XML format.

We only need a simple implementation of HttpHandler.

Of course, the WeChat platform can also implement more complex businesses. For example, WeChat can be used as an embedded browser. We can open the htm interface through the WeChat link and then implement our own logic.

Specific application steps:

1. Register a public account

Registration address: http://mp.weixin.qq.com/

1 ) First you need to register by email:

Detailed introduction to the basic principles of WeChat public account development and registration

#2) Email activation. You will receive an activation email in your mailbox, just click the activation link.

3) Personal information needs to be registered. Here you need to provide some personal information or organizational information.

Now individuals are only allowed to register subscription accounts, and companies can register service accounts. Service accounts have more functions than subscription accounts, and can implement customized menus.

The information that needs to be provided mainly includes the ID number and the photo of the person holding the ID card. If it is a unit registration, the unit registration number, business license and legal person ID card and photo are also required. I feel this is a bit abnormal. Which boss is willing to let you take a photo with him and his ID card?

Note:

Only two WeChat public platform accounts are allowed to be registered with the same mobile phone number or the same ID number.

Personal information registration:

Detailed introduction to the basic principles of WeChat public account development and registration

Enterprise users

The personal information above for enterprise users must also be filled in, only the personal information of the operator .

Detailed introduction to the basic principles of WeChat public account development and registration

Government Media

Detailed introduction to the basic principles of WeChat public account development and registration

4) Enter the relevant information of the public account.

When entering the name and description of the official account, please note that the name of the official account cannot be edited. Once submitted, it cannot be changed, so be careful.

Registration needs to be reviewed within 7 days. The specific registration steps will not be described here.

Detailed introduction to the basic principles of WeChat public account development and registration

#2. Complete the information

If the review is passed, you can proceed to the next step. How to bind our services to public accounts?

Mainly upload avatar, you can also modify the description information. However, please note that you can only modify it once a month. Therefore, when making a new application, you must wait until the requirements have been determined and the UE has designed the icon before processing.

If there is any modification, you can only wait for one month.

3. Become a developer:

First turn off the editing mode and turn on the development mode

Detailed introduction to the basic principles of WeChat public account development and registration

Here we can really bind our own server .

Bind the service address and token. The server address must be a public IP and its port must be 80

The token value should be as complex as possible. Once it is cracked, it is likely to be exploited.

Because, when accessing the server for the first time, an identity verification is required, and a token is required. And once verified successfully, it will no longer be verified in the future.

The public platform message interface provides developers with a new way of processing messages.

Message interface (official document)

Apply for message interface

Click Apply and fill in the URL and token. The token can be filled in by the developer to generate a signature.

Website access

After the public platform user submits the information, the WeChat server will send a GET request to the filled-in URL with four parameters:

Parameter Description
signature WeChat encrypted signature
timestamp Timestamp
nonce Random number
echostr Random string

Developers verify the request by checking the signature (verification methods are listed below). If it is confirmed that this GET request comes from the WeChat server, please return the echostr parameter content as it is, then the access will take effect, otherwise the access will fail.

signature combines the token parameter filled in by the developer with the timestamp parameter and nonce parameter in the request.

加密/校验流程:
1. 将token、timestamp、nonce三个参数进行字典序排序
2. 将三个参数字符串拼接成一个字符串进行sha1加密
3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

Message push

When an ordinary WeChat user sends a message to a public account, the WeChat server will POST the message to the filled-in URL. The structure is as follows:

Text message

 <xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName> 
 <CreateTime>1348831860</CreateTime>
 <MsgType><![CDATA[text]]></MsgType>
 <Content><![CDATA[this is a test]]></Content>
 <MsgId>1234567890123456</MsgId>
 </xml>
##MsgTypetextContentText Message contentMsgIdMessage id, 64-bit integer

图片消息

 <xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName>
 <CreateTime>1348831860</CreateTime>
 <MsgType><![CDATA[image]]></MsgType>
 <PicUrl><![CDATA[this is a url]]></PicUrl>
 <MsgId>1234567890123456</MsgId>
 </xml>
Parameters Description
ToUserName Developer WeChat ID
FromUserName Sender account (an OpenID)
CreateTime Message creation time (integer)
参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType image
PicUrl 图片链接
MsgId 消息id,64位整型

地理位置消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[location]]></MsgType>
<Location_X>23.134521</Location_X>
<Location_Y>113.358803</Location_Y>
<Scale>20</Scale>
<Label><![CDATA[位置信息]]></Label>
<MsgId>1234567890123456</MsgId>
</xml>
参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType location
Location_X 地理位置纬度
Location_Y 地理位置经度
Scale 地图缩放大小
Label 地理位置信息
MsgId 消息id,64位整型

链接消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[link]]></MsgType>
<Title><![CDATA[公众平台官网链接]]></Title>
<Description><![CDATA[公众平台官网链接]]></Description>
<Url><![CDATA[url]]></Url>
<MsgId>1234567890123456</MsgId>
</xml>
参数 描述
ToUserName 接收方微信号
FromUserName 发送方微信号,若为普通用户,则是一个OpenID
CreateTime 消息创建时间
MsgType 消息类型,link
Title 消息标题
Description 消息描述
Url 消息链接
MsgId 消息id,64位整型

事件推送

事件推送只支持微信4.5版本,目前开启自定义菜单接口事件推送、关注与取消关注事件推送。其余功能即将开放,敬请期待。

<xml><ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[EVENT]]></Event>
<EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>
参数 描述
ToUserName 接收方微信号
FromUserName 发送方微信号,若为普通用户,则是一个OpenID
CreateTime 消息创建时间
MsgType 消息类型,event
Event 事件类型,subscribe(订阅)、unsubscribe(取消订阅)、CLICK(自定义菜单点击事件)
EventKey 事件KEY值,与自定义菜单接口中KEY值对应

消息回复

对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行响应(现支持回复文本、图文、语音、视频、音乐)。

微信服务器在五秒内收不到响应会断掉连接。

回复xml结构如下:

回复文本消息

 <xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName>
 <CreateTime>12345678</CreateTime>
 <MsgType><![CDATA[text]]></MsgType>
 <Content><![CDATA[content]]></Content>
 </xml>
参数 描述
ToUserName 接收方帐号(收到的OpenID)
FromUserName 开发者微信号
CreateTime 消息创建时间
MsgType text
Content 回复的消息内容,长度不超过2048字节

回复音乐消息

 <xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName>
 <CreateTime>12345678</CreateTime>
 <MsgType><![CDATA[music]]></MsgType>
 <Music>
 <Title><![CDATA[TITLE]]></Title>
 <Description><![CDATA[DESCRIPTION]]></Description>
 <MusicUrl><![CDATA[MUSIC_Url]]></MusicUrl>
 <HQMusicUrl><![CDATA[HQ_MUSIC_Url]]></HQMusicUrl>
 </Music>
 </xml>
参数 描述
ToUserName 接收方帐号(收到的OpenID)
FromUserName 开发者微信号
CreateTime 消息创建时间
MsgType music
MusicUrl 音乐链接
HQMusicUrl 高质量音乐链接,WIFI环境优先使用该链接播放音乐

回复图文消息

 <xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName>
 <CreateTime>12345678</CreateTime>
 <MsgType><![CDATA[news]]></MsgType>
 <ArticleCount>2</ArticleCount>
 <Articles>
 <item>
 <Title><![CDATA[title1]]></Title> 
 <Description><![CDATA[description1]]></Description>
 <PicUrl><![CDATA[picurl]]></PicUrl>
 <Url><![CDATA[url]]></Url>
 </item>
 <item>
 <Title><![CDATA[title]]></Title>
 <Description><![CDATA[description]]></Description>
 <PicUrl><![CDATA[picurl]]></PicUrl>
 <Url><![CDATA[url]]></Url>
 </item>
 </Articles>
 </xml>
参数 描述
ToUserName 接收方帐号(收到的OpenID)
FromUserName 开发者微信号
CreateTime 消息创建时间
MsgType news
ArticleCount 图文消息个数,限制为10条以内
Articles 多条图文消息信息,默认第一个item为大图
Title 图文消息标题
Description 图文消息描述
PicUrl 图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80。
Url 点击图文消息跳转链接

注意事项

1.用户OpenID对一个公众号是固定唯一的串

2.请使用80端口

The above is the detailed content of Detailed introduction to the basic principles of WeChat public account development and registration. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn