Admin-API-aanvraag verzenden
Met de actie Admin API-aanvraag verzenden kunt je de meeste mutaties in de GraphQL Admin API gebruiken om wijzigingen in je winkel aan te brengen, inclusief mutaties die nog niet beschikbaar zijn als acties in Flow.
Op deze pagina
Velden
De actie Admin-API-aanvraag verzenden bevat de volgende velden.
Veld | Beschrijving |
---|---|
Mutatie | Vereist. De Shopify GraphQL Admin-mutatie die je wil aanroepen. Een mutatie is een API die actie onderneemt of gegevens bijwerkt. |
Mutatie-invoer | Vereist. De gegevens (in JSON) die je verzendt als onderdeel van de mutatieaanvraag. Elke mutatie vereist een andere set gegevens, die wordt gedocumenteerd in de link die voor elke mutatie wordt verstrekt. Je kunt Liquid of een actie Code uitvoeren gebruiken om de nodige JSON te maken. |
Je kunt de actie Admin-API-aanvraag verzenden in elke workflow, met elke trigger, gebruiken, zolang de workflow de gegevens bevat die nodig zijn om de mutatie-invoer te maken.
Voorbeelden
Voorbeeld 1: De template bijwerken die voor een product wordt gebruikt
In dit voorbeeld gebruiken we de actie Admin-API-aanvraag verzenden om de mutatie productUpdate
aan te roepen om de template bij te werken die voor een product wordt gebruikt.
Het veld id
is vereist en kan alleen een geldige product-GID zijn. Hier stellen we het in met de Liquid-variabele {{product.id}}
. Dit veronderstelt dat de workflow een trigger heeft die een productobject verschaft.
De templateSuffix
is de naam van de template die je op het product wil toepassen. Als je bijvoorbeeld de pre-order
-template wil toepassen, stel je de templateSuffix in op pre-order
.
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}
Voorbeeld 2: De belastingvrijstellingsstatus van een klant bijwerken
In dit voorbeeld gebruiken we de actie Admin-API-aanvraag verzenden om de mutatie customerUpdate
aan te roepen om de belastingvrijstellingsstatus van een klant bij te werken.
Het veld id
is vereist en kan alleen een geldige klant-GID zijn. Hier stellen we het in met de Liquid-variabele {{order.customer.id}}
. Dit veronderstelt dat de workflow een trigger heeft die een bestelobject verschaft.
Het veld taxExempt
is een boolean die aangeeft of de klant is vrijgesteld van belasting. In dit voorbeeld stellen we deze in op true
.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}
Voorbeeld 3: De landinstellingen van een klant bijwerken
In dit voorbeeld gebruiken we de actie Admin-API-aanvraag verzenden om de mutatie customerUpdate
aan te roepen om de landinstellingen van een klant bij te werken.
Het veld id
is vereist en kan alleen een geldige klant-GID zijn. Hier stellen we het in met de Liquid-variabele {{customer.id}}
. Dit veronderstelt dat de workflow een trigger heeft die een klantobject verschaft.
Het veld locale
is een tekenreeks die de landinstellingen van de klant vertegenwoordigt. In dit voorbeeld stellen we deze in op en
.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}
Liquid-tips
Flow ondersteunt een json
liquid-filter dat handig kan zijn bij het maken van de invoer. De volgende voorbeelden gebruiken allemaal de customerUpdate
-mutatie en gaan ervan uit dat je workflow een trigger heeft die een klantobject oplevert.
Werken met tekenreeksen
In het volgende voorbeeld wordt de notitie voor een klant bijgewerkt:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}
Het json
-filter omzeilt de tekenreeks via een escape-teken om de juiste JSON te waarborgen. Dit resulteert in de volgende JSON nadat de workflow is uitgevoerd:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}
Werken met matrixen
Voorbeeld van matrix
Het json
-filter zet een liquid-matrix om in een JSON-matrix. In het volgende voorbeeld wordt een JSON-matrix uitgevoerd wanneer deze wordt geleverd met een liquid-matrix:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}
Dit resulteert in de volgende JSON nadat de workflow is uitgevoerd:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}
Voorbeeld van een 'for loop'
In het volgende voorbeeld wordt een lus gebruikt om de elementen van een matrix uit te voeren, gescheiden door komma's:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": [
{% for tag in tags %}
"{{ tag }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
}
Dit levert de volgende JSON op als de workflow wordt uitgevoerd:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}
Voorbeeld kaart
Het map-filter (kaart) kan worden gebruikt om een matrix van een specifieke eigenschap op te halen uit een matrix van objecten. In het volgende voorbeeld wordt een matrix van city
-eigenschappen geëxtraheerd uit een matrix van klantadressen:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}
Dit resulteert in de volgende JSON nadat de workflow is uitgevoerd:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}
Beperkingen
De actie Admin-API-aanvraag verzenden heeft de volgende beperkingen:
- Met de actie wordt een lijst weergegeven met
Mutations
enMutation inputs
van de Admin API-versie die door Flow wordt gebruikt. - Wanneer er nieuwe API-versies worden uitgebracht, kan deze actie mislukken als er een mutatie of veld wordt gebruikt dat is gewijzigd of verouderd.
- De actie ondersteunt geen GraphQL-query's, alleen mutaties.
- De actie ondersteunt geen verouderde mutaties.
- De actie ondersteunt sommige mutaties niet die bij bepaalde apps horen, zoals mutaties van abonnementen, marketingactiviteiten en kortingen.
- De actie ondersteunt geen asynchrone mutaties of mutaties die een
Job
-type retourneren. - De actie ondersteunt geen mutaties die de Node-interface niet implementeren.
Templates
Gratis artikel (100% korting) toevoegen aan nieuwe bestellingen
Met deze template voeg je een gratis artikel toe aan nieuwe bestellingen als het artikel op voorraad is. Deze template controleert de voorraad, past 100% korting toe en werkt de bestelling bij zonder de klant op de hoogte te stellen. Deze automatisering is nuttig om (1) klanttevredenheid te verhogen door een gratis verrassingsartikel bij de bestelling te plaatsen, (2) nieuwe of minder bekende producten te promoten door ze als monsters bij bestellingen te plaatsen of (3) promoties te stroomlijnen door het meegeven van gratis artikelen en het aftrekken van de korting te automatiseren. Template bekijken
Sta bestellingen toe van bedrijven die zijn aangemaakt door middel van aanvragen voor bedrijfsaccounts.
Wijs een bestelmachtiging toe wanneer een bedrijf wordt gemaakt door een aanvraag van een bedrijfsaccount. Template bekijken
De producttemplate wijzigen wanneer varianten niet of weer op voorraad zijn
Werk een producttemplate bij op basis van de voorraad voor de varianten van het product. Met de workflow kun je wisselen tussen templates voor 'op voorraad' (de standaardtemplate van de winkel), 'niet op voorraad' en wanneer een of meer varianten niet op voorraad zijn. Template bekijken
Digitale artikelen in een bestelling afhandelen
Hiermee handel je artikelen af die niet fysiek hoeven te worden bezorgd, zoals digitale artikelen of artikelen uit een lijst met SKU's. Wordt op elke fulfilmentlocatie één keer uitgevoerd (de 'bestelling voor fulfilment') voor een nieuwe bestelling. Template bekijken