sendgo-fastapi 1.3.0__tar.gz → 1.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sendgo-fastapi
3
- Version: 1.3.0
3
+ Version: 1.4.0
4
4
  Summary: Sendgo FastAPI 확장 — 카카오 알림톡/브랜드메시지, SMS/LMS/MMS
5
5
  Author-email: Sendgo <dev@sendgo.io>
6
6
  License: MIT
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.12
19
19
  Requires-Python: >=3.10
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE
22
- Requires-Dist: sendgo-python>=1.3
22
+ Requires-Dist: sendgo-python>=1.4
23
23
  Requires-Dist: fastapi>=0.110
24
24
  Requires-Dist: pydantic-settings>=2.0
25
25
  Dynamic: license-file
@@ -582,3 +582,28 @@ MIT License © 2026 [Sendgo](https://sendgo.io)
582
582
  ---
583
583
 
584
584
  *키워드: 카카오 알림톡 FastAPI, 카카오 친구톡 FastAPI, SMS 발송 FastAPI, 알림톡 FastAPI 패키지, FastAPI 카카오 API 연동, FastAPI 의존성 주입, Sendgo FastAPI SDK*
585
+
586
+ ## 계정 API (1.4.0)
587
+
588
+ 코어 1.4.0의 계정·조직·API 키·허용 IP 관리 12개 API를 사용할 수 있습니다.
589
+ 발송용 키 없이 에이전트 토큰만으로 구성할 수 있습니다.
590
+
591
+ 발송용 `accessKey`/`secretKey`가 없는 단계에서 사용하는 **별도 계정 클라이언트**입니다.
592
+ 콘솔에서 발급받은 에이전트 토큰(`SENDGO_AGENT_TOKEN`)으로 `/api/v2/account`를 호출합니다.
593
+ 계정 조회에는 `account:read`, 키·허용 IP 변경에는 `keys:write` 권한이 필요합니다.
594
+ 토큰 만료나 권한 부족(401/403)은 그대로 예외로 반환하며 자동 갱신·재시도하지 않습니다.
595
+
596
+ 조직 선택은 서버에 저장되는 **사용자 계정의 현재 조직**을 바꿉니다. 같은 사용자로
597
+ 여러 조직의 설정을 동시에 변경하지 마세요. 개인 계정으로 돌아가려면 조직 ID에
598
+ `null`(Python `None`, Ruby `nil`, Go `nil`) 또는 `personal`을 전달합니다.
599
+ 키 발급 응답의 `data.apiKey.secretKey`는 한 번만 반환되므로 서버의 비밀 저장소에 보관하세요.
600
+ 허용 IP가 하나라도 등록되면 목록 밖의 IP는 차단됩니다.
601
+ 에이전트 토큰과 키는 브라우저·모바일 앱에 포함하거나 응답·로그에 출력하지 않습니다.
602
+
603
+ ```python
604
+ from sendgo_fastapi import AccountDep
605
+ # SENDGO_AGENT_TOKEN 환경변수를 설정합니다.
606
+ @app.get('/internal/sendgo-status')
607
+ def status(account: AccountDep):
608
+ return account.me()
609
+ ```
@@ -556,3 +556,28 @@ MIT License © 2026 [Sendgo](https://sendgo.io)
556
556
  ---
557
557
 
558
558
  *키워드: 카카오 알림톡 FastAPI, 카카오 친구톡 FastAPI, SMS 발송 FastAPI, 알림톡 FastAPI 패키지, FastAPI 카카오 API 연동, FastAPI 의존성 주입, Sendgo FastAPI SDK*
559
+
560
+ ## 계정 API (1.4.0)
561
+
562
+ 코어 1.4.0의 계정·조직·API 키·허용 IP 관리 12개 API를 사용할 수 있습니다.
563
+ 발송용 키 없이 에이전트 토큰만으로 구성할 수 있습니다.
564
+
565
+ 발송용 `accessKey`/`secretKey`가 없는 단계에서 사용하는 **별도 계정 클라이언트**입니다.
566
+ 콘솔에서 발급받은 에이전트 토큰(`SENDGO_AGENT_TOKEN`)으로 `/api/v2/account`를 호출합니다.
567
+ 계정 조회에는 `account:read`, 키·허용 IP 변경에는 `keys:write` 권한이 필요합니다.
568
+ 토큰 만료나 권한 부족(401/403)은 그대로 예외로 반환하며 자동 갱신·재시도하지 않습니다.
569
+
570
+ 조직 선택은 서버에 저장되는 **사용자 계정의 현재 조직**을 바꿉니다. 같은 사용자로
571
+ 여러 조직의 설정을 동시에 변경하지 마세요. 개인 계정으로 돌아가려면 조직 ID에
572
+ `null`(Python `None`, Ruby `nil`, Go `nil`) 또는 `personal`을 전달합니다.
573
+ 키 발급 응답의 `data.apiKey.secretKey`는 한 번만 반환되므로 서버의 비밀 저장소에 보관하세요.
574
+ 허용 IP가 하나라도 등록되면 목록 밖의 IP는 차단됩니다.
575
+ 에이전트 토큰과 키는 브라우저·모바일 앱에 포함하거나 응답·로그에 출력하지 않습니다.
576
+
577
+ ```python
578
+ from sendgo_fastapi import AccountDep
579
+ # SENDGO_AGENT_TOKEN 환경변수를 설정합니다.
580
+ @app.get('/internal/sendgo-status')
581
+ def status(account: AccountDep):
582
+ return account.me()
583
+ ```
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "sendgo-fastapi"
7
- version = "1.3.0"
7
+ version = "1.4.0"
8
8
  description = "Sendgo FastAPI 확장 — 카카오 알림톡/브랜드메시지, SMS/LMS/MMS"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -23,7 +23,7 @@ classifiers = [
23
23
  ]
24
24
  requires-python = ">=3.10"
25
25
  dependencies = [
26
- "sendgo-python>=1.3",
26
+ "sendgo-python>=1.4",
27
27
  "fastapi>=0.110",
28
28
  "pydantic-settings>=2.0",
29
29
  ]
@@ -19,8 +19,14 @@ FastAPI 애플리케이션에서 Sendgo 코어(`sendgo-python`)를 손쉽게 사
19
19
  return {"success": True}
20
20
  """
21
21
 
22
- from .dependencies import SendgoDep, get_sendgo, init_sendgo
22
+ from .dependencies import SendgoDep, get_sendgo, init_sendgo, AccountDep, get_account
23
23
  from .settings import SendgoSettings
24
24
 
25
- __all__ = ["SendgoSettings", "get_sendgo", "SendgoDep", "init_sendgo"]
26
- __version__ = "1.0.0"
25
+ from sendgo import AccountClient
26
+
27
+ __all__ = ["AccountDep", "get_account", "AccountClient", "SendgoSettings", "get_sendgo", "SendgoDep", "init_sendgo"]
28
+ try:
29
+ from importlib.metadata import PackageNotFoundError, version
30
+ __version__ = version("sendgo-fastapi")
31
+ except PackageNotFoundError:
32
+ __version__ = "0.0.0.dev0"
@@ -14,7 +14,7 @@ from functools import lru_cache
14
14
  from typing import Annotated, Optional
15
15
 
16
16
  from fastapi import Depends, FastAPI, Request
17
- from sendgo import Sendgo
17
+ from sendgo import Sendgo, AccountClient
18
18
 
19
19
  from .settings import SendgoSettings
20
20
 
@@ -73,3 +73,16 @@ def init_sendgo(app: FastAPI, settings: SendgoSettings | None = None) -> Sendgo:
73
73
 
74
74
  # 라우트에서 `sendgo: SendgoDep` 형태로 주입받기 위한 타입 별칭
75
75
  SendgoDep = Annotated[Sendgo, Depends(get_sendgo)]
76
+
77
+
78
+ # 계정 API 설정은 발송용 필수 키를 요구하는 SendgoSettings와 독립적입니다.
79
+ def get_account() -> AccountClient:
80
+ """SENDGO_AGENT_TOKEN과 SENDGO_BASE_URL로 계정 클라이언트를 만듭니다."""
81
+ import os
82
+ return AccountClient(
83
+ agent_token=os.environ.get("SENDGO_AGENT_TOKEN", ""),
84
+ base_url=os.environ.get("SENDGO_BASE_URL", "https://sendgo.io"),
85
+ )
86
+
87
+
88
+ AccountDep = Annotated[AccountClient, Depends(get_account)]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sendgo-fastapi
3
- Version: 1.3.0
3
+ Version: 1.4.0
4
4
  Summary: Sendgo FastAPI 확장 — 카카오 알림톡/브랜드메시지, SMS/LMS/MMS
5
5
  Author-email: Sendgo <dev@sendgo.io>
6
6
  License: MIT
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.12
19
19
  Requires-Python: >=3.10
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE
22
- Requires-Dist: sendgo-python>=1.3
22
+ Requires-Dist: sendgo-python>=1.4
23
23
  Requires-Dist: fastapi>=0.110
24
24
  Requires-Dist: pydantic-settings>=2.0
25
25
  Dynamic: license-file
@@ -582,3 +582,28 @@ MIT License © 2026 [Sendgo](https://sendgo.io)
582
582
  ---
583
583
 
584
584
  *키워드: 카카오 알림톡 FastAPI, 카카오 친구톡 FastAPI, SMS 발송 FastAPI, 알림톡 FastAPI 패키지, FastAPI 카카오 API 연동, FastAPI 의존성 주입, Sendgo FastAPI SDK*
585
+
586
+ ## 계정 API (1.4.0)
587
+
588
+ 코어 1.4.0의 계정·조직·API 키·허용 IP 관리 12개 API를 사용할 수 있습니다.
589
+ 발송용 키 없이 에이전트 토큰만으로 구성할 수 있습니다.
590
+
591
+ 발송용 `accessKey`/`secretKey`가 없는 단계에서 사용하는 **별도 계정 클라이언트**입니다.
592
+ 콘솔에서 발급받은 에이전트 토큰(`SENDGO_AGENT_TOKEN`)으로 `/api/v2/account`를 호출합니다.
593
+ 계정 조회에는 `account:read`, 키·허용 IP 변경에는 `keys:write` 권한이 필요합니다.
594
+ 토큰 만료나 권한 부족(401/403)은 그대로 예외로 반환하며 자동 갱신·재시도하지 않습니다.
595
+
596
+ 조직 선택은 서버에 저장되는 **사용자 계정의 현재 조직**을 바꿉니다. 같은 사용자로
597
+ 여러 조직의 설정을 동시에 변경하지 마세요. 개인 계정으로 돌아가려면 조직 ID에
598
+ `null`(Python `None`, Ruby `nil`, Go `nil`) 또는 `personal`을 전달합니다.
599
+ 키 발급 응답의 `data.apiKey.secretKey`는 한 번만 반환되므로 서버의 비밀 저장소에 보관하세요.
600
+ 허용 IP가 하나라도 등록되면 목록 밖의 IP는 차단됩니다.
601
+ 에이전트 토큰과 키는 브라우저·모바일 앱에 포함하거나 응답·로그에 출력하지 않습니다.
602
+
603
+ ```python
604
+ from sendgo_fastapi import AccountDep
605
+ # SENDGO_AGENT_TOKEN 환경변수를 설정합니다.
606
+ @app.get('/internal/sendgo-status')
607
+ def status(account: AccountDep):
608
+ return account.me()
609
+ ```
@@ -1,3 +1,3 @@
1
- sendgo-python>=1.3
1
+ sendgo-python>=1.4
2
2
  fastapi>=0.110
3
3
  pydantic-settings>=2.0
File without changes
File without changes