# API 트리거 발송 캠페인 만들기

{% hint style="info" %}
API 트리거 발송 사용 방법을 확인하여 개발자와 소통 후 캠페인을 설정해 주세요.
{% endhint %}

{% hint style="warning" %}
API 트리거 발송은 별도 과금이 되는 캠페인 유형입니다. 사용을 원하시면 그루비팀에 문의해 주세요.

<groobee_sales@plateer.com>
{% endhint %}

## **API 트리거 발송**

* API 트리거 발송은 API 요청을 받았을 때 메시지를 발송하는 방식입니다.
* 그루비에서 알 수 없는 우리 회사 내부 정보가 바뀌는 시점 등에 메시지 발송 요청하여 요청한 시점에 메시지를 발송할 수 있습니다.
* 과금을 하지 않은 어드민에서는 캠페인 만들기까지 가능하지만, 캠페인 진행은 불가합니다.

{% hint style="warning" %}
API 트리거 발송은 피로도 설정 여부와 상관없이 발송됩니다.
{% endhint %}

{% hint style="warning" %}
API 트리거 발송 설정 후 개인화 변수 수정이 있을 시 개발자와 상의 후 진행해 주세요.
{% endhint %}

## **1단계 : 기본 설정**

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2FxlBm4Lzomv9tHe7s0Gnl%2F0.png?alt=media)

### **단계 이동**

각 단계를 클릭하여 해당하는 단계로 이동할 수 있습니다. 각 단계의 필수 값이 입력되어야만 이동 가능합니다.

### **캠페인 기본 정보**

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2Fc805W9O06lLJ4F2sOwWj%2F1.png?alt=media)

* 캠페인명 : 해당 캠페인의 이름을 설정합니다. 한글 기준 공백 포함 최대 40자까지 설정 가능합니다.
* 상세 설명 : 해당 캠페인에 대한 간략한 설명이 필요할 시 설정합니다. 한글 기준 공백 포함 최대 400자까지 설정 가능합니다.
* 태그 : 태그 추가 버튼 클릭 시 캠페인에 태그를 추가할 수 있습니다. 캠페인 리스트에서 태그 필터를 통해 특정 캠페인을 필터링할 때 활용할 수 있습니다.

<table data-header-hidden><thead><tr><th width="315.234375"></th><th></th></tr></thead><tbody><tr><td><img src="https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2F1kYH8l1qif6c47Dg0Md1%2F2.png?alt=media" alt="" data-size="original"></td><td><ul><li>태그는 Enter로 구분하여 복수 개 추가 가능합니다.</li><li>동일한 태그는 한 번만 추가됩니다.</li><li>이전에 저장했던 태그를 클릭하여 추가할 수 있습니다.</li></ul></td></tr></tbody></table>

## **2단계 : 메시지 설정**

메시지 설정에서는 실제 발송될 메시지 본문을 작성하여 작성된 메시지를 미리보기를 통해 확인할 수 있습니다.

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2Ftalhhbu3VAhtGZQv2ibh%2F3.png?alt=media)

### **메시지 기본 설정**

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2FZPKJ55P9gC0ec08wurDe%2F4.png?alt=media)

메시지의 알림 목적을 설정하고, 발송 OS를 확인합니다.

* 알림 목적
  * 광고성 : 메시지 내용이 광고 성격을 띈 메시지 작성 시 선택합니다. 광고성 선택 시 광고성 푸시 알림 수신 동의를 한 유효한 푸시 토큰 정보를 가진 고객에게 발송됩니다. 푸시 알림 메시지 중 21:00\~08:00 시간에 발송 요청되는 메시지는 광고성 야간 수신 동의를 한 고객에게만 발송됩니다.
  * 정보성 : 광고성 푸시 알림 수신 동의 여부와 시간에 상관없이, 유효한 푸시 토큰을 가진 고객에게 모두 발송 요청됩니다.
