# 전자서명 템플릿 미리보기 페이지 API

전자서명 템플릿 미리보기 페이지를 제공합니다.

API 응답으로 미리보기 페이지의 URL 을 내려주며, 해당 URL에 쿼리파라미터를 추가하여 사전입력값이 포함된 미리보기를 확인할 수도 있습니다.

* 미리보기 페이지에서는 계약 문서와 사전입력값이 적용된 상태를 확인할 수 있습니다.
* URL에 쿼리 파라미터를 추가하여 사전입력값을 포함시킬 수 있습니다.

<br>

## `GET` kit-api/v1/signature-templates/\[key]/preview-url

Method: GET\
Endpoint: kit-api/v1/signature-templates/\[key]/preview-url\
Param: key는 전자서명 템플릿의 id(숫자) 혹은 slug(문자)를 의미

<br>

## Example

```
...kit-api/v1/signature-templates/ABC1234/preview-url?input=%7B%22324%22%3A%22value1%22%2C%22325%22%3A%22value2%22%7D
```

<br>

## Request Query

| Key        | Description                                                                                                       | Required             |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | -------------------- |
| mode       | 미리보기 화면의 사전입력값 부분에 라벨을 기준으로 표시할지 실제 등록한 값을 기준으로 표시할지 설정하는 옵션 (LABEL, CONTENTS)                                    | no (default LABEL)   |
| permission | iframe 등 미리보기 화면을 서비스 내부에 포함하고 싶은 경우에 대한 권한 설정 (PUBLIC, PRIVATE)                                                  | no (default PRIVATE) |
| input      | 미리보기 페이지에 사전입력값을 포함하고 보여주고 싶은 경우, JSON 형태의 사전입력값을 문자열로 변경한 후 encode하여 사용 가능. key는 템플릿에 등록된 object의 id 또는 slug만 허용 | no                   |
| inputType  | input 필드 사용 시 key의 타입을 설정 ('id', 'slug')                                                                          | no (default 'id')    |

```json
// inputType이 'id'인 경우
{
  // id: 324, id: 325의 입력값의 내용이 채워진 상태로 미리보기 페이지를 조회하는 경우
  // json을 string으로 변환 후, encode하여 사용
  "324": "value1",
  "325": "value2",
  "326": "true" // 체크박스 타입의 사전입력값은 'true' 값을 이용
}
// inputType이 'slug'인 경우
{
  // slug: slug-324, slug: slug-325의 입력값의 내용이 채워진 상태로 미리보기 페이지를 조회하는 경우
  // json을 string으로 변환 후, encode하여 사용
  "slug-324": "value1",
  "slug-325": "value2",
  "slug-326": "true" // 체크박스 타입의 사전입력값은 'true' 값을 이용
}
```

<br>

## Response

```json
{
  "ok": true, // api 성공 여부
  "data": {
    "url": "https://prix.im/..." // 전자서명 템플릿 미리보기 페이지로 이동되는 주소
  }
}
```

<br>

| Status Code | Error Code                                 | Description                                                                   |
| ----------- | ------------------------------------------ | ----------------------------------------------------------------------------- |
| 400         | INVALID\_JSON\_PARSING                     | input 필드의 JSON 파싱 과정에서 에러가 발생한 경우                                             |
| 400         | SIGNATURE\_TEMPLATE\_OBJECT\_NOT\_FOUND    | input 필드에 전달한 key 중 해당 템플릿에 등록된 사전입력값 object의 id 또는 slug와 일치하지 않는 key가 포함된 경우 |
| 400         | CONFIGURATION\_CONTRACT\_PREVIEW\_DISABLED | permission이 PUBLIC인 경우, 해당 계정의 미리보기가 허용되지 않은 경우                               |
| 404         | NOT\_FOUND\_SIGNATURE\_TEMPLATE            | 전자서명 템플릿이 존재하지 않는 경우                                                          |

<br>


---

# Agent Instructions: 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:

```
GET https://api-kit.prix.im/signature-template/preview-url.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
