LiKE AI 검색을 귀하의 애플리케이션, 웹사이트 또는 내부 시스템에 임베드하십시오. 세 가지 통합 방법: REST API, JS 위젯, iframe.


#REST API

요금제별 이용 가능 여부. Public API와 공개 위젯은 이를 포함하는 요금제에서만 작동합니다(요금제와 결제 참조). 그 밖의 요금제에서는 키나 공개 위젯을 만들 수 없고, 이미 발급된 것도 응답하지 않습니다: 키로 보낸 요청은 403을 받고, 사이트에 위젯 버튼이 나타나지 않습니다. 기업용 위젯은 이 플래그와 무관합니다.

#1단계 — API 키 생성

  1. 통합 → Public API → "키 생성"
  2. 이름 입력(예: "Mobile app")
  3. 키 복사 — 한 번만 표시됩니다

#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가 반환됩니다.

#보안

  1. 키를 코드가 아닌 환경 변수에 저장하십시오
  2. 각 애플리케이션마다 별도의 키를 생성하십시오
  3. 사용하지 않는 키는 삭제하십시오
  4. 키 설정에서 도메인을 제한하십시오

#JS 위젯

모든 웹사이트에 임베드할 수 있는 플로팅 AI 검색 버튼입니다.

#1단계 — 코드 받기

  1. 통합 → 채널 → "JS Widget" 카드 → "위젯 관리" → "위젯 만들기". "위젯을 넣을 사이트 주소"를 지정합니다
  2. 매개변수 구성(아래 표 참조)
  3. 코드 복사

#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시간