Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

서버 SDK 페이지 추가 #636

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/routes/(root)/opi/ko/_nav.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,11 @@
items:
- /ko/integration/v2-mobile-sdk/readme

- label: 서버 SDK
systemVersion: v2
items:
- /ko/integration/v2-server-sdk/readme

- label: 결제 연동하기
systemVersion: v1
items:
Expand Down
93 changes: 93 additions & 0 deletions src/routes/(root)/opi/ko/integration/v2-server-sdk/readme.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
title: 서버 SDK 레퍼런스
description: 웹훅 및 REST API 연동시 사용되는 SDK에 대한 설명 문서입니다.
targetVersions: ["v2"]
---

import Tabs from "~/components/gitbook/Tabs";

포트원 서버 SDK는 웹훅을 포함한 포트원 V2 REST API를 여러 언어에서 별도의 보일러플레이트 없이 사용 가능하도록 만들어진 SDK입니다.

현재 JavaScript 및 TypeScript, Python, JVM을 지원하고 있으며, Go, PHP 등을 지원할 예정입니다.

## JavaScript 및 TypeScript

- [GitHub 레포지토리](https://github.com/portone-io/server-sdk/tree/main/javascript)
- [API 레퍼런스](https://portone-io.github.io/server-sdk/js)

JavaScript 및 TypeScript SDK는 [npm](https://www.npmjs.com/package/@portone/server-sdk)과 [jsr](https://jsr.io/@portone/server-sdk)을 통해 배포되고 있습니다.
`@portone/server-sdk` 패키지를 의존성에 추가하여 사용하실 수 있습니다.

Node.js의 경우 v20 이상에서 정상 동작하며, v20 미만 버전은 폴리필이 필요합니다.

<Tabs>
<Tabs.Tab title="Node.js v18 이상 v20 미만">
애플리케이션 코드 시작 부분에 아래 코드를 삽입해 주세요.

```javascript title="CommonJS"
globalThis.crypto = require("node:crypto").webcrypto;
```

```javascript title="ESM"
import { webcrypto } from "node:crypto";
globalThis.crypto = webcrypto;
```
</Tabs.Tab>

<Tabs.Tab title="Node.js v18 미만">
[@whatwg-node/fetch](https://www.npmjs.com/package/@whatwg-node/fetch) 패키지를 의존성에 추가해 주세요.

애플리케이션 코드 시작 부분에 아래 코드를 삽입해 주세요.

```javascript title="CommonJS"
const { fetch, crypto } = require("@whatwg-node/fetch");
globalThis.fetch = fetch;
globalThis.crypto = crypto;
```

```javascript title="ESM"
import { crypto, fetch } from "@whatwg-node/fetch";
globalThis.fetch = fetch;
globalThis.crypto = crypto;
```
</Tabs.Tab>
</Tabs>

## Python

- [GitHub 레포지토리](https://github.com/portone-io/server-sdk/tree/main/python)
- [API 레퍼런스](https://portone-io.github.io/server-sdk/py)

Python SDK는 [PyPI](https://pypi.org/project/portone-server-sdk)를 통해 배포되고 있습니다.
`portone-server-sdk` 패키지를 의존성에 추가하여 사용하실 수 있습니다.

Python 3.9 이상에서 정상 동작합니다.

## JVM

- [GitHub 레포지토리](https://github.com/portone-io/server-sdk/tree/main/jvm)
- [API 레퍼런스](https://portone-io.github.io/server-sdk/jvm)

Java, Kotlin, Scala 등에서 사용 가능한 JVM SDK는 [Maven](https://central.sonatype.com/artifact/io.portone/server-sdk)을 통해 배포되고 있습니다.

`io.portone:server-sdk` 패키지를 의존성에 추가하여 사용하실 수 있습니다.

```xml title="Apache Maven"
<dependency>
<groupId>io.portone</groupId>
<artifactId>server-sdk</artifactId>
<version>0.3.0</version>
</dependency>
```

```kotlin title="Gradle (Kotlin)"
implementation("io.portone:server-sdk:0.3.0")
```

```groovy title="Gradle (Groovy)"
implementation 'io.portone:server-sdk:0.3.0'
```

```scala title="sbt"
libraryDependencies += "io.portone" % "server-sdk" % "0.3.0"
```