Répondre passivement aux messages des utilisateurs


Réponse passive aux messages des utilisateurs

Lorsqu'un utilisateur envoie un message au compte officiel (ou lorsqu'un événement est déclenché par certaines opérations spécifiques de l'utilisateur), une requête POST sera générée et le développeur pourra renvoyer une structure XML spécifique dans le package de réponse (Get), pour répondre au message (prend désormais en charge le texte de réponse, les images, les graphiques, la voix, la vidéo, la musique). À proprement parler, l’envoi d’un message de réponse passive n’est pas réellement une interface, mais une réponse à un message envoyé par le serveur WeChat.

Une fois que le serveur WeChat a envoyé le message de l'utilisateur à l'adresse du serveur de développeur du compte officiel (configurée dans le centre de développement), si le serveur WeChat ne reçoit pas de réponse dans les cinq secondes, il se déconnectera et relancera la demande, en réessayant Au total, trois fois, si pendant le débogage, vous constatez que l'utilisateur ne peut pas recevoir le message de réponse, vous pouvez vérifier si le traitement du message expire. Concernant la nouvelle tentative de déduplication des messages, il est recommandé d'utiliser msgid pour dédupliquer les messages avec msgid. Il est recommandé d'utiliser FromUserName + CreateTime pour les messages de type événement afin d'éliminer la duplication.

Si les développeurs souhaitent améliorer la sécurité, ils peuvent activer le cryptage des messages dans le Developer Center. De cette manière, les messages envoyés par les utilisateurs aux comptes officiels et les réponses passives aux messages des utilisateurs provenant des comptes officiels continueront d'être cryptés (mais pour). pour plus de détails, voir Réponse passiveInstructions de décryptage d'ajout de message .

Si le serveur ne peut pas garantir le traitement et la réponse dans les cinq secondes, la réponse suivante doit être faite, afin que le serveur WeChat n'en fasse rien et ne lance pas de nouvelle tentative (dans ce cas, vous pouvez utiliser le service client l'interface de message effectue une réponse asynchrone), sinon un message d'erreur grave apparaîtra. Consultez les instructions ci-dessous pour plus de détails :

1. Répondez directement au succès (méthode recommandée)

2. Répondez directement à une chaîne vide (faisant référence à une chaîne vide d'une longueur de 0, plutôt qu'au champ de contenu vide dans la structure XML)

.

Une fois que la situation suivante se produit, WeChat enverra une invite système à l'utilisateur dans la session du compte public "Ce compte public est temporairement incapable de fournir des services, veuillez réessayer plus tard":

1 . Développeur Aucun contenu n'a reçu de réponse dans les 5 secondes

2 Le développeur a répondu avec des données anormales, telles que des données JSON, etc.

.

De plus, veuillez noter que lorsque vous répondez à des messages multimédias tels que des images, vous devez télécharger à l'avance des documents temporaires sur le serveur WeChat via l'interface de gestion du matériel. Vous pouvez utiliser des documents temporaires dans la gestion du matériel ou des documents permanents.

Répondre au message texte

<xml>

<ToUserName><![CDATA [toUser]]></ToUserName>

<FromUserName> <! CDATA [fromUser]]></FromUserName>

<CreateTime>12345678</CreateTime>

<MsgType><![CDATA[text]]></MsgType>

<Content& g t; <![CDATA[Bonjour]]></Content>

</xml>


développeur l'heure de création du message (entier) text le contenu du message de la réponse (saut de ligne : dans le contenu A possibilité de changer de ligne , WeChat Le client prend en charge l'affichage du retour à la ligne)
Le paramètre est-il obligatoire ? UserName est l'identifiant WeChat du
CreateTime est
MsgType est
Content est

Répondre au message photo

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<Image>
<MediaId><![CDATA[media_id]]></MediaId>
</Image>
</xml>


Le paramètre est-il obligatoire Description
ToUserName est le compte destinataire (OpenID reçu)
FromUserName est l'identifiant WeChat du développeur
CreateTime est l'heure de création du message (entier)
MsgType est image
MediaId est

grâce à la gestion du matériel L'interface télécharge des fichiers multimédia et obtient l'identifiant.


Répondre aux messages vocaux

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<Voice>
<MediaId><![CDATA[media_id]]></MediaId>
</Voice>
</xml>


Le paramètre est-il obligatoire Description
ToUserName est le compte destinataire (OpenID reçu)
FromUserName est l'identifiant WeChat du développeur
CreateTime est l'horodatage de création du message (entier)
MsgType est voix, voix
MediaId est téléchargé via interface dans les fichiers multimédia de gestion du matériel, obtenez un identifiant


Répondre au message vidéo

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[video]]></MsgType>
<Video>
<MediaId><![CDATA[media_id]]></MediaId>
<Title><![CDATA[title]]></Title>
<Description><![CDATA[description]]></Description>
</Video> 
</xml>


Le paramètre est-il obligatoire ? Description
ToUserName est Compte récepteur (OpenID reçu)
FromUserName est ID WeChat développé
CreateTime est heure de création du message (entier)
MsgType est video
MediaId est téléchargez des fichiers multimédia via l'interface de gestion du matériel et obtenez l'identifiant
Titre NonTitre du message vidéo
DescriptionNonDescription du message vidéo

Réponse au message musical

<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>
<ThumbMediaId><![CDATA[media_id]]></ThumbMediaId>
</Music>
</xml>


Le paramètre est-il obligatoire ? Description
ToUserName est Compte récepteur (OpenID reçu)
FromUserName est ID WeChat développé
CreateTime OuiDurée de création du message (entier)
MsgTypeOuimusique
TitreNonTitre de la musique
Description Non Description de la musique
MusicURL NonLien musical
HQMusicUrlNonLien musical de haute qualité, l'environnement WIFI donne la priorité à l'utilisation de ce lien pour lire de la musique
ThumbMediaId est l'identifiant multimédia de la vignette, téléchargez des fichiers multimédia via l'interface dans le matériel gestion et obtenez l'identifiant


Répondre aux messages texte

<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>
.
Le paramètre est-il obligatoire ? Description
ToUserName est Compte récepteur (OpenID reçu)
FromUserName est ID WeChat développé
CreateTime est heure de création du message (entier)
MsgType est news
ArticleCount est nombre de messages graphiques et texte, limité à 10
Articles Oui Plusieurs messages photo et texte. Le premier élément par défaut est une grande image. Notez que si le nombre de photos et de textes dépasse 10, il n'y aura pas de réponse
TitreNonTitre de l'image et du message texte
DescriptionNonDescription de l'image et du message texte
PicUrlNonLien photo, supporte mieux les formats JPG, PNG, l'effet est La grande image fait 360*200, la petite image fait 200*200
UrlNonCliquez sur l'image et le message texte pour accéder au lien
1474853861518768.jpg