콘텐츠로 이동

문법과 규칙

지시문을 쓰면서 옆에 두고 보는 페이지입니다. 쓸 수 있는 옵션, 저장이 거부되는 경우, 한도, 응용 예제를 모았습니다.

문법설명적지 않으면
:save응답을 담아둘 이름. JSON은 {{ 이름.필드 }}로 꺼냅니다JSON은 connected에 담기고, 텍스트는 지시문 자리에 출력
:methodget 또는 postget
:bodyPOST로 보낼 데이터. :method post와 함께 써야 합니다데이터 없이 호출
:content_type보내는 데이터 형식. JSON body는 application/json폼 형식 (application/x-www-form-urlencoded)
:headers추가 헤더를 JSON 객체로 적습니다. 예: :headers {"X-Store-Id": "123"}
JSON 형식이 아니면 호출하지 않고 실패 처리됩니다. 인증용 헤더는 인증 정보 등록을 사용하세요
기본 헤더만 전송
:basic_authBasic 방식으로 등록한 인증 정보 이름인증 없이 호출
:auth_credentialsToken 방식으로 등록한 인증 정보 이름인증 없이 호출
:cache_max_age응답 재사용 시간. 단위는 초입니다. 수신자마다 값이 같은 호출이라면 길게 잡아 호출 수를 줄일 수 있습니다기본 캐시 규칙 (응답 재사용 설정하기 참고)
:no_cache매번 새로 호출합니다. 재고처럼 항상 최신이어야 하는 값에 씁니다캐시 사용
default:값이 비었을 때 보여줄 문구 (개인화 메시지의 기존 필터)빈칸으로 발송
{% abort_message %}이 수신자에게 발송하지 않습니다빈칸이어도 발송
저장이 거부되는 경우해결 방법
Liquid 문법 오류, 지원하지 않는 필터 · 태그괄호 짝과 필터 이름을 확인하세요
지원하지 않는 옵션, 옵션값 오류:method는 get · post만 쓸 수 있습니다
:cache_max_age는 초 단위로 적습니다 (예: 3600)
:retry는 아직 지원하지 않습니다 (추후 지원 예정)
메시지당 호출 수 초과제목 · 내용 등 모든 필드를 합쳐 3개까지만 작성해주세요.
for 반복문 안의 지시문반복문 밖에서 한 번 호출하고 응답 배열을 반복하세요 (아래 예제 4)
호출 주소의 도메인에 개인화 변수호출 주소의 도메인에는 개인화 변수를 사용할 수 없습니다
도메인은 고정하고, 변수는 경로 · 쿼리에만 사용해주세요
저장한 이름을 필드 없이 사용{{ point }} 대신 {{ point.amount }}처럼 필드까지 적어주세요
인증 정보 문제등록된 이름인지, 방식(Basic · Token)과 옵션(:basic_auth · :auth_credentials)이 맞는지, 허용 도메인이 호출 주소와 정확히 같은지 확인하세요
항목한도
메시지당 호출 수제목 · 내용 등 모든 필드를 합쳐 3개
· 지시문마다 1개로 셉니다. 필드가 달라 같은 주소를 다시 적어도 각각 셉니다
· {% if %} 분기 안의 지시문도 실행 여부와 관계없이 모두 셉니다
· 여정 자동화는 메시지 액션마다 3개
호출 1건당 최대 대기 시간2초
응답 크기1MB
호출 주소 길이변수 치환 후 2048자
응답 캐시 유지 시간· GET 기본 5분
· POST는 :cache_max_age를 지정할 때만
· :cache_max_age 지정 범위 300초(5분) ~ 14400초(4시간). 벗어난 값은 가장 가까운 한도로 맞춰 적용됩니다
인증 정보 등록 개수프로젝트당 10개

기본 사용법을 익힌 뒤 참고할 수 있는 예제입니다.


예제 1. 제목과 내용에서 같은 값 쓰기

Section titled “예제 1. 제목과 내용에서 같은 값 쓰기”

:save로 저장한 이름은 지시문을 쓴 필드 안에서만 쓸 수 있습니다. 제목과 내용처럼 다른 필드에서 쓰려면 필드마다 지시문을 적어주세요. 주소가 같으면 캐시된 응답을 재사용합니다.

제목

{% connected_content https://api.example.com/products/{{ tags.wishlist_sku }} :save product %}찜하신 {{ product.name }} 가격이 내려갔어요.

내용

{% connected_content https://api.example.com/products/{{ tags.wishlist_sku }} :save product %}지금 {{ product.price | number_with_delimiter }}원에 만나보세요.

예제 2. 앞의 응답을 다음 호출에 쓰기

Section titled “예제 2. 앞의 응답을 다음 호출에 쓰기”

지시문은 위에서 아래로 실행되므로, 먼저 저장한 값을 다음 호출 주소에 쓸 수 있습니다. 앞 호출이 끝나야 다음 호출이 시작돼서 대기 시간이 쌓입니다.

{% connected_content https://api.example.com/me?uid={{ userId }} :save me %}
{% connected_content https://api.example.com/orders/{{ me.id }} :save orders %}
{{ me.name }}님의 주문 {{ orders.total }}건

예제 3. 조건에 따라 다른 API 호출하기

Section titled “예제 3. 조건에 따라 다른 API 호출하기”

{% if %} 안에서도 호출할 수 있고, 양쪽에 같은 이름을 써도 됩니다. 실제로 실행된 쪽의 응답이 담깁니다.

{% if tags.vip %}
{% connected_content https://api.example.com/vip-deals :save deals %}
{% else %}
{% connected_content https://api.example.com/normal-deals :save deals %}
{% endif %}
오늘의 특가: {{ deals.title }}

예제 4. 응답 목록을 반복문으로 표시하기

Section titled “예제 4. 응답 목록을 반복문으로 표시하기”

지시문은 반복문 밖에서 한 번만 호출하고, 받아온 목록을 반복문으로 표시합니다.

{% connected_content https://api.example.com/reco?uid={{ userId }} :save reco %}
회원님을 위한 추천 상품이에요.
{% for item in reco.items %}
- {{ item.title }} {{ item.price | number_with_delimiter }}원
{% endfor %}