* 광고 문구 표기 : 선택한 언어에 맞는 광고 문구 표기를 메시지 미리보기에서 확인할 수 있습니다.
  * 광고 문구 표기는 [설정 > 푸시 알림 설정 > 광고 문구 표기](https://docs.groobee.ai/new-admin/settings/push)에서 설정할 수 있습니다.
* 발송 OS : 푸시 알림 메시지가 발송될 OS를 표시합니다.

{% hint style="warning" %}
알림 목적이 광고성일 경우, 메시지에 (광고) 문구를 필수로 표기해야 합니다.

알림 목적이 광고성일 경우 수신거부 방법을 필수로 표기해야 합니다.

광고 문구 표기 위치의 기본 값과 고정된 수신거부 표기 문구는 설정 > 푸시 알림 설정에서 설정할 수 있습니다.
{% endhint %}

{% hint style="danger" %}
알림 목적에 따른 필수 표기 사항을 따르지 않았을 시의 법적 책임은 그루비에게 있지 않습니다.
{% endhint %}

### **개인화 설정** <a href="#personalization" id="personalization"></a>

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2FWdHnZIuhRynOisxEVdXz%2F5.png?alt=media)

• 변수 설정을 클릭하면 열리는 개인화 변수 설정 창에서 개인화 변수로 사용할 개인화 키를 설정할 수 있습니다.

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2FOIKDupjvPafePf3dngK5%2F6.png?alt=media)

* 변수 추가 버튼을 눌러 개인화 변수로 사용할 개인화 키를 최대 10개까지 설정할 수 있습니다.
* 개인화 키는 대소문자가 구분하여 영문과 언더스코어(\_)만 사용할 수 있습니다.
* 개인화 키를 넣어 확인 후 개인화 키를 수정하면 메시지 작성에 넣은 개인화 변수는 모두 삭제됩니다.
* 개발자와 약속한 개인화 키를 정확히 입력해 주세요.
* 설정한 개인화 키는 캠페인 만들기 3단계 코드 샘플에서도 확인할 수 있습니다.

{% hint style="warning" %}
실제 API 요청 시 properties에 담아보낼 key를 설정하는 영역입니다. 개발자와 key, value를 약속하여 작성할 것을 권장합니다.
{% endhint %}

* 개인화 변수 설정 후 하위 메시지 작성에서 변수 추가 버튼을 클릭하여 설정한 변수를 메시지 안에 넣어 작성할 수 있습니다.

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2F7e5eCobk1xIGwNPgxR5f%2F7.png?alt=media)

* 위의 개인화 변수 설정에서 설정한 개인화 키를 변수 항목으로 선택할 수 있습니다.
* 입력된 개인화 변수에는 발송 시 전달된 사용자별 데이터가 치환되어서 발송됩니다.
* 변수를 선택하면 대체 발송 값을 설정할 수 있으며, 설정 시 전달된 데이터가 없는 경우 설정된 내용으로 발송됩니다.\
  설정하지 않을 시 값이 공백으로 비어서 발송됩니다.
* 치환된 가변적인 변수의 길이를 고려하여 메시지를 작성해 주세요.

### **메시지 작성** <a href="#message" id="message"></a>

* 실제 발송될 푸시 알림 메시지 내용을 작성합니다.

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2FHvOqtQAsqRzSeeuMV35o%2F8.png?alt=media)

**<작성 예시>**

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2FIZHSBaBm0nBGOwaxyIAV%2F9.png?alt=media)

#### **ⓐ 제목**

* 푸시 알림 메시지의 제목을 작성합니다.
* 알림 목적이 광고성은 최대 31자까지 작성 가능하며, 정보성은 최대 40자까지 작성 가능합니다.
* 텍스트 변수 추가 버튼을 클릭하여 개인화 변수를 추가할 수 있습니다.

{% hint style="info" %}
개인화 변수 추가 시 가변하는 변수의 글자 수를 고려하여 메시지를 작성해 주세요.

