> For the complete documentation index, see [llms.txt](https://sharelink-docs.toss.im/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sharelink-docs.toss.im/guide/open-api/auth.md).

# 연동 시작하기

연동 전에 **한 번만 준비**하는 것들입니다. 모두 쉐어링크 크리에이터 어드민에서 하는 작업이며, 코드로 호출하는 부분은 없습니다.

준비가 끝나면 [빠른 시작](/guide/open-api/readme.md)에서 실제로 호출해 보시면 됩니다.

***

## 환경과 Base URL

| 환경 | Base URL                            |
| -- | ----------------------------------- |
| 운영 | `https://sharelink.toss.im/openapi` |

Open API는 **운영 환경에서만 제공**됩니다. 별도의 테스트(알파) 환경은 없으므로, 연동 검증도 운영 환경에서 진행해 주세요.

전송 구간은 **TLS 1.2 이상 HTTPS만** 허용합니다.

***

## 1. 인증 정보 발급

쉐어링크 크리에이터 어드민(`sharelink.toss.im`)의 API 연동 메뉴에서 직접 발급받으실 수 있습니다.

**Access Key** / **Secret Key** 한 쌍이 발급됩니다. OAuth 규격의 `client_id` / `client_secret`과 같은 것이며, 다음 단계에서 이 한 쌍으로 액세스 토큰을 받습니다.

> **Secret Key는 발급 직후 1회만 표시됩니다.** 반드시 안전한 곳에 보관해 주세요.

분실하셨다면 어드민에서 재발급하실 수 있습니다. 다만 재발급하면 **기존 Secret Key는 즉시 사용할 수 없으므로**, 연동 시스템의 키 교체 시점을 맞춰 진행해 주세요. Access Key는 그대로 유지됩니다.

> 인증 정보는 **사업자(정산 거래처) 단위로 1개**가 발급됩니다. 같은 사업자에 소속된 계정이 여럿이어도 동일한 키를 공유하며, 한 계정이 Secret Key를 재발급하면 다른 계정이 쓰던 키도 함께 무효가 됩니다.

### 스코프

발급 시 아래 두 스코프가 기본으로 부여됩니다. 토큰이 무엇을 할 수 있는지를 정하는 값입니다.

| 스코프               | 용도                  |
| ----------------- | ------------------- |
| `sharelink:read`  | 카테고리·상품 목록·상품 상세 조회 |
| `sharelink:write` | 쉐어링크 발급             |

토큰을 받을 때 필요한 스코프를 지정하게 되는데, 구체적인 방법은 [빠른 시작](/guide/open-api/readme.md)의 1단계에 있습니다.

***

## 2. 출발지 IP 등록

API를 호출하는 서버의 고정 출발지 IP를 등록하셔야 호출이 허용됩니다. 인증 정보 발급 신청 시 함께 등록하시면 됩니다.

| 항목    | 내용                                                           |
| ----- | ------------------------------------------------------------ |
| 등록 방법 | 쉐어링크 크리에이터 어드민에서 직접 등록·수정                                    |
| 등록 개수 | 사업자당 최대 10개                                                  |
| 표기    | 단일 IPv4 주소(예: `203.0.113.10`) 또는 IP 대역(예: `160.79.104.0/21`) |

> **IP 대역은 `/16`부터 `/32`까지 등록하실 수 있습니다.** 대역으로 등록하시면 그 안의 IP 전체가 허용되므로, 출발지가 여러 개인 경우 한 줄로 등록하실 수 있습니다. 대역 하나도 등록 개수 1개로 셉니다.
>
> **대역은 시작 주소로 적어 주세요.** `160.79.104.0/21`은 등록되지만 `160.79.104.5/21`은 등록되지 않습니다. 이 경우 어떤 값으로 적어야 하는지 화면에서 안내해 드립니다.
>
> `/15`처럼 더 넓은 대역은 등록되지 않습니다. 실수로 의도보다 훨씬 넓은 범위가 등록되는 것을 막기 위한 제한입니다. 필요한 대역이 `/16`보다 넓다면 담당자에게 문의해 주세요.

> **등록할 IP는 내 PC가 아니라 API를 호출하는 서버의 IP입니다.** 등록된 IP가 하나도 없으면 모든 호출이 차단되고, 등록되지 않은 IP에서 호출하면 `SHARELINK_OPENAPI_ACCESS_DENIED` 가 응답됩니다.

서버 증설·이전 등으로 출발지 IP가 바뀌는 경우, 미리 어드민에서 추가 등록해 주세요.

***

## 준비가 끝났다면

Access Key / Secret Key를 받았고 출발지 IP를 등록하셨다면 준비 완료입니다.

[**빠른 시작**](/guide/open-api/readme.md)**으로 가셔서** 토큰을 받고 연결을 확인한 뒤, 실제로 링크를 발급받는 것까지를 한 번에 따라 해보세요.

매 호출에 적용되는 응답 형식·오류 처리·호출 제한은 [공통 규약](/guide/open-api/convention.md)에 정리되어 있습니다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sharelink-docs.toss.im/guide/open-api/auth.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
