• UIKit
  • SDK
  • 서버 API
Chat/
서버 API/
서버 API
  • UserSig 생성
  • RESTful 인터페이스
    • RESTful 인터페이스 개요
    • RESTful 인터페이스 목록
    • 메시지 관련
      • 메시지 보내기
        • 단일 사용자에게 1대1 메시지 보내기
        • 여러 사용자에게 1대1 메시지 보내기
        • 그룹 내 일반 메시지 보내기
        • 그룹 내 시스템 메시지 보내기
        • 라이브 방송 그룹 브로드캐스트 메시지
        • 1대1 메시지 가져오기
        • 그룹 메시지 가져오기
      • 과거 메시지
        • 과거 1대1 메시지 수정
        • 과거 그룹 메시지 수정
        • 1대1 과거 메시지 풀링
        • 그룹 과거 메시지 풀링
      • 메시지 삭제
        • 지정 사용자가 보낸 메시지 삭제하기
      • 메시지 철회
        • 1대1 메시지 철회
        • 그룹 메시지 철회
      • 읽음 확인
        • 1대1 메시지 읽음 설정
        • 그룹 메시지 읽음 확인 상세정보 풀링
        • 그룹 메시지 읽음 확인 풀링
      • 메시지 확장
        • 1대1 메시지 확장 풀링
        • 1대1 메시지 확장 설정
        • 그룹 메시지 확장 풀링
        • 그룹 메시지 확장 설정
      • 모든 사용자에게 푸시하기
        • 전원 푸시 인터페이스
        • 모든 사용자에게 푸시하기
        • 애플리케이션 속성 이름 설정
        • 애플리케이션 속성 이름 획득
        • 사용자 속성 획득
        • 사용자 속성 설정
        • 사용자 속성 삭제
        • 사용자 태그 획득
        • 사용자 태그 추가
        • 사용자 태그 삭제
        • 사용자 모든 태그 삭제
    • 대화 관련
      • 대화 목록
        • 대화 목록 풀링
      • 읽지 않은 대화 수
        • 멤버의 읽지 않은 메시지 수 설정
        • 읽지 않은 1대1 메시지 수 조회
      • 대화 삭제
        • 대화 삭제
      • 대화 그룹 태그
        • 대화 그룹 데이터 생성
        • 대화 그룹 데이터 업데이트
        • 대화 그룹 데이터 삭제
        • 대화 마크 데이터 생성 또는 업데이트
        • 대화 그룹 마크 검색
        • 대화 그룹 마크 데이터 풀링
    • 그룹 관련
      • 그룹 관리
        • 애플리케이션 내 모든 그룹 획득
        • 그룹 생성
        • 그룹 해체
        • 사용자가 가입한 그룹 획득
      • 그룹 정보
        • 그룹 정보 획득
        • 그룹 정보 수정
        • 그룹 정보 가져오기
      • 그룹 멤버 관리
        • 그룹 멤버 추가
        • 그룹 멤버 삭제
        • 그룹 멤버 금지
        • 그룹 멤버 금지 해제
        • 일괄 음소거 및 음소거 취소
        • 음소거된 그룹 멤버 목록 획득
        • 그룹 오너 변경
        • 그룹 내 사용자의 신분 조회
        • 그룹 멤버 가져오기
      • 그룹 멤버 정보
        • 그룹 멤버 정보 획득
        • 그룹 멤버 정보 수정
      • 그룹 사용자 정의 속성
        • 그룹 사용자 정의 속성 획득
        • 그룹 사용자 정의 속성 수정
        • 그룹 사용자 정의 속성 비우기
        • 그룹 사용자 정의 속성 리셋
        • 그룹 사용자 정의 속성 삭제
      • 라이브 방송 그룹 관리
        • 라이브 방송 그룹 온라인 인원수 획득
        • 라이브 방송 온라인 멤버 목록 획득
        • 라이브 방송 그룹 멤버 마크 설정
        • 금지된 멤버 목록 획득
      • 커뮤니티 관리
        • 화제 생성
        • 화제 삭제
        • 화제 정보 획득
        • 화제 정보 수정
        • 화제 정보 가져오기
      • 그룹 카운터
        • 그룹 카운터 획득
        • 그룹 카운터 업데이트
        • 그룹 카운터 삭제
    • 사용자 관리
      • 계정 관리
        • 단일 계정 가져오기
        • 다중 계정 가져오기
        • 계정 삭제
        • 계정 조회
      • 사용자 정보
        • 정보 설정
        • 정보 풀링
      • 사용자 상태
        • 계정 로그인 상태 무효화
        • 계정 온라인 상태 조회
      • 친구 관리
        • 친구 추가
        • 친구 가져오기
        • 친구 업데이트
        • 친구 삭제
        • 모든 친구 삭제
        • 친구 인증
        • 친구 풀링
        • 지정 친구 풀링
      • 친구 목록
        • 목록 추가
        • 목록 삭제
        • 풀링 목록
      • 블록리스트
        • 사용자 블록리스트 추가
        • 사용자를 블록리스트에서 제거
        • 블록리스트 풀링
        • 블록리스트 내의 사용자 인증
    • 전원 음소거 관리
      • 전원 음소거 설정
      • 전원 음소거 조회
    • 운영 및 유지관리
      • 운영 및 유지관리 데이터 풀링
      • 최신 메시지 다운로드
      • 서버 IP 주소 획득
    • 챗봇
      • 챗봇 계정 풀링
      • 챗봇 계정 생성
      • 챗봇 계정 삭제
  • 트리거
    • 콜백 개요
    • 콜백 명령 목록
    • 콜백 운영 및 유지관리
      • 인터페이스 오버클록킹 알람 콜백
    • 온라인 상태 콜백
      • 상태 변경 콜백
    • 관계망 콜백
      • 정보 업데이트 후
      • 친구 추가 전
      • 친구 추가 응답 전
      • 친구 추가 후
      • 친구 삭제 후
      • 사용자를 블록리스트에 추가한 후
      • 사용자를 블록리스트에서 제거한 후
    • 1대1 메시지 콜백
      • 1대1 메시지 보내기 전
      • 1대1 메시지 보낸 후
      • 1대1 메시지 읽음 설정 후
      • 1대1 메시지 철회 후
    • 그룹 콜백
      • 그룹 생선 전
      • 그룹 생성 후
      • 그룹 가입 신청 전
      • 사용자를 그룹에 초대하기 전
      • 사용자 그룹 가입 후
      • 멤버 탈퇴 후
      • 그룹 메시지 보내기 전
      • 그룹 메시지 보낸 후
      • 그룹 만원 후
      • 그룹 해체 후
      • 그룹 정보 변경 후
      • 그룹 메시지 회수 후 콜백
      • 라이브 방송 그룹 멤버 온라인 및 오프라인 상태 콜백
      • 그룹 메시지 보내기 이상 콜백
      • 화제 생성 전
      • 화제 생성 후
      • 화제 삭제 후
      • 화제 정보 변경 콜백
      • 그룹 멤버 정보 변경 후 콜백
      • 그룹 속성 변경 후 콜백
      • 읽음 확인 후 콜백
      • 그룹 오너 변경 후 콜백
    • 콜백 상호 인증 구성 가이드
      • Apache 상호 인증 구성
      • Nginx 상호 인증 구성
    • 챗봇 콜백
      • 챗봇 1대1 메시지 사용자 정의 콜백
