미리보기에서 모의 JSON으로 메시지 테스트
capture와json_parse를 사용하여 메시지 내에서 API 또는 항목 스타일 JSON을 모의 구성하면, Campaign을 시작하거나 Canvas를 트리거하거나 실시간으로 연결된 콘텐츠를 호출하기 전에 작성기 미리보기에서 Liquid와 레이아웃을 검증할 수 있습니다.
이 예제 정보
가상의 의류 소매 브랜드인 Flash & Thread는 연결된 콘텐츠 응답, Canvas 컨텍스트 변수 또는 객체 배열 프로필 데이터에 의존하는 메시지를 만듭니다. 반복 작업 때마다 실제 API 호출을 트리거하거나 Campaigns를 실행하면 개발 속도가 느려집니다.
이 시나리오에서는 메시지 본문에 모의 JSON 페이로드를 삽입하고, capture로 저장한 다음, json_parse로 파싱합니다. 이렇게 하면 실시간 연결된 콘텐츠 호출, API 트리거 Canvas 진입 또는 테스트 발송 없이도 Liquid가 미리보기 섹션에서 구조화된 필드를 참조할 수 있습니다.
이 방법은 메시지 개발 중에 사용하세요. 실제 트리거, 테스트 발송 또는 Canvas의 사용자 경로 미리보기를 활용한 포괄적인 테스트를 대체하지는 않습니다.
고려 사항
- 이 방식은 개발 중 작성기 미리보기를 지원합니다. 고객에게 출시하기 전에 테스트 발송과 실시간 경로 확인을 실행하세요.
capture블록만으로는 JSON이 문자열로 저장됩니다.json_parse를 적용한 후에만 필드를 참조하세요. 그렇지 않으면 미리보기 출력이 비어 있을 수 있습니다.- 모의 JSON은 유효해야 합니다. 유효하지 않은 JSON은
json_parse가 실패하거나 예상치 못한 구조를 반환하는 원인이 됩니다. - 출시 전에 모의 블록을 교체하거나 제거하세요. 또는 모의 데이터가 미리보기에서만 사용되도록 프로덕션 Liquid를 보호하세요(예: 출시 전에 삭제하는 주석 플래그 사용).
- 이 문서의 Liquid 스니펫은 예시입니다. 실제 채널과 실제 페이로드 형태로 테스트하세요.
- 프로덕션 환경에서 연결된 콘텐츠를 사용할 때는 모의 블록을 제거하고 실제 URL 태그를 사용하세요. API 호출하기를 참조하세요.
설정
이 예제는 listings를 반복 처리하는 이메일에 사용할 연결된 콘텐츠 스타일의 제품 목록 응답을 모의로 구성합니다.
1단계: 메시지에서 모의 JSON 캡처하기
capture를 사용해 JSON 문자열을 저장합니다. 블록 안에서는 유효한 JSON 구문을 사용하세요(키와 문자열 값에 큰따옴표 사용).
{% 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 파싱하기
파싱된 구조를 변수에 할당한 다음, 메시지의 나머지 부분에서 해당 변수를 참조합니다.
{% assign response_json = mock_response | json_parse %}
json_parse를 사용하지 않으면 캡처된 문자열에 점 표기법을 사용할 경우(예: {{ mock_response.listings }}) 일반적으로 미리보기에서 빈 값으로 렌더링됩니다.
3단계: Liquid에서 파싱된 필드 참조하기
파싱된 배열을 반복 처리하고, 실시간 API 응답을 다룰 때와 같은 방식으로 필드를 렌더링합니다.
{% 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 컨텍스트 변수, 커스텀 속성 또는 연결된 콘텐츠 태그)로 교체하세요.