WeChat Mini 프로그램 API 액세스 가이드
액세스 개요
WeChat Mini 프로그램 메시징 서비스에 액세스하려면 개발자는 다음 단계를 따라야 합니다.
1. 서버 구성을 입력합니다.
2. 서버 주소의 유효성을 확인합니다.
3. 인터페이스 문서를 기반으로
이 3단계를 아래에서 자세히 소개합니다.
1단계: 서버 구성 입력
위챗 미니 프로그램 공식 홈페이지에 로그인 후, 미니 프로그램 공식 홈페이지 '설정 - 메시지 서버' 페이지에서 관리자가 QR 코드를 스캔해 메시지 서비스를 활성화합니다. 을 입력하고 서버 주소(URL), 토큰 및 EncodingAESKey를 입력합니다.
URL은 개발자가 WeChat 메시지와 이벤트를 수신하기 위해 사용하는 인터페이스 URL입니다. 토큰은 개발자가 작성하고 서명을 생성하는 데 사용할 수 있습니다. 보안을 확인하기 위해 토큰은 인터페이스 URL에 포함된 토큰과 비교됩니다. EncodingAESKey는 개발자가 수동으로 입력하거나 임의로 생성되며 메시지 본문 암호화 및 암호 해독 키로 사용됩니다.
동시에 개발자는 일반 텍스트 모드, 호환성 모드, 보안 모드 등 메시지 암호화 및 암호 해독 방법을 선택할 수 있습니다. 메시지 데이터 형식(XML 형식 또는 JSON 형식)을 선택할 수 있습니다. 암호화 방법의 기본 상태는 일반 형식이고, 데이터 형식의 기본 상태는 XML 형식입니다.
모드 선택 및 서버 구성은 제출 후 즉시 적용됩니다. 개발자는 신중하게 작성하고 선택하는 것이 좋습니다. 암호화 방법과 데이터 형식을 전환하려면 관련 코드를 미리 구성해야 합니다. 자세한 내용은 메시지 암호화 및 암호 해독 지침을 참조하세요.
2단계: 메시지가 실제로 WeChat 서버에서 전송되었는지 확인합니다.
개발자가 정보를 제출한 후 WeChat 서버는 표시된 서버 주소 URL에 GET 요청을 보냅니다. 다음 표에서는
Parameters | Description |
---|---|
signature | WeChat 암호화 서명을 요청의 타임스탬프 매개변수 및 nonce 매개변수와 결합합니다. |
timestamp | timestamp |
nonce | random number |
echostr | random string |
개발자는 서명을 확인하여 요청을 확인합니다(확인 방법은 아래에 나열되어 있음). 본 GET 요청이 WeChat 서버에서 오는 것이 확인되면 echostr 매개변수 내용을 그대로 반환해 주셔야 접속이 적용되어 개발자가 되며, 그렇지 않으면 접속이 실패하게 됩니다. 암호화/검증 프로세스는 다음과 같습니다. 1. 세 개의 매개변수 토큰, 타임스탬프 및 nonce를 사전순으로 정렬합니다. 2. SHA1 암호화를 위해 세 개의 매개변수 문자열을 하나의 문자열로 연결합니다. 3. 개발자는 서명 비교 표시를 통해 암호화된 문자열을 얻을 수 있습니다. 해당 요청은 WeChat에서 온 것입니다
서명 확인을 위한 PHP 샘플 코드:
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; } }
3단계: 인터페이스 문서를 기반으로 비즈니스 로직 구현
URL의 유효성을 성공적으로 확인한 후 액세스가 적용되고 귀하는 개발자. 이 시점에서 사용자가 미니 프로그램 고객 서비스에 메시지를 보내거나 세션에 들어가면 개발자가 입력한 서버 구성 URL은 WeChat 서버가 푸시한 메시지와 이벤트를 받게 되며 개발자는 이에 따라 응답할 수 있습니다. 자체 비즈니스 로직.
또한 개발자가 입력한 URL은 각각 포트 80과 포트 443을 지원하는 http:// 또는 https://로 시작해야 합니다.