Skip to content

Commit

Permalink
feat: add v2-server-sdk/readme
Browse files Browse the repository at this point in the history
  • Loading branch information
kiwiyou committed Oct 16, 2024
1 parent a5cc87b commit 17c8db3
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 0 deletions.
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>
```

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

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

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

0 comments on commit 17c8db3

Please sign in to comment.