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.

Velden

De actie Admin-API-aanvraag verzenden bevat de volgende velden.

Velden die worden gebruikt bij de actie Admin-API-aanvraag verzenden.
VeldBeschrijving
MutatieVereist. De Shopify GraphQL Admin-mutatie die je wil aanroepen. Een mutatie is een API die actie onderneemt of gegevens bijwerkt.
Mutatie-invoerVereist. 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.
## Triggers {#triggers}

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 en Mutation 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

Zat het antwoord dat je zocht er niet bij? Wij helpen je graag verder.