이 페이지는 현재 영어로만 제공되며 한국어 버전은 곧 제공될 예정입니다. 기다려 주셔서 감사드립니다.

UserSig 생성

UserSig is a password used to log in to IM. It is the ciphertext obtained after data such as UserID is encrypted. This document describes how to generate a UserSig.

Obtaining a Key

1. Log in to the Chat console.
Note:
If you do not have any app, create an app and then perform step 2.
2. Click the target app card to go to its basic configuration page.
3. In the Basic Information section, click Display key to the right of Key.
4. Click Copy to copy and save the key information.
Note:
Store the key information properly to prevent disclosure.

Calculating UserSig on the Client

The GenerateTestUserSig open-source module provided in the sample code of the IM SDK can help you quickly generate a UserSig. You only need to configure three member variables, including SDKAPPID (SDKAppID of the app), EXPIRETIME (UserSig expiration time), and SECRETKEY (key information), and then call the genTestUserSig() function to quickly obtain a UserSig. To simplify this process, we provide the source code for computing a UserSig for the following languages and platforms. You can directly download and integrate the source code into your client.
Programing Language
Platform
GenerateTestUserSig Source Code
Java
Android
Objective-C
iOS
Objective-C
Mac
C++
Windows
Javascript
Web
Dart
Flutter
Note:
In this method, the SECRETKEY is vulnerable to decompilation and reverse engineering. Once your SECRETKEY is disclosed, attackers can steal your Tencent Cloud traffic. Therefore, this method is only suitable for locally running a demo project and feature debugging. The correct way to issue a UserSig is to integrate the UserSig computing code into your server and provide app-oriented APIs. When UserSig is needed, your app will send a request to the business server to obtain a dynamic UserSig. For more information, see How to Calculate UserSig.


Calculating UserSig on the Server

Generating a UserSig on the server provides maximum protection against the disclosure of the key used for calculating the UserSig. You only need to deploy the code for calculating the UserSig on your server and provide an app-oriented API. When a UserSig is needed, your app will send a request to the business server to obtain a dynamic UserSig. To simplify this process, we provide the source code for calculating a UserSig for the following languages and platforms. You can directly download and integrate the source code into your server.
Programming Language
Key Function
Download URL
Java
HMAC-SHA256
GO
HMAC-SHA256
PHP
HMAC-SHA256
Nodejs
HMAC-SHA256
Python
HMAC-SHA256
C#
HMAC-SHA256
C++
HMAC-SHA256
Key fields in a UserSig calculation function include the SDKAppID, UserID, and UserSig validity period, as described in the following table.
Note:
The following table uses the field names in the Java source code as an example. The field names may be different in other languages.
Field Name (Example)
Description
sdkappid
SDKAppID of the app. You can obtain the SDKAppID on the app card in the Chat console.
userId
User ID (former name: Identifier).
expire
UserSig validity period, in seconds.
userbuf
This field is set to null by default because APIs without UserBuf are used in IM by default.APIs with UserBuf may be required in some TRTC use cases, for example, when entering a room. For more information, see Enabling Advanced Permission Control.
key
Key. You can obtain a key on the app details page in the Chat console. For more information, see Obtaining a Key.

Old Version of Algorithm

To simplify signature computing so that customers can conveniently and quickly use Tencent Cloud services, the signature algorithm of the IM service has been upgraded from ECDSA-SHA256 to HMAC-SHA256 since July 19, 2019. This means that all SDKAppIDs created after July 19, 2019 will use the new HMAC-SHA256 algorithm.
If your SDKAppID was created before July 19, 2019, we recommend that you upgrade the signature algorithm to HMAC-SHA256. The upgrade will not affect your business. Alternatively, you can still use the signature algorithm of an earlier version. The URLs for downloading the source code for the ECDSA-SHA256 algorithm are as follows:
Programming Language
Signature Algorithm
Download Link
Java
ECDSA-SHA256
GO
ECDSA-SHA256
PHP
ECDSA-SHA256
Nodejs
ECDSA-SHA256
Python
ECDSA-SHA256
C#
ECDSA-SHA256
C++
ECDSA-SHA256