Jeffrey (Dongkyu) Kim
35b8207561
feat(toss-securities): add official read-only OpenAPI client
...
Add an official Toss Securities Open API client alongside the existing
unofficial tossctl wrapper. The package ships read-only helpers backed by
the official REST API (https://openapi.tossinvest.com ): OAuth2
client_credentials token issuance with an in-memory token cache, bearer +
X-Tossinvest-Account header handling, TossApiError/TossCredentialsError
with secret/token redaction, and 429 Retry-After/backoff retry.
Credentials are read from TOSSINVEST_CLIENT_ID/TOSSINVEST_CLIENT_SECRET
(optional TOSSINVEST_ACCOUNT/TOSSINVEST_API_BASE_URL) and sent directly to
Toss, never through a shared proxy. Order mutation remains out of scope;
the tossctl path is retained as a documented fallback.
Closes #306
2026-06-10 16:11:37 +09:00
..
2026-04-08 21:13:55 +09:00
2026-04-22 16:20:38 +09:00
2026-04-06 17:44:23 +09:00
2026-05-02 23:51:59 +09:00
2026-04-21 09:53:03 +09:00
2026-05-08 10:14:33 +09:00
2026-05-13 16:01:42 +09:00
2026-05-14 00:40:00 +09:00
2026-05-13 16:01:42 +09:00
2026-05-13 16:01:42 +09:00
2026-05-14 09:57:45 +09:00
2026-05-15 16:35:16 +09:00
2026-05-15 17:50:58 +09:00
2026-03-27 02:44:48 +09:00
2026-05-08 15:41:21 +09:00
2026-05-17 18:37:07 +09:00
2026-05-10 02:36:57 +09:00
2026-03-30 22:12:04 +09:00
2026-05-15 01:35:43 +09:00
2026-05-29 20:57:25 +09:00
2026-05-13 01:49:16 +09:00
2026-04-13 00:16:35 +09:00
2026-05-05 00:27:31 +09:00
2026-04-06 17:44:23 +09:00
2026-04-08 21:13:55 +09:00
2026-04-18 11:50:47 +09:00
2026-04-11 03:02:09 +09:00
2026-04-18 11:50:47 +09:00
2026-05-13 15:43:26 +09:00
2026-04-28 14:47:30 +09:00
2026-04-06 17:44:23 +09:00
2026-04-22 12:46:42 +09:00
2026-04-10 13:14:15 +09:00
2026-06-05 22:24:15 +09:00
2026-05-22 13:54:36 +09:00
2026-03-29 17:05:17 +09:00
2026-05-23 19:25:10 +09:00
2026-05-15 18:02:04 +09:00
2026-04-18 11:50:47 +09:00
2026-03-25 23:57:53 +09:00
2026-03-29 15:57:15 +09:00
2026-05-06 16:56:40 +09:00
2026-04-08 23:57:31 +09:00
2026-05-18 11:42:40 +09:00
2026-06-10 14:32:44 +09:00
2026-04-29 00:50:37 +09:00
2026-04-02 23:59:38 +09:00
2026-05-12 18:49:06 +09:00
2026-05-23 17:54:56 +09:00
2026-04-08 21:13:55 +09:00
2026-04-21 09:53:03 +09:00
2026-04-18 11:50:47 +09:00
2026-04-22 12:48:21 +09:00
2026-04-06 17:44:23 +09:00
2026-04-18 11:50:47 +09:00
2026-05-13 16:31:29 +09:00
2026-05-13 16:31:29 +09:00
2026-05-18 11:43:33 +09:00
2026-05-28 22:49:31 +09:00
2026-04-06 17:44:23 +09:00
2026-04-22 10:58:03 +09:00
2026-04-21 09:53:03 +09:00
2026-05-18 23:11:23 +09:00
2026-03-25 23:57:53 +09:00
2026-04-09 14:51:30 +09:00
2026-04-14 00:07:18 +09:00
2026-04-14 00:07:18 +09:00
2026-05-11 14:43:55 +09:00
2026-04-13 00:06:18 +09:00
2026-04-22 16:03:18 +09:00
2026-04-21 09:53:03 +09:00
2026-05-14 22:20:33 +09:00
2026-05-18 16:36:56 +09:00
2026-04-06 17:44:23 +09:00
2026-04-22 10:52:57 +09:00
2026-04-28 23:28:12 +09:00
2026-04-06 17:44:23 +09:00
2026-04-22 12:45:13 +09:00
2026-04-22 15:23:23 +09:00
2026-05-22 13:54:36 +09:00
2026-05-14 15:37:54 +09:00
2026-05-06 16:56:40 +09:00
2026-05-15 19:22:55 +09:00
2026-06-09 10:57:54 +09:00
2026-04-10 13:01:01 +09:00
2026-05-13 02:50:26 +09:00
2026-06-10 16:11:37 +09:00
2026-04-02 23:59:38 +09:00
2026-04-10 10:59:22 +09:00