ํ ์ค์ฆ๊ถ Open API๋ฅผ ์ํ ๋น๊ณต์ SDK ํ๋ก์ ํธ์ ๋๋ค. TypeScript SDK๋ npm ํจํค์ง๋ก, Python SDK๋ PyPI ํจํค์ง๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
Note
์ด ํ๋ก์ ํธ๋ ํ ์ค์ฆ๊ถ ๊ณต์ OpenAPI ๋ฌธ์์ ๊ณต๊ฐ๋ ์๋ํฌ์ธํธ๋ง ์ฌ์ฉํฉ๋๋ค. ํ ์ค์ฆ๊ถ ๋๋ ๋น๋ฐ๋ฆฌํผ๋ธ๋ฆฌ์นด๊ฐ ๊ณต์ ์ ๊ณตํ๊ฑฐ๋ ๋ณด์ฆํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋๋๋ค.
TypeScript SDK๋ npm ํจํค์ง๋ก ์ค์นํ ์ ์์ต๋๋ค.
npm install tossinvest-openapi
# or
pnpm add tossinvest-openapiimport { TossInvestClient } from "tossinvest-openapi";
const client = new TossInvestClient({
clientId: process.env.TOSS_INVEST_CLIENT_ID!,
clientSecret: process.env.TOSS_INVEST_CLIENT_SECRET!,
});
const accounts = await client.getAccounts();
const prices = await client.getPrices({ symbols: "005930,AAPL" });
console.log({
accountCount: accounts.length,
priceCount: prices.length,
});Python SDK๋ PyPI ํจํค์ง๋ก ์ค์นํ ์ ์์ต๋๋ค.
pip install tossinvest-openapifrom tossinvest_openapi import TossInvestClient
with TossInvestClient(
client_id="...",
client_secret="...",
) as client:
accounts = client.get_accounts()
prices = client.get_prices(symbols="005930,AAPL")Warning
clientSecret / client_secret์ ์๋ฒ ์ฌ์ด๋ ํ๊ฒฝ์์๋ง ์ฌ์ฉํ์ธ์. ๋ธ๋ผ์ฐ์ , ๋ชจ๋ฐ์ผ ์ฑ,
๊ณต๊ฐ ์ ์ฅ์, ํด๋ผ์ด์ธํธ ๋ฒ๋ค์ ํฌํจํ๋ฉด ์ ๋ฉ๋๋ค.
| ํจํค์ง | ์ํ | ์ค๋ช |
|---|---|---|
| TypeScript | ์ฌ์ฉ ๊ฐ๋ฅ, 0.x | ๊ณต์ OpenAPI 1.1.1์ ๊ณ์ข, ์์ธ, ์ฃผ๋ฌธ API๋ฅผ ์ ๊ณตํฉ๋๋ค. |
| Python | ์ฌ์ฉ ๊ฐ๋ฅ, 0.x | sync client๋ก ๊ณ์ข, ์์ธ, ์ฃผ๋ฌธ API๋ฅผ ์ ๊ณตํฉ๋๋ค. |
| OpenAPI | 1.1.1 ๊ธฐ์ค | ๊ณต์ OpenAPI ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ ๊ณผ ๋ฉ์๋๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. |
SDK๋ Toss Securities OpenAPI 1.1.1 ๋ฌธ์์ ์ฃผ์ API๋ฅผ ์ง์ํฉ๋๋ค.
| ์์ญ | ์ง์ |
|---|---|
| OAuth2 Client Credentials ์ธ์ฆ | ์ง์ |
| ๊ณ์ข ๋ชฉ๋ก/์๊ณ /๋ณด์ ์ข ๋ชฉ | ์ง์ |
| ๊ตญ๋ด/ํด์ธ ์์ธ ์กฐํ | ์ง์ |
| ์ฃผ๋ฌธ ๊ฐ๋ฅ ๊ธ์ก/๋งค๋ ๊ฐ๋ฅ ์๋/์์๋ฃ ์ฌ์ ํ์ธ | ์ง์ |
| ์ฃผ๋ฌธ ์์ฑ/์ ์ /์ทจ์ | ์ง์ |
| ์ฃผ๋ฌธ ๋ชฉ๋ก/์์ธ ์กฐํ | ์ง์ |
| WebSocket/์ค์๊ฐ streaming | ๋ฏธ์ง์ |
์์ธํ ์ฌ์ฉ๋ฒ์ TypeScript package README์ Python package README๋ฅผ ํ์ธํ์ธ์.
- ๊ณต์ Toss Securities Open API ์คํค๋ง์์ ํ์๋ TypeScript/Python ํ์ ์ ์ฌ์ฉํฉ๋๋ค.
- OAuth2 Client Credentials ์ธ์ฆ์ SDK๊ฐ ์ฒ๋ฆฌํฉ๋๋ค.
- ๊ธฐ๋ณธ ์๋ต์
result๋ฅผ unwrapํ๊ณ , ํ์ํ๋ฉด ์๋ณธ ์๋ต๊ณผ HTTP metadata๋ ํ์ธํ ์ ์์ต๋๋ค. - ์ฃผ๋ฌธ API๋ ๋ช ์์ ์ผ๋ก ๋ ธ์ถํ๋ state-changing operation์ผ๋ก ๋ค๋ฃน๋๋ค.
- reverse engineered API, private Toss app/web API, ๋น๊ณต๊ฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.
ํ์ํ ๋๊ตฌ๋ mise๋ก ๊ด๋ฆฌํฉ๋๋ค.
mise install
mise run install
mise run checkTypeScript ํจํค์ง๋ npm์ tossinvest-openapi๋ก ๋ฐฐํฌ๋ฉ๋๋ค. Python ํจํค์ง๋ PyPI์ tossinvest-openapi๋ก ๋ฐฐํฌ๋ฉ๋๋ค. ๋ฒ์ ๋ณ ๋ณ๊ฒฝ ์ฌํญ์ CHANGELOG๋ฅผ ํ์ธํ์ธ์.
credential, access token, ๊ณ์ข ์ ๋ณด, ์ฃผ๋ฌธ payload๋ฅผ public issue์ ์ฌ๋ฆฌ์ง ๋ง์ธ์. ๋ณด์ ์ด์๋ SECURITY๋ฅผ ๋ฐ๋ผ ๋ณด๊ณ ํ์ธ์.
๊ฐ๋ฐ ํ๊ฒฝ, ๊ฒ์ฆ ๋ช ๋ น, ๋ฌธ์ ๊ท์น์ CONTRIBUTING์ ํ์ธํ์ธ์.