# Open API 사용하기

# 개요

VChatCloud는 단순 채팅기능뿐만 아니라 여러 부가기능을 Open API형식으로 제공하고 있습니다. 이러한 API들은 SDK내부에 VChatCloudAPI클래스에 포함하고 있으며 함수를 호출해 사용하면 됩니다.

# 채팅방 정보 조회 메서드

채팅방의 정보를 조회하는 메서드입니다.

await VChatCloudAPI.getRoomInfo(roomId: "YOUR_CHANNEL_KEY")
1
  • 파라미터 값

    식별자 설명
    roomId String CMS에서 생성한 채팅방의 ChannelKey
  • 결과 값

    식별자 설명
    ChatroomModel? 방 정보, 단 persons, like수는 별도 조회해야 함

# 채팅방 좋아요 개수 조회 메서드

채팅방의 좋아요 누적 개수를 조회하는 메서드입니다.

await VChatCloudAPI.getLike(roomId: "YOUR_CHANNEL_KEY");
1
  • 파라미터 값

    식별자 설명
    roomId String CMS에서 생성한 채팅방의 ChannelKey
  • 결과 값

    식별자 설명
    LikeResponseModel? 채팅방 누적 좋아요 조회 정보

# 채팅방 좋아요 개수 추가 메서드

채팅방에 좋아요 개수를 추가하는 메서드입니다.

await VChatCloudAPI.like(roomId: "YOUR_CHANNEL_KEY");
1
  • 파라미터 값

    식별자 설명
    roomId String CMS에서 생성한 채팅방의 ChannelKey
  • 결과 값

    식별자 설명
    LikeResponseModel? 채팅방 누적 좋아요 조회 정보

# 채팅방에 업로드 된 파일 목록 조회 메서드

채팅방에 업로드 된 파일 목록을 조회하는 메서드입니다.

await VChatCloudAPI.getFileList(roomId: "YOUR_CHANNEL_KEY");
1
  • 파라미터 값

    식별자 설명
    roomId String CMS에서 생성한 채팅방의 ChannelKey
  • 결과 값

    식별자 설명
    FileListResponseModel? 업로드 된 파일 목록 배열

# 채팅방에 업로드 된 파일 다운로드 메서드

채팅방에 업로드 된 파일의 데이터를 가져와 저장하는 메서드입니다.

아래 예제 코드는 파일 목록을 불러온 뒤 첫 번째 파일을 기기에 저장하는 코드입니다.

guard let files = await VChatCloudAPI.getFileList(roomId: "YOUR_CHANNEL_KEY"),
      let file = files.data?.list.first else {
    return
}

await VChatCloudAPI.downloadFile(file)
1
2
3
4
5
6
  • 파라미터 값

    식별자 설명
    model FileItemModel 다운로드 받을 파일의 정보, FileItemModel의 fileNm, fileKey값이 필요합니다.
    downloadURL String 다운로드 받을 경로. 지정하지 않으면 앱의 문서 폴더에 저장됩니다. 지정할 경우 중복 파일 체크를 하지 않고 덮어쓰니 주의해야 합니다.
    sharePhotoApp Bool 사진 / 영상 파일은 포토 앱에서 확인할 수 있게 공유를 적용합니다.
  • 결과 값

    식별자 설명
    url URL? 저장 된 파일의 경로

# 채팅방에 업로드 된 파일 URL

채팅방에 업로드 된 파일의 데이터를 저장할 필요 없이 보여주기만 하려는 경우 파일에 접근할 수 있는 주소를 조회하는 메서드입니다.

let fileKey = "FILE_KEY"
VChatCloudAPI.loadFileUrl(fileKey)
1
2
  • 파라미터 값

    식별자 설명
    fileKey String 파일에 접근할 수 있는 고유 키
  • 결과 값

    식별자 설명
    URL? URL 정보

# OpenGraph 정보 요청 메서드

원하는 URL의 OpenGraph정보를 요청하는 메서드입니다.

let url = "https://vchatcloud.com"; // 원하는 주소를 입력하세요.
await VChatCloudAPI.openGraph(requestUrl: url); 
1
2
  • 파라미터 값

    식별자 설명
    requestUrl String OpenGraph 정보를 조회 할 URL
  • 결과 값

    식별자 설명
    OpenGraphResponseModel? OpenGraph 정보

# 구글 번역 메서드

원하는 글자를 구글 번역 API를 이용해 번역해주는 메서드입니다. 해당 기능을 사용하기 위해서는 CMS에서 채팅방 설정에서 구글 번역을 사용으로 설정하신 후 Google API KEY값에 구글에서 발급받은 API KEY를 입력하신 후 수정버튼을 클릭하여 저장하신 후 이용하실 수 있습니다.

Google API KEY를 발급받는 과정에 대한 설명은 번역 사용하기에 자세한 설명이 있습니다.

번역할 수 있는 언어목록 및 코드

targetLanguageCode에 사용할 수 있는 언어코드는 구글의 언어지원 (opens new window) 항목을 참고하세요.

VChatCloudAPI.langMap 속성을 사용해도 괜찮습니다.

await VChatCloudAPI.googleTranslation(text: "message", targetLanguageCode: "en", roomId: "YOUR_CHANNEL_KEY")
1
  • 파라미터 값

    식별자 설명
    text String 번역 할 문자열
    targetLanguageCode String 번역 할 언어 코드
    roomId String CMS에서 생성한 채팅방의 ChannelKey, 해당 채팅방은 구글번역 사용으로 설정하고, Google API KEY값을 설정해야 합니다.
  • 결과 값

    식별자 설명
    GoogleTranslationResponseModel? 메시지 번역 요청 결과

# 유저 신고하기 메서드

채팅방 유저를 신고할 수 있는 메서드입니다.

신고된 유저는 VChatCloud CMS의 채팅방 모니터링 페이지에서 확인 및 조치하실 수 있습니다.

await VChatCloudAPI.googleTranslation(text: "message", targetLanguageCode: "en", roomId: "YOUR_CHANNEL_KEY")
1
  • 파라미터 값

    식별자 설명
    roomId String 생성한 채팅방마다 고유하게 발급되는 channel key
    banUserClientKey String 신고 할 유저의 Client Key
    banUserNickname String 신고 할 유저의 닉네임
    banMessage String 신고 할 메시지 내용
  • 결과 값

    식별자 설명
    ReportResponseModel? 신고 처리 결과
Copyright 2022. E7Works Inc. & JOYTUNE Corp. All Rights Reserved.