Admin API 요청 보내기
Send Admin API request 작업을 사용하면 Flow에서 아직 작업으로 사용할 수 없는 뮤테이션을 비롯하여 GraphQL Admin API의 대부분의 뮤테이션을 통해 스토어를 변경할 수 있습니다.
필드
Send Admin API request 작업에는 다음 필드가 포함됩니다.
| 필드 | 설명 |
|---|---|
| 뮤테이션 | 필수. 호출하려는 Shopify GraphQL Admin 뮤테이션입니다. 뮤테이션은 작업을 수행하거나 데이터를 업데이트하는 API입니다. |
| 뮤테이션 입력 | 필수. 뮤테이션 요청의 일부로 전송해야 하는 데이터(JSON 형식)입니다. 각 뮤테이션에는 서로 다른 데이터 세트가 필요하며, 이는 각 뮤테이션에 제공된 링크에 설명되어 있습니다. 필요한 JSON을 구성하려면 Liquid 또는 코드 실행 작업을 사용할 수 있습니다. |
트리거
Send Admin API request 작업은 모든 워크플로에서 어떤 트리거와도 함께 사용할 수 있습니다. 단, 워크플로가 뮤테이션 입력을 구성하는 데 필요한 데이터를 제공해야 합니다.
예
예 1: 제품에 사용되는 템플릿 업데이트하기
이 예에서는 Send Admin API request 작업을 사용하여 productUpdate 뮤테이션을 호출해 제품에 사용되는 템플릿을 업데이트합니다.
id 필드는 필수이며 유효한 제품 GID여야 합니다. 여기서는 {{product.id}} Liquid 변수를 사용하여 설정합니다. 이는 워크플로에 제품 개체를 제공하는 트리거가 있다고 가정합니다.
templateSuffix는 제품에 적용하려는 템플릿의 이름입니다. 예를 들어 pre-order 템플릿을 적용하려면 templateSuffix를 pre-order로 설정하면 됩니다.
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}예 2: 고객의 세금 면제 상태 업데이트하기
이 예에서는 Send Admin API request 작업을 사용하여 customerUpdate 뮤테이션을 호출해 고객의 세금 면제 상태를 업데이트합니다.
id 필드는 필수이며 유효한 고객 GID여야 합니다. 여기서는 {{order.customer.id}} Liquid 변수를 사용하여 설정합니다. 이는 워크플로에 주문 개체를 제공하는 트리거가 있다고 가정합니다.
taxExempt 필드는 고객의 세금 면제 여부를 나타내는 부울(boolean) 값입니다. 이 예에서는 true로 설정합니다.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}예 3: 고객의 로케일 업데이트하기
이 예에서는 Send Admin API request 작업을 사용하여 customerUpdate 뮤테이션을 호출해 고객의 로케일을 업데이트합니다.
id 필드는 필수이며 유효한 고객 GID여야 합니다. 여기서는 {{customer.id}} Liquid 변수를 사용하여 설정합니다. 이는 워크플로에 고객 개체를 제공하는 트리거가 있다고 가정합니다.
locale 필드는 고객의 로케일을 나타내는 문자열입니다. 이 예에서는 en으로 설정합니다.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}Liquid 팁
Flow는 입력을 구성하는 데 유용한 json liquid 필터를 지원합니다. 다음 예는 모두 customerUpdate 뮤테이션을 사용하며, 워크플로에 고객 개체를 제공하는 트리거가 있다고 가정합니다.
문자열 작업
다음 예는 고객의 참고 사항을 업데이트합니다.
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}json 필터는 문자열을 이스케이프하여 올바른 JSON 형식을 보장합니다. 워크플로가 실행되면 다음과 같은 JSON이 생성됩니다.
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}배열 작업
배열 예
json 필터는 liquid 배열을 JSON 배열로 변환합니다. 다음 예는 liquid 배열이 제공될 때 JSON 배열을 출력합니다.
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}워크플로가 실행되면 다음과 같은 JSON이 생성됩니다.
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}For 루프 예
다음 예에서는 루프를 사용하여 배열의 요소를 쉼표로 구분하여 출력합니다.
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": [
{% for tag in tags %}
"{{ tag }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
}워크플로가 실행되면 다음과 같은 JSON이 생성됩니다.
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}Map 예
map 필터를 사용하면 개체 배열에서 특정 속성의 배열을 가져올 수 있습니다. 다음 예에서는 고객 주소 배열에서 city 속성 배열을 추출합니다.
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}워크플로가 실행되면 다음과 같은 JSON이 생성됩니다.
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}제한 사항
Send Admin API request 작업에는 다음과 같은 제한 사항이 있습니다.
- 이 작업은 Flow에서 사용하는 Admin API 버전의
뮤테이션및뮤테이션 입력목록을 표시합니다. - 변경되거나 지원이 중단된 뮤테이션 또는 필드를 사용하는 경우, 새 API 버전이 출시될 때 이 작업이 실패할 수 있습니다.
- 이 작업은 GraphQL 쿼리는 지원하지 않고 뮤테이션만 지원합니다.
- 이 작업은 지원이 중단된 뮤테이션을 지원하지 않습니다.
- 이 작업은 일부 구독, 마케팅 활동, 할인 뮤테이션을 포함하여 특정 앱에만 해당하는 일부 뮤테이션을 지원하지 않습니다.
- 이 작업은 비동기 뮤테이션 또는
Job유형을 반환하는 뮤테이션을 지원하지 않습니다. - 이 작업은 Node 인터페이스를 구현하지 않는 뮤테이션을 지원하지 않습니다.
템플릿
새 주문에 무료(100% 할인) 품목 추가
이 템플릿은 품목의 재고가 있는 경우 새 주문에 무료 할인 품목을 추가합니다. 재고를 확인하고 100% 할인을 적용하며 고객에게 알리지 않고 주문을 업데이트합니다. 이 자동화는 (1) 주문에 깜짝 무료 품목을 포함하여 고객 만족도를 높이거나, (2) 주문에 무료 샘플로 추가하여 신제품이나 잘 알려지지 않은 제품을 홍보하거나, (3) 무료 품목의 포함 및 할인을 자동화하여 프로모션을 간소화하는 데 유용합니다. 템플릿 보기
회사 계정 요청으로 생성된 회사의 주문 허용
회사 계정 요청을 통해 회사가 생성되면 주문 권한을 할당합니다. 템플릿 보기
이형 상품이 품절되거나 재입고될 때 제품 템플릿 변경
제품 이형 상품의 재고에 따라 제품 템플릿을 업데이트합니다. 이 워크플로를 사용하면 재고 있음(스토어의 기본 템플릿), 품절, 하나 이상의 이형 상품 품절 시 템플릿 간에 전환할 수 있습니다. 템플릿 보기
주문 내 모든 디지털 품목 주문 처리
디지털 품목과 같이 실제 배송이 필요하지 않거나 SKU 목록과 일치하는 품목의 주문을 처리합니다. 새 주문에 대해 각 주문 처리 위치('fulfillment order')마다 한 번씩 실행됩니다. 템플릿 보기