미리보기에서 모의 JSON으로 메시지 테스트
capture와json_parse를 사용하여 메시지 내에서 API 또는 항목 스타일 JSON을 모의 구성하면, Campaign을 시작하거나 Canvas를 트리거하거나 실시간으로 연결된 콘텐츠를 호출하기 전에 작성기 미리보기에서 Liquid와 레이아웃을 검증할 수 있습니다.
이 예제 소개
가상의 의류 소매 브랜드인 Flash & Thread는 연결된 콘텐츠 응답, Canvas 컨텍스트 변수 또는 객체 배열 프로필 데이터에 의존하는 메시지를 작성합니다. 모든 반복마다 실제 API 호출을 트리거하거나 Campaigns를 실행하면 개발 속도가 느려집니다.
이 패턴은 모의 JSON 페이로드를 메시지 본문에 삽입하고, capture로 저장한 다음, json_parse로 파싱하여 Liquid가 미리보기 섹션에서 구조화된 필드를 참조할 수 있도록 합니다. 실시간 연결된 콘텐츠 호출, API 트리거 Canvas 항목 또는 테스트 전송이 필요하지 않습니다.
이 패턴은 메시지 개발 중에 사용하세요. 실제 트리거, 테스트 전송 또는 Canvas의 사용자 경로 미리보기를 사용한 포괄적인 테스트를 대체하지는 않습니다.
고려 사항
- 이 접근 방식은 개발 중 작성기 미리보기를 지원합니다. 고객에게 출시하기 전에 테스트 발송과 실시간 경로 확인을 실행하세요.
capture블록만으로는 JSON이 문자열로 저장됩니다.json_parse를 적용한 후에만 필드를 참조하세요. 그렇지 않으면 미리보기 출력이 비어 있을 수 있습니다.- 모의 JSON은 유효해야 합니다. 유효하지 않은 JSON은
json_parse가 실패하거나 예상치 못한 구조를 반환하는 원인이 됩니다. - 출시 전에 모의 블록을 교체하거나 제거하세요. 또는 프로덕션 Liquid에서 모의 데이터가 미리보기에서만 사용되도록 보호하세요(예: 출시 전에 삭제하는 주석 플래그 사용).
- 이 문서의 Liquid 스니펫은 예시입니다. 실제 채널과 실제 페이로드 형태로 테스트하세요.
- 프로덕션에서 연결된 콘텐츠를 사용할 때는 모의 블록을 제거하고 실시간 URL 태그를 사용하세요. API 호출하기를 참조하세요.
설정
이 예제에서는 listings를 반복하는 이메일에 대해 연결된 콘텐츠 스타일의 제품 목록 응답을 모의(mock)합니다.
1단계: 메시지에서 모의 JSON 캡처하기
capture를 사용하여 JSON 문자열을 저장합니다. 블록 내부에서 유효한 JSON 구문(키와 문자열 값에 큰따옴표)을 사용하세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{% capture mock_response %}
{
"success": true,
"listings": [
{
"id": 45731,
"name": "Summit Trail Jacket",
"image_url": "https://example.com/images/trail-jacket.png",
"price": {
"actual": "89.00",
"currency": "USD"
},
"link": "https://example.com/products/trail-jacket",
"product_category": "Outerwear",
"properties": {
"size": "L",
"colour": "Navy",
"limited_edition": false
},
"out_of_stock": false
}
]
}
{% endcapture %}
2단계: json_parse로 JSON 파싱하기
파싱된 구조를 변수에 할당하여 메시지의 나머지 부분에서 참조합니다.
1
{% assign response_json = mock_response | json_parse %}
json_parse 없이 캡처된 문자열에 점 표기법(예: {{ mock_response.listings }})을 사용하면 미리보기에서 일반적으로 빈 값으로 렌더링됩니다.
3단계: Liquid에서 파싱된 필드 참조하기
파싱된 배열을 반복하고 실시간 API 응답에서와 동일하게 필드를 렌더링합니다.
1
2
3
{% for listing in response_json.listings %}
{{ listing.name }} — {{ listing.price.actual }} {{ listing.price.currency }}
{% endfor %}
메시지 작성기의 미리보기 섹션으로 이동하여 필드가 올바르게 렌더링되는지 확인합니다.
4단계: 다른 JSON 형태에도 동일한 패턴 적용하기
동일한 capture + json_parse 흐름을 사용하여 다음을 모의합니다:
| 테스트하려는 데이터 | 모의 JSON 형태 |
|---|---|
| Canvas 컨텍스트 변수 | 메시지에서 예상하는 속성정보 키가 포함된 객체 |
| 프로필의 객체 배열 | 커스텀 속성과 동일한 키를 가진 객체의 JSON 배열 |
| 연결된 콘텐츠 응답 | 이전에 성공한 호출에서 저장한 샘플 API JSON |
출시 전에 모의 변수를 프로덕션 Liquid(Canvas 컨텍스트 변수, 커스텀 속성 또는 연결된 콘텐츠 태그)로 교체하세요.