시작하기
Integration overview
하나의 백엔드, 모든 플랫폼. 한 번만 임베드하면 항상 최신 상태로 유지됩니다.
AskAIs은 다양한 연결 방식을 갖춘 단일 백엔드입니다. 워크스페이스를 한 번만 설정하면 웹사이트, 모바일 앱, 또는 어떤 백엔드 서비스에든 채팅을 임베드할 수 있습니다. 고객은 Telegram, WhatsApp 같은 인바운드 채널로도 연락할 수 있습니다. 모든 클라이언트와 채널은 동일한 인박스, AI 에이전트, 지식 베이스와 통신합니다.
하나의 백엔드, 모든 플랫폼
어떤 플랫폼을 사용하든 설치는 간단하며, 대화·연락처·AI 응답·설정이 모두 공유됩니다. 각 플랫폼에서 어떻게 설치하고, 무엇보다 중요한 향후 업데이트를 어떻게 받는지 살펴보겠습니다.
플랫폼 한눈에 보기
| 플랫폼 | 설치 | 업데이트 방식 |
|---|---|---|
| 웹사이트 | <script src="…/widget.js"> | 자동, 페이지를 로드할 때마다 최신 버전을 가져옵니다 |
| iOS (WebView) | WebView embed | 자동, WebView가 최신 위젯을 로드합니다 |
| Android (WebView) | WebView embed | 자동, WebView가 최신 위젯을 로드합니다 |
| Flutter (네이티브 SDK) | pub (local package) | SDK 버전을 올리고 새 앱 빌드를 배포합니다 |
| React Native (WebView) | WebView / REST | 자동, WebView가 최신 위젯을 로드합니다 |
| 모든 백엔드 | REST API / OpenAPI | 직접 운영하는 서비스, 배포할 때마다 반영됩니다 |
모든 클라이언트와 채널이 함께 작동하나요?
네. 모두 동일한 AskAIs 워크스페이스로 들어가는 서로 다른 입구일 뿐이므로 완전히 상호 운용됩니다.
- 동일한 백엔드, 동일한 app-id: 모든 클라이언트가 워크스페이스 내 동일한 인박스에 연결됩니다.
- 기기를 넘나드는 단일 방문자: 동일한 externalId로 방문자를 식별하면 웹에서 시작한 대화가 앱에서 그대로 이어집니다.
- 임베드뿐만이 아닙니다. 인바운드 채널로서 웹과 앱 내 위젯 외에도 고객은 Telegram, WhatsApp으로 연락할 수 있으며(둘 다 엔드투엔드로 운영 중), 모든 메시지가 동일한 인박스로 모입니다. X 연결 자리도 준비되어 있습니다.
- 공유 구성: AI 에이전트(플랫폼 호스팅 또는 자체 키), 지식 베이스, 영업 시간, 키워드 응답, FAQ를 한 번만 구성하면 모든 채널에 적용됩니다.
웹, 공식 임베드 (권장)
이 한 줄을 </body> 앞에 넣으세요. 이것이 설치의 전부입니다. app-id는 공개되어도 안전하므로 그대로 배포해도 됩니다. Settings → Inboxes에서 복사하세요.
<script src="https://singchat.org/widget.js"
data-app-id="YOUR_APP_ID"
data-base-url="https://singchat.org"
async></script>⚠️ widget.js를 다운로드하거나 직접 호스팅하지 마세요
위젯은 항상 https://singchat.org/widget.js에서 로드하세요. 파일을 다운로드해 직접 호스팅하거나 자체 번들에 컴파일하면 위젯이 특정 버전에 고정되어, 향후 스타일 업데이트, 버그 수정, 새 기능이 전혀 전달되지 않습니다. singchat.org에서 로드하면 위젯이 자동으로 업데이트되며, 별도로 변경할 것이 없습니다.
페이지에서 제어하기 (선택)
스크립트가 로드되면 전역 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" });모바일 앱: Flutter SDK 또는 WebView 임베드
모바일에는 실제로 사용할 수 있는 세 가지 방법이 있습니다. 첫째, 네이티브 Flutter 위젯 SDK는 완전하고 테마를 적용할 수 있는 채팅 UI(플로팅 버블과 네이티브 채팅 화면이며 WebView가 아닙니다)를 제공합니다. pubspec에 추가하고 배포하면 됩니다. 둘째, iOS와 Android(및 React Native)에서는 웹 위젯을 WebView 안에 그대로 임베드할 수 있으며, 웹사이트와 동일한 경험을 제공하고 자동으로 최신 상태로 유지됩니다. 셋째, REST API와 서명된 웹훅을 사용해 자체 UI를 렌더링할 수 있습니다. 설치해야 하는 별도의 네이티브 iOS, Android, React Native 채팅 SDK는 없으며, 이 방법들이 지원되는 경로입니다.
# Flutter, native chat widget (floating bubble + native chat UI, not a WebView).
# In your app's pubspec.yaml (download and unzip the SDK package first):
dependencies:
singchat_widget:
path: ../singchat_widget
# iOS / Android / React Native without Flutter: load the hosted web widget in a
# WKWebView / WebView (same experience as the website), or drive the REST API
# with signed webhooks and render your own chat UI.모든 백엔드 또는 언어
SDK가 필요 없습니다. REST API를 직접 호출해 연락처를 식별하고 메시지를 주고받으며, 서명된 웹훅으로 인바운드 이벤트를 검증할 수 있습니다. 전체 API는 공개된 OpenAPI 사양을 따르므로, 자신의 언어로 클라이언트를 생성하거나 엔드포인트를 직접 호출할 수 있습니다.
# Any backend / language, talk to the REST API directly
curl -X POST https://singchat.org/api/v1/auth/identify \
-H 'Content-Type: application/json' \
-d '{"appId":"YOUR_APP_ID","externalId":"user_123"}'