Class: Sendgo::BrandTemplateService

Inherits:
Object
  • Object
show all
Defined in:
lib/sendgo/management.rb

Overview

브랜드메시지(구 친구톡) 템플릿 관리.

v2 전용이며 기업(Team) 소유 애플리케이션만 사용할 수 있다. 알림톡 템플릿과 달리 검수 요청 단계가 없다.

template_type 은 친구톡 표기(FT/FI/FW/FL/FC/FM/FP/FA)를 그대로 쓴다 — 서버가 chatBubbleType 으로 변환한다.

Constant Summary collapse

RESOURCE =
"brand-templates"

Instance Method Summary collapse

Constructor Details

#initialize(http:) ⇒ BrandTemplateService

Returns a new instance of BrandTemplateService.



248
249
250
# File 'lib/sendgo/management.rb', line 248

def initialize(http:)
  @http = http
end

Instance Method Details

#create(kakao_sender_key:, template_name:, template_type:, **extra) ⇒ Object

템플릿 등록. 선택 필드는 extra 로 넘긴다 (snake_case 자동 변환).



263
264
265
266
267
268
269
# File 'lib/sendgo/management.rb', line 263

def create(kakao_sender_key:, template_name:, template_type:, **extra)
  @http.post(RESOURCE, {
               kakaoSenderKey: kakao_sender_key,
               templateName: template_name,
               templateType: template_type
             }.merge(Sendgo.camelize_keys(extra)))
end

#delete(template_code) ⇒ Object

템플릿 삭제. 알림톡과 달리 카카오 쪽에서도 실제로 삭제된다.



277
278
279
# File 'lib/sendgo/management.rb', line 277

def delete(template_code)
  @http.delete(path(template_code))
end

#import(kakao_sender_key) ⇒ Object

발신프로필 단위 가져오기 — 카카오 쪽에 이미 있는 템플릿을 들여온다.



288
289
290
# File 'lib/sendgo/management.rb', line 288

def import(kakao_sender_key)
  @http.post("#{RESOURCE}/import", { kakaoSenderKey: kakao_sender_key })
end

#list(kakao_sender_key: nil, search: nil, count: nil) ⇒ Object

목록 조회.



253
254
255
# File 'lib/sendgo/management.rb', line 253

def list(kakao_sender_key: nil, search: nil, count: nil)
  @http.get(RESOURCE, { kakaoSenderKey: kakao_sender_key, search: search, count: count })
end

#show(template_code) ⇒ Object

상세 조회. sendgo 코드(+KFT-...+)와 카카오 브랜드 템플릿 코드 둘 다 받는다.



258
259
260
# File 'lib/sendgo/management.rb', line 258

def show(template_code)
  @http.get(path(template_code))
end

#sync(template_code) ⇒ Object

동기화. 카카오 쪽에서 이미 삭제됐으면 로컬에서도 제거하고 data.deleted: true 를 반환한다.



283
284
285
# File 'lib/sendgo/management.rb', line 283

def sync(template_code)
  @http.post("#{path(template_code)}/sync", {})
end

#update(template_code, **fields) ⇒ Object

템플릿 수정. 발신프로필은 바꿀 수 없다.



272
273
274
# File 'lib/sendgo/management.rb', line 272

def update(template_code, **fields)
  @http.put(path(template_code), Sendgo.camelize_keys(fields))
end