[개인화 설정](#undefined-3)을 참고해 주세요.
{% endhint %}

#### **ⓑ 내용**

* 푸시 알림 메시지 내용을 설정합니다. 알림 목적에 따라 알맞은 메시지를 작성해 주세요.
* 광고성 메시지의 경우 수신거부 표기를 제외하여 최대 210자까지 작성 가능하며, 정보성 메시지의 경우 최대 260자까지 작성 가능합니다.
* 텍스트 변수 추가 버튼을 클릭하여 개인화 변수를 추가할 수 있습니다.

{% hint style="info" %}
개인화 변수 추가 시 가변하는 변수의 글자 수를 고려하여 메시지를 작성해 주세요.

[개인화 설정](#undefined-3)을 참고해 주세요.
{% endhint %}

#### **ⓒ 수신 거부 표기**

* 정보성 메시지에서는 설정하지 않으며, 광고성 메시지에서 고정된 수신 거부 방법을 사용하고 싶을 시 설정하면 내용 뒤에 표기되어 발송합니다.
* 설정 > 푸시 알림 설정 > 수신 거부 방법 표기 에서 값을 설정할 수 있습니다.

{% hint style="info" %}
설정된 값은 새로운 캠페인부터 적용됩니다.
{% endhint %}

{% hint style="warning" %}
알림 목적이 광고성일 경우, 메시지에 (광고) 문구 필수로 표기야 합니다.

알림 목적이 광고성일 경우 수신거부 방법을 필수로 표기해야 합니다.

광고 문구 표기 위치의 기본 값과 고정된 수신거부 표기 문는 설정 > 푸시 알림 설정에서 설정할 수 있습니다.
{% endhint %}

{% hint style="info" %}
미리보기는 실제 푸시 알림과 차이가 있을 수 있습니다.
{% endhint %}

{% hint style="success" %}
메시지 내용은 125자 이하로 간결하게 작성하는 것을 권장합니다.\
글자 수가 125자가 넘어가는 경우 모바일 기기의 해상도에 따라 일부 텍스트가 표시되지 않을 수 있습니다.
{% endhint %}

#### **ⓓ 기본 이미지**

* 설정 > 푸시 알림 설정 화면 Android 기본 이미지에 업로드한 이미지를 불러옵니다.
* 해당 이미지는 Android 기기에만 표시되며, 설정 > 푸시 알림 설정 화면에 업로드된 이미지가 없을 시 사용할 수 없습니다.

#### **ⓔ 본문 이미지**

* 본문에 파일을 업로드하여 내용과 함께 이미지를 발송할 수 있습니다. 권장 이미지 사이즈는 1024 x 512px 입니다.
* 업로드한 이미지는 푸시 알림 제목 옆에는 1:1 비율로 크롭되고 푸시 알림 내용 하단에는 전체 크기의 이미지가 전송됩니다.

#### **ⓕ 클릭 액션**

* 사용자가 푸시를 터치했을 때 실행되는 액션을 선택합니다.
  * 앱 실행 : 사용자가 푸시 알림을 터치할 때 앱을 실행합니다.
  * 딥 링크 : 사용자가 푸시 알림을 터치할 때 앱 내의 특정 화면으로 랜딩합니다.
    * 딥 링크 형식으로 입력해 주세요.
    * 해당 입력창에는 최대 1,000자까지만 입력 가능합니다.
  * 웹 브라우저 실행 : 사용자가 푸시 알림을 클릭할 때 웹 브라우저를 실행해 특정 페이지로 이동합니다.
    * http\:// 나 https\:// 형식의 올바른 URL을 입력해 주세요.
    * 해당 입력창에는 최대 1,000자까지만 입력 가능합니다.

#### **ⓖ 고급 옵션**

* 푸시 알림 메시지에 추가적인 데이터 전달이 가능합니다.
* 데이터에 담고 싶은 추가적인 정보를 입력하고, 해당 데이터를 활용하여 앱 내에서 따로 푸시 알림에 대한 처리를 할 수 있습니다.
* 앱 푸시에 대한 특정한 처리를 하고자 할 때 활용할 수 있습니다.
* 추가 데이터를 사용하면 허용 용량 범위 내에서 추가적인 데이터를 전달할 수 있습니다. 최대 500자 이내의 값을 입력해 주세요.
* 최대 10개의 key, value를 추가할 수 있습니다.

{% hint style="info" %}
커스텀 Key-Value 쌍으로 적절한 키를 설정하여 클라이언트 앱으로 데이터 페이로드를 보내는 기능입니다.\
고급 옵션 기능은 앱 개발 담당자와 상의 후 사용하는 것을 권장합니다. [참고 문서](https://firebase.google.com/docs/cloud-messaging/customize-messages/set-message-type?hl=ko#optional-data-payload)를 확인해 주세요.
{% endhint %}

#### **ⓗ 미리보기**

| Android                                                                                                                                                                                                 | iOS                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2F9qerbw2bMIjxxCsEGjvK%2F10.png?alt=media" alt="" data-size="original"> | <img src="https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2Fb8AGvXBoktrJIevj4G7k%2F11.png?alt=media" alt="" data-size="original"> |

* 미리보기에서는 작성한 메시지 내용을 미리 확인할 수 있습니다.
* 발송 OS별로 미리보기를 확인할 수 있습니다.

{% hint style="info" %}
미리보기는 메시지 발송 참고용으로, 실제 발송되는 메시지와 차이가 있을 수 있습니다.
{% endhint %}

{% hint style="warning" %}
API 트리거 발송은 발송 테스트를 제공하지 않습니다. 코드 샘플을 참고하여 개발자와 테스트 후 사용해 주세요.
{% endhint %}

***

## **3단계 : 옵션 설정**

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2F9SCDwpKint4BBZcCdo1i%2F12.png?alt=media)

### **스케줄**

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2FgngDVQLhVJVVrubXAAkl%2F13.png?alt=media)

* 캠페인의 진행 스케줄을 설정할 수 있습니다.
  * 수동 종료 전까지 : 설정한 시작 일시부터 직접 완료 처리하기 전까지 캠페인이 진행됩니다.
  * 기간 지정 : 설정한 시작 일시 \~ 종료 일시동안 캠페인이 진행됩니다.

{% hint style="warning" %}
정보통신망법에 의거하여 심야 시간(21:00\~08:00)에 발송하도록 설정된 광고성 메시지의 경우 야간 광고 전송 수신 동의자에게만 발송됩니다.
{% endhint %}

{% hint style="warning" %}
캠페인 진행 스케줄을 설정하여 저장 후 캠페인 진행을 해야 설정한 시간에 맞춰 캠페인이 시작됩니다.
{% endhint %}

### **API 트리거 코드 샘플**

* 작성 후 코드 샘플을 확인하여 개발자와 소통 시 사용할 수 있습니다.

![](https://2520521119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJv1HnfRtpjN2iazNfYpo%2Fuploads%2FWC0ep7YTmyMaUyvOvSIA%2F14.png?alt=media)

* API 요청 시 참고할 수 있는 코드 샘플을 확인합니다.
* 캠페인 키 : 캠페인마다 발행되는 고유 ID입니다. API 요청 시 필수 값이며, 요청 시에 캠페인 키로 식별하여 설정한 메시지를 보냅니다.
* 코드 샘플
  * 표시된 주소를 참고하여 발급받은 API 키 값을 넣어 발송을 요청해 주세요.
  * campaignKey : 필수로 요청되어야 하는 값이며, 해당 키로 캠페인을 식별할 수 있습니다.
  * users : 한 번에 100명의 대상을 요청할 수 있습니다.
    * memberId : 발송할 대상의 회원 ID입니다.
    * properties : 개인화 메시지를 보낼 경우 설정해서 보냅니다. \
      개인화 변수는 최대 10개까지 사용 가능하며, 요청하는 key 값이 캠페인 만들기 2단계에서 설정한 개인화 변수여야만 치환되어서 메시지를 발송할 수 있습니다. 설정하지 않았을 시 2단계에서 작성한 고정된 문구의 메시지가 요청한 회원에게 발송됩니다.

{% hint style="warning" %}
코드 샘플을 참고하여 설정한 메시지에 맞는 발송 대상별의 데이터를 담아 요청해 주세요.
{% endhint %}

{% hint style="warning" %}
사전에 그루비 캠페인 설정 시 개발자와 충분히 상의하여 캠페인을 만들어 주세요.
{% endhint %}
