시작하기
Integration overview
하나의 백엔드, 모든 플랫폼 — 한 번만 임베드하면 항상 최신 상태로 유지됩니다.
AskAIs Customer Service은 여러 클라이언트 SDK를 갖춘 단일 백엔드입니다. 워크스페이스를 한 번만 설정하면 웹사이트, 모바일 앱, 또는 어떤 백엔드 서비스에든 채팅을 임베드할 수 있습니다. 모든 클라이언트는 동일한 인박스, AI 에이전트, 지식 베이스와 통신합니다.
하나의 백엔드, 모든 플랫폼
어떤 플랫폼을 사용하든 설치는 간단하며, 대화·연락처·AI 응답·설정이 모두 공유됩니다. 각 플랫폼에서 어떻게 설치하고 — 무엇보다 중요한 — 향후 업데이트를 어떻게 받는지 살펴보겠습니다.
플랫폼 한눈에 보기
| 플랫폼 | 설치 | 업데이트 방식 |
|---|---|---|
| 웹사이트 | <script src="…/widget.js"> | 자동 — 페이지를 로드할 때마다 최신 버전을 가져옵니다 |
| iOS (Swift) | Swift Package / CocoaPods | SDK 버전을 올리고 새 앱 빌드를 배포합니다 |
| Android (Kotlin) | Gradle | SDK 버전을 올리고 새 앱 빌드를 배포합니다 |
| Flutter | pub | SDK 버전을 올리고 새 앱 빌드를 배포합니다 |
| React Native | npm | SDK 버전을 올리고 새 앱 빌드를 배포합니다 |
| 모든 백엔드 | REST API / OpenAPI | 직접 운영하는 서비스 — 배포할 때마다 반영됩니다 |
모든 SDK가 서로 호환되나요?
네. 모두 동일한 AskAIs Customer Service 워크스페이스로 들어가는 서로 다른 입구일 뿐이므로 완전히 상호 운용됩니다.
- 동일한 백엔드, 동일한 app-id: 모든 클라이언트가 워크스페이스 내 동일한 인박스에 연결됩니다.
- 기기를 넘나드는 단일 방문자: 동일한 externalId로 방문자를 식별하면 웹에서 시작한 대화가 앱에서 그대로 이어집니다.
- 공유 구성: AI 에이전트, 지식 베이스, 영업 시간, 키워드 응답, FAQ를 한 번만 구성하면 모든 채널에 적용됩니다.
웹 — 공식 임베드 (권장)
이 한 줄을 </body> 앞에 넣으세요. 이것이 설치의 전부입니다. app-id는 공개되어도 안전하므로 그대로 배포해도 됩니다. Settings → Inboxes에서 복사하세요.
<script src="https://cs.askais.com/widget.js"
data-app-id="YOUR_APP_ID"
data-base-url="https://cs.askais.com"
async></script>⚠️ widget.js를 다운로드하거나 직접 호스팅하지 마세요
위젯은 항상 https://cs.askais.com/widget.js에서 로드하세요. 파일을 다운로드해 직접 호스팅하거나 자체 번들에 컴파일하면 위젯이 특정 버전에 고정되어, 향후 스타일 업데이트, 버그 수정, 새 기능이 전혀 전달되지 않습니다. cs.askais.com에서 로드하면 위젯이 자동으로 업데이트되며, 별도로 변경할 것이 없습니다.
페이지에서 제어하기 (선택)
스크립트가 로드되면 전역 window.SingChat을 사용할 수 있습니다.
// Open / close the widget
window.SingChat.open();
window.SingChat.close();
// Identify a logged-in user (so chats follow them across devices)
window.SingChat.identify({ externalId: "user_123", name: "Ada", email: "ada@acme.com" });모바일 앱 (iOS / Android / Flutter / React Native)
네이티브 SDK는 앱에 컴파일되어 들어가므로 웹 위젯처럼 자동으로 업데이트되지 않습니다. 새 버전을 적용하려면 패키지 매니저에서 SDK 버전을 올리고 새 앱 빌드를 배포하세요. 초기화 방식은 어디서나 동일합니다 — https://cs.askais.com를 가리키고 app-id로 식별합니다.
// Swift Package Manager
.package(url: "https://github.com/singlink/singlink-ios", from: "0.1.0")
let client = SingChatClient(baseURL: "https://cs.askais.com")
try await client.identify(.deviceAnonymous(appId: "YOUR_APP_ID"))모든 백엔드 또는 언어
SDK가 필요 없습니다 — REST API를 직접 호출해 연락처를 식별하고 메시지를 주고받으세요. OpenAPI 사양으로부터 생성한 SDK도 30+ 언어로 제공합니다.
# Any backend / language — talk to the REST API directly
curl -X POST https://cs.askais.com/api/v1/auth/identify \
-H 'Content-Type: application/json' \
-d '{"appId":"YOUR_APP_ID","externalId":"user_123"}'