sendgo 1.4.0 → 1.5.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b098fb0eec763f43b7d70391b8a7fa5840960adc8abdf0d75f7a88106741a67
4
- data.tar.gz: '078319bc664b5d4cb9cef93db7ba02906e4125379d2a8f0775f9f9d39d9853e7'
3
+ metadata.gz: 230cdcfeecd39f64c4518a917ee0758f158e3b92bda05e56f28caaa4f96edcb6
4
+ data.tar.gz: f829e4cb4afbde0adf19e51ef13f8f0f94db6a52a402a22d24c991a5177cee8c
5
5
  SHA512:
6
- metadata.gz: e90950557127c42fb44fd94c297d8e4cd5995ddc1e34da038d30ed95286985aa976a0f0c93b64364812d3866c8d713622d26b4b8d578e507ba2ace574b1648f1
7
- data.tar.gz: a746896ca8b37b6e06507a5800b58372826531cb6ff26233e89111c5304ad3d28e2f1c91c0450542ce411cb602f8984378ad2d3aed8387ded7b4b03edf251f9c
6
+ metadata.gz: c7efbe668a9a7655dc47e0411b2c1ad4bede013459a0247731818182adcbacea52993f3e3d7f35f18bfd74fcdb5b56a404930b90210f3c4dd4d87602d220c96f
7
+ data.tar.gz: e192b6145d4057babaa514061aa4f251c9705a398ae234a0e2ebb71202846ece3d5e6b9bb4d504dc5d6fd2249867119887d19b2f299e8329615b688bf72f28f1
data/README.md CHANGED
@@ -674,7 +674,7 @@ MIT License © 2026 [Sendgo](https://sendgo.io)
674
674
 
675
675
  *키워드: 카카오 알림톡 Ruby, 카카오 친구톡 Rails, SMS 발송 Ruby, 알림톡 Ruby gem, Ruby 카카오 API 연동, Sendgo Ruby SDK, Rails 알림 발송*
676
676
 
677
- ## 계정·조직·API 키 관리 (1.4.0)
677
+ ## 계정·조직·API 키 관리 (1.5.0)
678
678
 
679
679
  발송용 `accessKey`/`secretKey`가 없는 단계에서 사용하는 **별도 계정 클라이언트**입니다.
680
680
  콘솔에서 발급받은 에이전트 토큰(`SENDGO_AGENT_TOKEN`)으로 `/api/v2/account`를 호출합니다.
@@ -698,3 +698,29 @@ issued = account.create_api_key({ name: '서버 연동' })
698
698
  지원 메서드: `me`, `organizations`, `select_organization`, `api_keys`, `create_api_key`, `api_key`, `update_api_key`, `delete_api_key`, `issue_token`, `allowed_ips`, `add_allowed_ip`, `delete_allowed_ip`.
699
699
 
700
700
  키 생성 인자는 `name`, 선택적 `ipAddresses: [{ip, description}]`이며, 허용 IP 추가 인자는 `ip`, 선택적 `description`입니다. 키·IP 식별자는 응답의 `id`(UUID)를 사용합니다.
701
+
702
+ ## 템플릿 폴더 (1.5.0)
703
+
704
+ 기업 계정의 발송용 API 키와 `apiVersion=v2` 설정으로 사용하는 서버 전용 API입니다.
705
+ 폴더는 알림톡·브랜드메시지가 공유하며, 목록의 `templateType`은 `notice` 또는 `brand`입니다.
706
+ 목록은 `data.folders` 트리와 `total`, `uncategorised` 개수를 반환합니다.
707
+ `templateCount`는 하위 폴더를 제외한 해당 폴더의 템플릿 수입니다.
708
+
709
+ - 생성: `name`, 선택 `parentUuid`. 최대 5단계이며 같은 부모 아래 이름 중복은 409입니다.
710
+ - 이동: 동일 발신프로필의 `templateCodes` 1~100개. `folderUuid`는 필수이며 `null`이면 미분류로 이동합니다.
711
+ - 템플릿 목록: `folderUuid=none`은 미분류, UUID는 해당 폴더, 생략은 전체입니다.
712
+ - 템플릿 등록: 선택 필드 `folderUuid`로 폴더를 지정합니다. 기존 템플릿 수정 API 대신 폴더 이동 API를 사용하세요.
713
+
714
+ 승인되지 않은 키의 `403 ACCESS_KEY_NOT_APPROVED`는 토큰 재발급·재시도 없이 반환합니다.
715
+ 계정 API의 `autoApprove`는 서버 설정의 실제 승인 정책을 나타냅니다.
716
+
717
+ ```ruby
718
+ client.template_folders.list(template_type: "notice")
719
+ client.template_folders.create(name: "주문 안내")
720
+ client.template_folders.assign(
721
+ template_type: "notice", kakao_sender_key: kakao_sender_key,
722
+ template_codes: ["ORDER_001"], folder_uuid: nil
723
+ )
724
+ client.notice_templates.list(folder_uuid: "none")
725
+ # 템플릿 생성 시 folder_uuid: 폴더_UUID를 선택 인자로 전달합니다.
726
+ ```
data/lib/sendgo/client.rb CHANGED
@@ -22,7 +22,7 @@ module Sendgo
22
22
  # 화면에서 끝난다 — request_token 이 채널 관리자 휴대폰으로 SMS 를 보내고,
23
23
  # 사용자가 입력한 코드를 create 가 받는다. 휴대폰 발신번호는 PASS 대신
24
24
  # 신분증 사본을 첨부해 접수하면 sendgo 가 대신 심사한다.
25
- attr_reader :kakao_senders, :notice_templates, :brand_templates,
25
+ attr_reader :template_folders, :kakao_senders, :notice_templates, :brand_templates,
26
26
  :sender_registration, :message_templates,
27
27
  :kakao_images, :rejected_numbers, :webhook
28
28
 
@@ -42,6 +42,7 @@ module Sendgo
42
42
  @sms = SmsService.new(http: http, sms_sender_key: sms_sender_key)
43
43
 
44
44
  @kakao_senders = KakaoSenderService.new(http: http)
45
+ @template_folders = TemplateFolderService.new(http: http)
45
46
  @notice_templates = NoticeTemplateService.new(http: http)
46
47
  @brand_templates = BrandTemplateService.new(http: http)
47
48
  @sender_registration = SenderRegistrationService.new(http: http)
@@ -119,9 +119,10 @@ module Sendgo
119
119
  end
120
120
 
121
121
  # 목록 조회.
122
- def list(kakao_sender_key: nil, inspection_status: nil, search: nil, count: nil)
122
+ def list(kakao_sender_key: nil, inspection_status: nil, search: nil, count: nil, folder_uuid: nil)
123
123
  @http.get(RESOURCE, {
124
124
  kakaoSenderKey: kakao_sender_key,
125
+ folderUuid: folder_uuid,
125
126
  inspectionStatus: inspection_status,
126
127
  search: search,
127
128
  count: count
@@ -250,8 +251,8 @@ module Sendgo
250
251
  end
251
252
 
252
253
  # 목록 조회.
253
- def list(kakao_sender_key: nil, search: nil, count: nil)
254
- @http.get(RESOURCE, { kakaoSenderKey: kakao_sender_key, search: search, count: count })
254
+ def list(kakao_sender_key: nil, search: nil, count: nil, folder_uuid: nil)
255
+ @http.get(RESOURCE, { folderUuid: folder_uuid, kakaoSenderKey: kakao_sender_key, search: search, count: count })
255
256
  end
256
257
 
257
258
  # 상세 조회. sendgo 코드(+KFT-...+)와 카카오 브랜드 템플릿 코드 둘 다 받는다.
@@ -594,3 +595,28 @@ module Sendgo
594
595
  end
595
596
  end
596
597
  end
598
+
599
+ module Sendgo
600
+ # 템플릿 공용 폴더. v2 전용, 기업 계정 전용.
601
+ class TemplateFolderService
602
+ def initialize(http:)
603
+ @http = http
604
+ end
605
+
606
+ def list(template_type: nil, kakao_sender_key: nil)
607
+ @http.get("template-folders", { templateType: template_type, kakaoSenderKey: kakao_sender_key })
608
+ end
609
+
610
+ def create(name:, parent_uuid: nil)
611
+ @http.post("template-folders", { name: name, parentUuid: parent_uuid })
612
+ end
613
+
614
+ # folder_uuid: nil이면 미분류로 이동합니다. 1~100개 코드가 필요합니다.
615
+ def assign(template_type:, kakao_sender_key:, template_codes:, folder_uuid:)
616
+ @http.patch("template-folders/templates", {
617
+ templateType: template_type, kakaoSenderKey: kakao_sender_key,
618
+ templateCodes: template_codes, folderUuid: folder_uuid
619
+ })
620
+ end
621
+ end
622
+ end
@@ -1,3 +1,3 @@
1
1
  module Sendgo
2
- VERSION = "1.4.0"
2
+ VERSION = "1.5.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sendgo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sendgo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-22 00:00:00.000000000 Z
11
+ date: 2026-09-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Sendgo API를 Ruby에서 간편하게 사용하기 위한 공식 SDK
14
14
  email: