# 카카오 알림톡 캠페인 API 트리거 발송

카카오 알림톡 캠페인 API 트리거 유형을 발송할 경우 사용하는 API 입니다.&#x20;

{% hint style="info" %}
[API 트리거 발송 만들기](/new-admin/kakao-alimtalk/kakao-alimtalk-create/api-trigger.md) 문서를 함께 참고해 주세요.
{% endhint %}

## **Process 코드 값**

| type | code | message                                    | httpStatus              | httpStatusCode |
| ---- | ---- | ------------------------------------------ | ----------------------- | -------------- |
| 성공   | 0    | 성공                                         | OK                      | 200            |
| 헤더   | 1101 | x-api-key 헤더가 누락되었습니다.                     | BAD\_REQUEST            | 400            |
| 헤더   | 1102 | Content-Type 헤더가 누락되었습니다.                  | BAD\_REQUEST            | 400            |
| 일반   | 1201 | 요청 본문에 내용이 없습니다.                           | BAD\_REQUEST            | 400            |
| 일반   | 1202 | 요청 데이터 행이 너무 많습니다.                         | BAD\_REQUEST            | 400            |
| 일반   | 1203 | 요청 포맷이 잘못되었습니다.                            | BAD\_REQUEST            | 400            |
| 일반   | 1204 | 올바르지 않은 날짜 형식입니다.                          | BAD\_REQUEST            | 400            |
| 인증   | 1401 | API 키가 유효하지 않습니다.                          | UNAUTHORIZED            | 401            |
| 인증   | 1402 | API 사용권한이 없습니다.                            | UNAUTHORIZED            | 401            |
| 인증   | 1403 | 등록되지 않은 회원사                                | UNAUTHORIZED            | 401            |
| 인증   | 1404 | 미승인 회원사                                    | UNAUTHORIZED            | 401            |
| 인증   | 1405 | 만료된 회원사                                    | UNAUTHORIZED            | 401            |
| 기타   | 2000 | 내부 서버 에러                                   | INTERNAL\_SERVER\_ERROR | 500            |
| 알림톡  | 7001 | 채널 연동 필요                                   | BAD\_REQUEST            | 400            |
| 알림톡  | 7002 | 발신프로필이 차단 되었습니다.                           | BAD\_REQUEST            | 400            |
| 알림톡  | 7003 | 발신프로필이 휴면 상태입니다.                           | BAD\_REQUEST            | 400            |
| 알림톡  | 7004 | 해당 캠페인의 템플릿이 대기 상태입니다.                     | BAD\_REQUEST            | 400            |
| 알림톡  | 7005 | 해당 캠페인의 템플릿이 검수 요청 상태입니다.                  | BAD\_REQUEST            | 400            |
| 알림톡  | 7006 | 해당 캠페인의 템플릿이 휴면 상태입니다.                     | BAD\_REQUEST            | 400            |
| 알림톡  | 7007 | 해당 캠페인의 템플릿이 차단 상태입니다.                     | BAD\_REQUEST            | 400            |
| 알림톡  | 7008 | 해당 캠페인의 템플릿이 중지 상태입니다.                     | BAD\_REQUEST            | 400            |
| 알림톡  | 7009 | 해당 캠페인의 템플릿이 검수 반려 상태입니다.                  | BAD\_REQUEST            | 400            |
| 알림톡  | 7010 | 해당 캠페인의 템플릿이 만료 상태입니다.                     | BAD\_REQUEST            | 400            |
| 알림톡  | 7011 | 발송을 위한 필수 파라미터가 누락 되었습니다.                  | BAD\_REQUEST            | 400            |
| 알림톡  | 7012 | 전달하신 전화번호 길이가 12자가 아닙니다.                   | BAD\_REQUEST            | 400            |
| 알림톡  | 7997 | 카카오 알림톡 발송 단가가 적용되지 않았습니다. - 그루비에 문의해 주세요. | BAD\_REQUEST            | 400            |
| 알림톡  | 7998 | 카카오 발송 API call error - 그루비에 문의해 주세요.      | INTERNAL\_SERVER\_ERROR | 500            |
| 알림톡  | 7999 | 내부 서버 에러                                   | INTERNAL\_SERVER\_ERROR | 500            |

***

## **발송하기**

* 카카오 알림톡 캠페인 API 트리거 유형을 발송합니다.
* 캠페인키, 발송 대상자 정보를 요청 본문에 넣어서 호출합니다.

{% hint style="warning" %}
‘캠페인키'는 카카오 알림톡 캠페인(API 트리거 유형) 생성 시 발급됩니다.
{% endhint %}

### **기본 정보**

| 메소드  | URL                                                | 인증 방식   |
| ---- | -------------------------------------------------- | ------- |
| POST | <https://api.groobee.io/messages/alimtalk/trigger> | API Key |

### **요청 헤더**

| 이름           | 설명                             | 필수 |
| ------------ | ------------------------------ | -- |
| x-api-key    | x-api-key: ${x-api-key}        | O  |
| Content-Type | Content-Type: application/json | O  |

### **요청 본문**

{% hint style="danger" %}
요청 본문으로 전송할 수 있는 최대 발송 대상자 수는 1명입니다.\
1명이 넘으면 오류를 반환합니다. (processCode : 1202)
{% endhint %}

| 이름          | 타입      | 설명        | 필수 | 비고                                    |
| ----------- | ------- | --------- | -- | ------------------------------------- |
| campaignKey | String  | 캠페인 키     | O  | 카카오 알림톡 캠페인(API 트리거 유형) 생성 시 발급       |
| users       | User\[] | 발송 대상자 정보 | O  | 해당 캠페인 발송 대상자 정보의 리스트 (1회 요청 당 최대 1명) |

\
**User**

| 이름          | 타입     | 설명                       | 필수 | 비고                                                         |
| ----------- | ------ | ------------------------ | -- | ---------------------------------------------------------- |
| phoneNumber | String | 회원 전화번호                  | O  |                                                            |
| properties  | Map    | 사용자 설정 변수의 키-값 쌍을 가지는 객체 | X  | 카카오 알림톡 캠페인(API 트리거 유형)에서 선택한 템플릿의 개인화 변수의 키와 그에 해당하는 값의 쌍 |

### **예제**

**요청**

```
{ 
    "campaignKey" : "KTsbwjwck4gadozsp8eanxfxsyq5do7mxh"
    "users" : [
        {
            "phoneNumber" : "01012345678",
            "properties" : {
                "name" : "이그루",
                "goods_name" : "원피스",
                "goods_price" : "120,000",
                ...
            }
```

**응답(성공)**

```
{
    "httpStatus": {
        "code": "200",
        "reasonPhrase": "OK"
    },
    "processCode": "0",
    "processValue": {
        "code": "0000",
        "message": "send succeed ~!~!"
    }
}  
```

**응답(실패)**

```
{
    "httpStatus": {
        "code": "404",
        "reasonPhrase": "Not Found"
    },
    "processCode": "1901",
    "processValue": "캠페인 없습니다."
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.groobee.ai/developer-guide/api-guide/api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
