Guide d'accès à l'API du programme WeChat Mini


Présentation de l'accès


Pour accéder au service de messagerie du programme WeChat Mini, les développeurs doivent suivre les étapes suivantes :

1. Remplissez la configuration du serveur

2. Vérifiez la validité de l'adresse du serveur

3. basé sur le document d'interface

Ces 3 étapes sont présentées en détail ci-dessous.

Étape 1 : Remplissez la configuration du serveur

Après vous être connecté au site officiel du programme WeChat Mini, sur la page "Paramètres - Serveur de messages" du site officiel du mini programme, l'administrateur scanne le code QR pour activer le service de messagerie , et remplit l'adresse du serveur (URL), le jeton et l'EncodingAESKey.

URL est l'URL de l'interface utilisée par les développeurs pour recevoir des messages et des événements WeChat. Le token peut être renseigné arbitrairement par le développeur et utilisé pour générer une signature (le token sera comparé au token contenu dans l'URL de l'interface pour vérifier la sécurité). EncodingAESKey est rempli manuellement par le développeur ou généré de manière aléatoire et sera utilisé comme clé de cryptage et de déchiffrement du corps du message.

Dans le même temps, les développeurs peuvent choisir les méthodes de cryptage et de déchiffrement des messages : mode texte brut, mode compatibilité et mode sécurité. Vous pouvez choisir le format des données du message : format XML ou format JSON. L'état par défaut de la méthode de chiffrement est le format clair et l'état par défaut du format des données est le format XML.

La sélection du mode et la configuration du serveur prendront effet immédiatement après la soumission. Il est conseillé aux développeurs de remplir et de sélectionner soigneusement. Le changement de méthode de cryptage et de format de données nécessite de configurer le code correspondant à l'avance. Pour plus de détails, veuillez vous référer aux instructions de cryptage et de décryptage des messages.

1482806614846296.png

Étape 2 : Vérifiez que le message provient bien du serveur WeChat

Une fois que le développeur a soumis les informations, le serveur WeChat enverra une requête GET à l'URL de l'adresse du serveur renseignée. La requête GET comporte les paramètres comme indiqué. dans le tableau suivant :

ParamètresDescription
signatureLa signature chiffrée WeChat combine le paramètre de jeton renseigné par le développeur avec le paramètre d'horodatage et le paramètre nonce dans la requête.
timestamptimestamp
noncenuméro aléatoire
echostrchaîne aléatoire

Les développeurs vérifient la demande en vérifiant la signature (les méthodes de vérification sont répertoriées ci-dessous). S'il est confirmé que cette requête GET provient du serveur WeChat, veuillez renvoyer le contenu du paramètre echostr tel quel, alors l'accès prendra effet et vous deviendrez développeur avec succès, sinon l'accès échouera. Le processus de cryptage/vérification est le suivant : 1. Triez les trois paramètres token, timestamp et nonce dans l'ordre lexicographique 2. Fusionnez les trois chaînes de paramètres en une seule chaîne pour le cryptage SHA1 3. Le développeur peut obtenir la chaîne cryptée avec la comparaison de signature indique que la demande provient de WeChat

Exemple de code PHP pour vérifier la signature :

private function checkSignature()
{
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];

    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );

    if( $tmpStr == $signature ){
        return true;
    }else{
        return false;
    }
}

Étape 3 : Implémenter une logique métier basée sur le document d'interface

Après avoir vérifié avec succès la validité de l'URL, l'accès prendra effet et vous deviendrez un promoteur. À ce stade, lorsque l'utilisateur envoie un message au service client du mini-programme ou entre dans une session, l'URL de configuration du serveur renseignée par le développeur recevra les messages et les événements envoyés par le serveur WeChat, et le développeur pourra répondre en fonction de sa propre logique métier.

Veuillez également noter que l'URL renseignée par le développeur doit commencer par http:// ou https://, qui prennent respectivement en charge le port 80 et le port 443.