# API 기반 진입을 사용하여 고객 여정 트리거하기

API 기반 진입을 사용하면 특정 비즈니스 이벤트가 발생하는 순간 고객 여정을 시작할 수 있습니다. 캠페인을 시작하려면 특별한 API 요청을 보내야 합니다.


## 설정하기

1. API 기반 진입으로 여정을 생성합니다.

<video src="/customer-journey-api-based-entry-1.webm" alt="API 기반 진입 요소로 새 여정을 생성하는 방법을 보여주는 고객 여정 빌더 인터페이스" autoplay loop muted playsinline />

2. API 기반 진입 단계를 더블 클릭합니다. 진입 구성 창이 열립니다.

3. 콘텐츠 플레이스홀더를 사용하여 여정이 시작될 때마다 푸시 및 이메일 콘텐츠를 수정할 수 있습니다. 각 플레이스홀더의 값은 요청에서 변경할 수 있습니다. 이 옵션이 필요하지 않은 경우 이 단계를 건너뛸 수 있습니다.

> 예를 들어, 새로운 팟캐스트 에피소드가 출시될 때 구독자에게 알리는 여정을 생성하고 있습니다. 콘텐츠 플레이스홀더를 사용하면 여정을 시작할 때마다 팟캐스트 제목을 변경할 수 있습니다.

먼저, API 기반 진입 설정 창에서 플레이스홀더 이름을 추가합니다. 편리한 이름을 사용할 수 있습니다.

<video src="/customer-journey-api-based-entry-2.webm" alt="동적 콘텐츠에 대한 플레이스홀더 이름을 추가하는 방법을 보여주는 API 기반 진입 구성 창" autoplay loop muted playsinline />

이제 푸시 또는 이메일 [프리셋](/ko/product/content/presets/)을 생성하고 수정하려는 텍스트 대신 플레이스홀더를 삽입합니다. 플레이스홀더는 필요에 따라 다음 형식 중 하나여야 합니다:

* `{placeholder_name|format_modifier|}` – 캠페인 시작 시 플레이스홀더 값이 지정되지 않은 경우, 사용자는 그 자리에 빈 공간을 보게 됩니다.
* `{placeholder_name|format_modifier}` – 플레이스홀더 값이 지정되지 않았고 사용자에게 이미 할당되지 않은 경우(플레이스홀더로 태그를 사용한 경우), 메시지가 전송되지 않습니다.

<details>

<summary>형식 수정자</summary>

* CapitalizeFirst – 플레이스홀더 값의 첫 글자를 대문자로 만듭니다.
* CapitalizeAllFirst – 플레이스홀더 값이 두 단어 이상으로 구성된 경우 모든 단어의 첫 글자를 대문자로 만듭니다.
* UPPERCASE – 모든 글자를 대문자로 전환합니다.
* lowercase – 모든 글자를 소문자로 전환합니다.
* regular – 요청에 지정된 대로 수정 없이 플레이스홀더 값을 정확하게 삽입합니다.

</details>

<img src="/customer-journey-api-based-entry-3.webp" alt="메시지 내용에 형식 수정자가 있는 플레이스홀더 구문 예제를 보여주는 푸시 프리셋 편집기"/>

<Aside type="note">
플레이스홀더 이름 대신 기존 태그 이름을 사용할 수도 있습니다. 이 경우 아래 설명된 대로 요청에 지정된 값으로 이 태그 값을 덮어쓰도록 구성해야 합니다.
</Aside>

여정에서 푸시 또는 이메일 단계를 구성할 때 생성된 프리셋을 선택하고 **이벤트 속성으로 메시지 개인화** 옵션을 켭니다. 여정을 시작할 때 요청에서 수정하려는 플레이스홀더를 선택합니다. 소스로 **API 기반 진입**을 선택하고 동적 속성으로 플레이스홀더 이름을 선택합니다:

<video src="/customer-journey-api-based-entry-4.webm" title="이벤트 속성으로 메시지 개인화 옵션과 API 기반 진입 소스 선택을 보여주는 푸시 또는 이메일 단계 구성" autoplay loop muted playsinline />

**Apply**를 클릭하여 변경 사항을 저장합니다.

4\. 진입 구성 창에서 요청 템플릿을 복사하여 수정합니다:

