LiKE AI 검색을 귀하의 애플리케이션, 웹사이트 또는 내부 시스템에 임베드하십시오. 세 가지 통합 방법: REST API, JS 위젯, iframe.
#REST API
요금제별 이용 가능 여부. Public API와 공개 위젯은 이를 포함하는 요금제에서만 작동합니다(요금제와 결제 참조). 그 밖의 요금제에서는 키나 공개 위젯을 만들 수 없고, 이미 발급된 것도 응답하지 않습니다: 키로 보낸 요청은
403을 받고, 사이트에 위젯 버튼이 나타나지 않습니다. 기업용 위젯은 이 플래그와 무관합니다.
#1단계 — API 키 생성
- 통합 → Public API → "키 생성"
- 이름 입력(예: "Mobile app")
- 키 복사 — 한 번만 표시됩니다
#2단계 — API 사용
모든 요청은 헤더를 통해 인증됩니다:
X-API-Key: your-key#핵심 엔드포인트
| 엔드포인트 | 메서드 | 설명 |
|---|---|---|
/api/public/search |
POST | 지식 베이스 전반의 AI 검색 |
/api/public/toc |
GET | 공개 문서 목차 |
/api/public/articles |
GET | 공개 문서 목록 |
/api/public/articles/{id} |
GET | 문서 내용 |
#예시: AI 검색
curl -X POST https://your-account.lynkora.pro/api/public/search \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"q": "Как оформить отпуск?"}'응답:
{
"answer": "Для оформления отпуска...",
"sources": [
{"title": "Политика отпусков", "url": "..."}
]
}#속도 제한
API 요청은 키별로 제한됩니다; 초과되면 Retry-After 헤더와 함께 HTTP 429가 반환됩니다.
#보안
- 키를 코드가 아닌 환경 변수에 저장하십시오
- 각 애플리케이션마다 별도의 키를 생성하십시오
- 사용하지 않는 키는 삭제하십시오
- 키 설정에서 도메인을 제한하십시오
#JS 위젯
모든 웹사이트에 임베드할 수 있는 플로팅 AI 검색 버튼입니다.
#1단계 — 코드 받기
- 통합 → 채널 → "JS Widget" 카드 → "위젯 관리" → "위젯 만들기". "위젯을 넣을 사이트 주소"를 지정합니다
- 매개변수 구성(아래 표 참조)
- 코드 복사
#2단계 — 사이트에 추가
복사한 <script>를 닫는 </body> 태그 앞에 삽입하십시오:
#웹사이트 빌더에서 코드를 넣는 위치
코드는 모든 사이트에서 동일하며 변경할 필요가 없습니다: 빌더가 어디에 줄을 넣든 위젯은 페이지에서 스스로 자리를 찾습니다. 다른 점은 어디에 붙여넣는가뿐입니다.
모든 사이트 (HTML). 검색이 필요한 모든 페이지의 닫는 </body> 태그 앞에 코드를 붙여넣으십시오 — 또는 사이트의 공통 템플릿에 넣으십시오.
WordPress. WPCode 플러그인(Insert Headers and Footers)을 설치하십시오 → Code Snippets → Header & Footer → 코드를 Footer에 붙여넣기 → Save Changes. WordPress.com에서는 모든 요금제에서 플러그인을 사용할 수 있는 것은 아닙니다.
Tilda. 사이트 전체: Site Settings → More → HTML code for the HEAD section → 코드 붙여넣기 → Save → 모든 페이지를 다시 게시. 한 페이지만: Other → T123 (HTML code) 블록을 추가하고 그 안에 코드를 붙여넣으십시오.
Wix. 사이트 대시보드에서 Settings → Custom Code를 여십시오(인터페이스 버전에 따라 "Advanced" 또는 "Development & integrations" 아래) → Add Custom Code → 코드 붙여넣기 → All pages → Body — end → Apply. 페이지에 "Embed HTML" 요소를 사용하지 마십시오: 다른 주소의 프레임에서 열리므로 위젯이 작동하지 않습니다. Wix의 사용자 지정 코드는 도메인이 연결된 프리미엄 요금제에서 사용할 수 있습니다.
Webflow. Site settings → Custom code → Footer code → 코드 붙여넣기 → Save → 사이트 게시. 사이트 전체 사용자 지정 코드는 유료 사이트 요금제에서 사용할 수 있습니다.
Squarespace. Code Injection을 여십시오(사이트 설정에서; 인터페이스 버전에 따라 Developer tools 또는 Website Tools 아래) → 코드를 Footer에 붙여넣기 → Save. 코드 삽입은 모든 요금제에서 사용할 수 있는 것은 아닙니다.
Shopify. Online Store → Themes → … → Edit code → layout/theme.liquid 파일 → </body> 앞에 코드 붙여넣기 → Save.
Framer. Site Settings → General → Custom Code → 코드를 End of tag에 붙여넣기 → 사이트 게시.
Google Tag Manager. Tags → New → Custom HTML → 코드 붙여넣기 → 트리거 All Pages → Save → 컨테이너 Publish.
Docusaurus. 코드는 같은 키로 docusaurus.config.js에 넣습니다:
scripts: [
{
src: 'https://your-account.lynkora.pro/api/public/widget.js',
'data-key': 'wk_live_YOUR_KEY',
async: true,
},
],사이트 주소. 위젯은 허용된 도메인에 있는 주소에서만 작동하며, 주소는 정확히 일치해야 합니다: example.com과 www.example.com은 서로 다른 두 주소이므로 둘 다 추가하십시오. 빌더의 미리보기 주소(예: *.tilda.ws, *.wixsite.com, *.webflow.io, *.myshopify.com)에서 사이트를 테스트한다면 그 주소도 추가하십시오.
버튼이 나타나지 않습니까? 세 가지를 확인하십시오: 위젯이 활성화되어 있는지; 페이지 주소가 허용된 도메인에 정확히 — www 포함 여부까지 — 들어 있는지; 코드가 빌더가 프레임으로 여는 요소가 아니라 사이트 설정이나 템플릿에 들어 있는지.
#위젯 매개변수
| 매개변수 | 값 | 설명 |
|---|---|---|
data-key |
wk_live_... |
필수. 위젯 키(통합 → 채널 → JS Widget에서 생성). 없으면 위젯이 시작되지 않습니다 |
data-position |
bottom-right / bottom-left / none |
플로팅 버튼의 위치(기본값 bottom-right) |
data-theme |
light / dark / auto |
시각 테마(기본값 light; auto는 웹사이트의 테마를 따릅니다) |
data-lang |
ru / en / de / es / fr / it / pt / ko / sr / sr-Cyrl / zh / ar |
기본 언어. 방문자의 언어를 알 수 없을 때만 적용됩니다: 방문자의 선택과 브라우저 언어가 우선합니다. 어느 것도 맞지 않으면 영어 |
data-hotkey |
k |
Cmd/Ctrl과 조합된 열기 키(기본값 k → Cmd/Ctrl + K) |
data-session-token |
JWT | 선택 사항. 사용자별 신원 모드용 세션 토큰(아래 "인증 모드 비교" 참조) |
#결과
사이트 모서리에 버튼이 나타납니다(색상 — 위젯 설정에서). 클릭하면 → 질문 입력란이 있는 채팅 창 → 귀하의 지식 베이스에서 나온 AI 답변.
#언어
방문자는 창 머리글의 지구본 버튼으로 언어를 바꿉니다; 선택은 이 위젯에 대해 방문자의 브라우저에 저장됩니다. 선택하지 않으면 위젯은 브라우저 언어 중 처음 맞는 언어, 그다음 위젯 설정의 언어(data-lang), 그다음 영어를 사용합니다. 귀하 사이트 페이지의 언어는 고려하지 않습니다. 아랍어에서는 창이 오른쪽에서 왼쪽으로 열립니다.
#사이트 연결
위젯은 생성 시 지정한 주소("위젯을 넣을 사이트 주소")에서만 작동하며, 다른 사이트의 요청은 거부됩니다. 여러 주소는 쉼표로 구분합니다. 주소가 없으면 위젯을 켤 수 없으며, "모든 사이트"를 뜻하는 별표는 허용되지 않습니다. 주소는 정확히 비교됩니다: example.com과 www.example.com은 서로 다른 주소이므로, 사이트가 둘 다로 열린다면 둘 다 지정하세요. 로컬 테스트에는 포트가 포함된 주소를 지정하세요. 예: http://127.0.0.1:8899.
#방문자에게 보이는 것
- 답변 본문에
[2.3]같은 출처 표시가 없으며; 제목과 링크는 서식이 적용됩니다. - 답변 아래에 "출처" 블록이 있습니다: 링크는 원본 페이지로, 없으면 문서로 연결됩니다.
- "전체 검색 열기" 링크는 기업용 위젯에만 있습니다.
#AI 답변 한도를 모두 사용한 경우
공개 위젯은 한도가 복원될 때까지 사이트에서 완전히 숨겨집니다. 기업용 위젯은 그대로 표시되지만 질문을 받지 않으며, 검색을 다시 이용할 수 있는 시점을 보여 줍니다.
#iframe
페이지에 임베드되는 완전한 기능의 검색 인터페이스입니다:
#임베드 코드
/embed는 다른 사이트의 프레임 안에서 열 수 있는 유일한 포털 주소입니다. 포털 루트(https://your-account.lynkora.pro)는 임베드할 수 없으며 브라우저가 이를 거부합니다. 프레임에는 키가 필요하지 않습니다. 익명으로 동작하며 익명 포털 방문자가 보는 것과 정확히 같은 내용을 보여 줍니다. 범위는 위젯 설정에서 가져옵니다.
#직접 링크
iframe이 맞지 않는 경우, 사용자에게 직접 링크를 제공하십시오: https://your-account.lynkora.pro
#데모 모드
API 키 없이 테스트할 수 있도록 제한이 있는 데모 엔드포인트를 사용할 수 있습니다:
| 매개변수 | 값 |
|---|---|
| 인증 | 필요 없음 |
| 제한 | 주소별 요청 제한이 적용됩니다. 초과하면 Retry-After 헤더와 함께 HTTP 429가 반환됩니다 |
| 용도 | API 사용 체험. 실제 운영 부하에는 키를 생성하십시오 |
엔드포인트: POST /api/public/demo/search
#인증 모드 비교
위젯은 두 가지 인증 모드를 지원합니다.
#모드 A — URL 영역 신뢰
클라이언트 측 인증: 위젯이 있는 페이지에 누가 도달하는지(VPN, SSO, 보호된 경로)는 귀하의 책임입니다. Lynkora는 사용자의 신원을 알지 못하며 — 요청의 Origin/IP만 압니다. 위젯은 임베드 코드가 있는 페이지를 여는 모든 사람에게 표시됩니다.
- 백엔드 코드: 0줄
- 온보딩 시간: 약 2분
- 적합한 대상: 인트라넷, 내부 포털
#모드 B — 세션 토큰(사용자별 JWT)
귀하의 백엔드가 각 사용자에게 수명이 짧은 세션 토큰을 발급합니다. Lynkora는 신원을 알고, 사용자별 감사를 유지하며, 취소 및 GDPR DSAR을 지원합니다.
- 백엔드 코드: 약 10줄(SDK를 통해)
- 온보딩 시간: 1~2시간
- 적합한 대상: 멀티테넌트 SaaS, 규제 산업
| 모드 A — URL 영역 | 모드 B — 세션 토큰 | |
|---|---|---|
| 사용자 신원 | 없음(Origin/IP만) | 있음(사용자별 JWT) |
| 사용자별 감사 | 없음 | 있음 |
| 취소 / GDPR DSAR | 없음 | 있음 |
| 백엔드 코드 | 0줄 | 약 10줄(SDK) |
| 온보딩 | 약 2분 | 1~2시간 |