


Développement de la plateforme publique WeChat pour obtenir un code QR personnalisé
Mar 03, 2017 am 10:06 AM1. Introduction à la fonction
Lors de la promotion, nous pouvons dire à l'autre partie quel est notre compte public WeChat, et les clients peuvent le rechercher puis le suivre. Le code QR nous offre une grande commodité. Il suffit de le scanner et vous pourrez le suivre.
Si vous l'avez déjà suivi, accédez immédiatement à l'écran de conversation. Lorsque nous faisons de la promotion, ce n'est plus un simple texte, il peut s'agir d'un code QR personnalisé, qui sera certainement très vivant.
WeChat offre un bon support pour les codes QR et peut également générer des codes QR pour différents scénarios selon les besoins. Ci-dessous, nous expliquerons comment obtenir et utiliser les codes QR.
Remarque?: limité au compte de service et à l'authentification WeChat, frais 300
Interfaces associées
Afin de répondre aux besoins d'analyse de la promotion des canaux utilisateurs, la plateforme publique propose une interface de génération de codes QR avec paramètres. Grace à cette interface, plusieurs codes QR avec différentes valeurs de scène peuvent être obtenus. Une fois que l'utilisateur les a scannés, le compte officiel peut recevoir le push d'événement.
Il existe actuellement deux types de codes QR, à savoir les codes QR temporaires et les codes QR permanents. Le premier a un délai d'expiration, jusqu'à 1800 secondes, mais peut générer un nombre plus grand, tandis que le second n'a pas de délai d'expiration. , le nombre est petit (actuellement, les paramètres ne prennent en charge que 1 à 1 000). Les deux codes QR conviennent respectivement à la liaison de compte, aux statistiques de source d'utilisateurs et à d'autres scénarios.
Lorsque l'utilisateur scanne le code QR avec la valeur de scène, les deux événements suivants peuvent être poussés?:
Si l'utilisateur n'a pas suivi le compte officiel, l'utilisateur peut suivez le compte officiel, après avoir prêté attention, WeChat transmettra l'événement d'attention avec une valeur de scène au développeur.
Si l'utilisateur a suivi le compte officiel, l'utilisateur entrera automatiquement dans la session après la numérisation, et WeChat transmettra également l'événement de numérisation avec la valeur de la scène au développeur.
Le processus d'obtention d'un code QR avec des paramètres comprend deux étapes. Tout d'abord, créez un ticket de code QR, puis utilisez le ticket vers l'URL spécifiée pour échanger le code QR.
Créer un ticket de code QR
Chaque fois que vous créez un ticket de code QR, vous devez fournir un paramètre (scene_id) défini par le développeur. Nous introduisons le code QR temporaire et le QR permanent. code respectivement. Le processus de création d’un ticket de code QR.
Instructions de demande de code QR temporaire
http請(qǐng)求方式:?POST URL:?https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKENPOST數(shù)據(jù)格式:json POST數(shù)據(jù)例子:{"expire_seconds":?1800,?"action_name":?"QR_SCENE",?"action_info":?{"scene":?{"scene_id":?123}}}
Instructions de demande de code QR permanent
http請(qǐng)求方式:?POST URL:?https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKENPOST數(shù)據(jù)格式:json POST數(shù)據(jù)例子:{"action_name":?"QR_LIMIT_SCENE",?"action_info":?{"scene":?{"scene_id":?123}}}
Description du paramètre
參數(shù) | 說(shuō)明 |
---|---|
expire_seconds | 該二維碼有效時(shí)間,以秒為單位。 最大不超過(guò)1800。 |
action_name | 二維碼類型,QR_SCENE為臨時(shí),QR_LIMIT_SCENE為永久 |
action_info | 二維碼詳細(xì)信息 |
scene_id | 場(chǎng)景值ID,臨時(shí)二維碼時(shí)為32位整型,永久二維碼時(shí)最大值為1000 |
Description du retour
Résultat de retour Json correct?:
{"ticket":"gQG28DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0FuWC1DNmZuVEhvMVp4NDNMRnNRAAIEesLvUQMECAcAAA==","expire_seconds":1800}
參數(shù) | 說(shuō)明 |
---|---|
ticket | 獲取的二維碼ticket,憑借此ticket可以在有效時(shí)間內(nèi)換取二維碼。 |
expire_seconds | 二維碼的有效時(shí)間,以秒為單位。最大不超過(guò)1800。 |
Exemple de retour Json incorrect?:
{"errcode":40013,"errmsg":"invalid?appid"}
Description du code de retour global
Utiliser les outils de débogage Web pour déboguer l'interface
échanger un ticket contre un code QR
Obtenir un ticket de code QR Ensuite, les développeurs peuvent échanger billets pour les images de code QR. Veuillez noter que cette interface peut être appelée sans vous connecter.
Demande d'instructions
HTTP?GET請(qǐng)求(請(qǐng)使用https協(xié)議) https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET
Instructions de retour
Lorsque le ticket est correct, le code de retour http est 200, qui est une image qui peut être affichée ou téléchargée directement.
L'en-tête HTTP (exemple) est le suivant :
Accept-Ranges:bytes Cache-control:max-age=604800Connection:keep-alive Content-Length:28026Content-Type:image/jpg Date:Wed,?16?Oct?2013?06:37:10?GMT Expires:Wed,?23?Oct?2013?14:37:10?+0800Server:nginx/1.4.1
En cas d'erreur ( tel qu'un ticket illégal) renvoie le code d'erreur HTTP 404.
3. Implémentation spécifique
Toujours en ajoutant des fonctions basées sur le cas du robot précédent, regardez directement le code.
///?<summary> ????///?二維碼管理者 ????///?</summary> ????public?class?DimensionalCodeManager ????{ ????????///?<summary> ????????///?臨時(shí)二維碼地址 ????????///?</summary> ????????///?使用string.format時(shí),報(bào):字符串格式錯(cuò)誤,因?yàn)槠渲杏衶 ????????//private?const?string?TEMP_URL?=?"{\"expire_seconds\":?1800,?\"action_name\":?\"QR_SCENE\",?\"action_info\":?{\"scene\":?{\"scene_id\":?{0}}}}"; ????????///?<summary> ????????///?解決辦法,將原有字符串中的一個(gè){用兩個(gè){代替 ????????///?</summary> ????????private?const?string?TEMP_JSON_DATA?=?"{{\"expire_seconds\":?1800,?\"action_name\":?\"QR_SCENE\",?\"action_info\":?{{\"scene\":?{{\"scene_id\":?{0}}}}}}}"; ????????///?<summary> ????????///?永久二維碼地址 ????????///?</summary> ????????private?const?string?PERMANENT_URL?=?"{{\"action_name\":?\"QR_LIMIT_SCENE\",?\"action_info\":?{{\"scene\":?{{\"scene_id\":?{0}}}}}}}"; ????????///?<summary> ????????///?獲取ticket的URL ????????///?</summary> ????????private?const?string?GET_TICKET_URL?=?"?https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}"; ????????///?<summary> ????????///?獲取二維碼URL ????????///?</summary> ????????private?const?string?GET_CODE_URL?=?"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={0}"; ????????///?<summary> ????????///?根據(jù)場(chǎng)景ID獲取ticket ????????///?</summary> ????????///?<param name="sceneID">場(chǎng)景ID</param> ????????///?<param name="isTemp">是否是臨時(shí)二維碼</param> ????????///?<returns></returns> ????????private?static?string?GetTicket(int?sceneID,?bool?isTemp) ????????{ ????????????string?result?=?null; ????????????string?data?=?string.Empty; ????????????if?(isTemp) ????????????{ ????????????????data?=?string.Format(TEMP_JSON_DATA,?sceneID.ToString()); ????????????} ????????????else ????????????{ ????????????????if?(sceneID?>?0?&&?sceneID?<=?1000) ????????????????{ ????????????????????data?=?string.Format(PERMANENT_URL,?sceneID); ????????????????} ????????????????else ????????????????{ ????????????????????//scene_id不合法 ????????????????????return?null; ????????????????} ????????????} ????????????string?ticketJson?=?HttpUtility.GetData(string.Format(GET_TICKET_URL,Context.AccessToken)); ????????????XDocument?doc?=?XmlUtility.ParseJson(ticketJson,?"root"); ????????????XElement?root?=?doc.Root; ????????????if?(root?!=?null) ????????????{ ????????????????XElement?ticket?=?root.Element("ticket"); ????????????????if?(ticket?!=?null) ????????????????{ ????????????????????result?=?ticket.Value; ????????????????} ????????????} ????????????return?result; ????????} ????????///?<summary> ????????///?創(chuàng)建臨時(shí)二維碼 ????????///?</summary> ????????///?<param name="sceneID">場(chǎng)景id,int類型</param> ????????///?<returns></returns> ????????public?static?string?GenerateTemp(int?sceneID) ????????{ ????????????string?ticket?=?GetTicket(sceneID,true); ????????????if?(ticket?==?null) ????????????{ ????????????????return?null; ????????????} ????????????return?HttpUtility.GetData(string.Format(GET_CODE_URL,?ticket)); ????????} ????????///?<summary> ????????///?創(chuàng)建臨時(shí)二維碼 ????????///?</summary> ????????///?<param name="sceneID">場(chǎng)景id,int類型</param> ????????///?<returns></returns> ????????public?static?string?GeneratePermanent(int?sceneID) ????????{ ????????????string?ticket?=?GetTicket(sceneID,?false); ????????????if?(ticket?==?null) ????????????{ ????????????????return?null; ????????????} ????????????return?HttpUtility.GetData(string.Format(GET_CODE_URL,?ticket)); ????????} ????}
Pour plus de développement de plateforme publique WeChat afin d'obtenir des codes QR personnalisés, veuillez faire attention au site Web chinois PHP pour les articles connexes !

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)