<img src="/customer-journey-api-based-entry-5.webp" alt="인증 헤더 형식이 포함된 API 요청 템플릿을 표시하는 API 기반 진입 구성 창"/>
<Aside>
API를 통해 여정을 시작하려면 Authorization 헤더에 유효한 인증 토큰을 포함해야 합니다.

**필수 헤더 형식**

 ```http
 Authorization: Api <your_api_token>
 ```
 **예시**

 ```http
 Authorization: Api c8dc6435-xxxxxxxxxxxxxxx
 ```
</Aside>

5. [세분화 언어](/ko/developer/api-reference/segmentation-filters-api/segmentation-language/)를 사용하여 "filter" 매개변수에 오디언스 필터를 추가합니다. 사전에 필요한 [태그](/ko/developer/guides/audience-and-segmentation/tags/)를 설정해야 한다는 점에 유의하세요.

예를 들어, _Wishlist_에 _Socks_ 항목을 추가한 사용자를 대상으로 여정을 설정하려면 "filter" 값은 다음과 같아야 합니다:

```
    "filter": "A("12345-12345") * "T("Wishlist", EQ, "Socks")"
```

이 예에서는 앱에 _Wishlist_ 태그가 구성되어 있어야 합니다.

<Aside type="note">
애플리케이션 코드는 `A(\"12345-12345\")` 형식으로 "filter" 매개변수에 자동으로 추가됩니다. 이를 제거하거나 수정하지 마세요.

또한 JSON 쿼리에서는 따옴표("")와 백슬래시(\\)를 백슬래시(\\)로 이스케이프해야 한다는 점을 명심하세요.
</Aside>

6. 플레이스홀더를 설정한 경우 원하는 콘텐츠를 값으로 지정합니다:

<img src="/customer-journey-api-based-entry-6.webp" alt="여정 시작 시 동적 콘텐츠에 대한 플레이스홀더 값 구성을 보여주는 API 요청 템플릿"/>

7. **메시지 전송률 제한** 옵션이 활성화된 경우, 매초 한 번에 여정에 진입하는 사용자 수가 제한됩니다. 초당 5000명의 기본값을 사용하거나 다른 숫자를 설정할 수 있습니다.

<img src="/customer-journey-api-based-entry-7.webp" alt="초당 5000명의 기본값을 가진 메시지 전송률 제한 옵션을 보여주는 API 기반 진입 구성"/>

<Aside type="tip">
초당 5000명에서 10000명 사이의 값을 유지하는 것이 좋습니다. 값이 너무 낮으면 오디언스가 여정에 진입하는 데 더 오래 걸릴 수 있습니다. 값이 너무 높으면 데이터를 처리하는 서비스에 과부하가 걸릴 수 있습니다.
</Aside>

8. 캠페인을 자주 다시 시작할 계획이고 동일한 사용자가 여정에 여러 번 진입하는 것을 원하지 않는 경우, [빈도 제한](/ko/product/customer-journey/journey-settings#frequency-capping)을 설정하세요.

> 예를 들어, 특정 제품의 가격 인하에 대해 사용자에게 알리는 캠페인을 생성했습니다. 다른 오디언스 필터로 여러 요청을 보내 여정을 몇 번 다시 시작하고 싶습니다. 이 경우, 여러 필터와 일치하는 사용자에게 알림이 반복적으로 전송되지 않도록 빈도 제한을 추가할 수 있습니다.

9. 특정 비즈니스 이벤트가 발생할 때마다 여정을 시작하려면 웹훅을 사용하여 요청을 자동화하세요. 이벤트가 발생하면 웹훅이 자동으로 여정을 시작하는 요청을 보내야 합니다.

자동화가 필요하지 않은 경우 요청을 수동으로 보낼 수도 있습니다.

<Aside type="note">
* 새 요청을 보낼 때 세분화 조건을 변경해도 이미 여정에 진입한 사용자에게는 영향을 미치지 않습니다.
* 새 요청을 보낼 때 메시지 내용을 변경하면 모든 사용자(이미 여정에 진입했지만 아직 이 메시지를 받지 않은 사용자 포함)가 새 버전의 메시지를 받게 됩니다.
</Aside>