Skickar HTTP-begäranden i dina arbetsflöden

Skapa arbetsflöden som skickar HTTP-begäranden till externa webbservrar, endpoints för API och URL-adresser. Du kan till exempel skapa ett arbetsflöde som skickar ett meddelande till en meddelandetjänst, eller som skapar ett objekt i en projekthanteringsapp.

Din http-begäran kan stödja följande HTTP-metoder:

  • - skickar en förfrågan om information från servern.
  • Radera - tar bort en resurs från servern.
  • Rubrik - hämtar HTTP-svarsrubrikerna för servern.
  • Alternativ - hämtar de alternativ och funktioner som stöds av servern.
  • Patch - uppdaterar delvis en resurs på servern.
  • Lägg till - uppdaterar en resurs på servern.
  • Posta - skapar eller ersätter en resurs på servern.

Svarskoder

När Flow skickar din HTTP-begäran väntar den i högst 30 sekunder på att din app ska svara med en HTTP-statuskod. Om efter 30 sekunder Flow inte har fått ett svar från din app, så stängs anslutningen till din app och den skickar förfrågan igen.

När Flow får ett svar hanterar det koderna enligt följande:

Så här hanterar Flow statuskoder.
Statuskoder Hur Flow hanterar dem
200 Succé Flow förutsätter att post-begäran har behandlats av din app.
202 Succé Flow förutsätter att din app har accepterat post-begäran.
4XX Klientfel

Om din app skickar statuskoden 429 (för många förfrågningar) utan en Försök igen efter-rubrik, skickar Flow om HTTP-begäran (POST) med ett ökande intervall under upp till 24 timmar.

Om din app skickar statuskoden 429 (för många förfrågningar) med ett försök efter-rubrik (som anger en väntetid), skickar Flow om HTTP-begäran (POST) efter att väntetiden (formaterad i sekunder) har passerat.

Om din app skickar en annan 4XX-kod, utgår flödet från att ett fel uppstod och den skickar inte post-begäran igen.

5XX Serverfel Flow skickar om http-begäran (POST) med ökande intervaller i upp till 24 timmar.
Annan statuskod Om din app returnerar en kod som inte beskrivs i den här tabellen, förutsätter Shopify Plus att något gått fel och POST-begäran skickas inte igen.

Säkerhet

För att säkerställa att dina http-förfrågningar är så säkra som möjligt rekommenderar vi att du följer följande bästa praxis:

  • Lägg till | url_encode till alla liquid-variabler i sökvägsavsnittet i konfigurationsfältet för HTTP-åtgärds-URL. Den webbserver som tar emot förfrågan måste stödja avkodning av url:er.

Använd till exempel det här formatet för liquid-variabler i sökvägsavsnittet i konfigurationsfältet för HTTP-åtgärds-URL.:

https://example.com/customer/create?first_name={{ customer.firstName | url_encode }}&last_name={{ customer.lastName | url_encode }}
  • Lägg till | url_encode eller | json för varje mallvariabel som används i brödtextavsnittet i konfigurationsfältet för HTTP-åtgärds-brödtext. Webbservern som tar emot förfrågan måste stödja avkodning av URL:er eller JSON-avkodning.

Använd till exempel | url_encode i det här formatet när du har en Content-Type application/x-www-form-urlencoded header:

{
  "first name": "{{customer.firstName | url_encode}}",
  "last name": "{{customer.lastName | url_encode}}"
}

Använd | json i det här formatet när du har en Content-Type application/json header:

{
  "first name": {{customer.firstName | json}},
  "last name": {{customer.lastName | json}}
}

Begränsningar

Blanda inte ihop denna åtgärd för HTTP-begäran med appåtgärder som skapas med Flow-anslutningar. Båda funktionerna skickar HTTP-begäranden, men det finns skillnader mellan dem. Till exempel innehåller HTTP-begäran som skickas med den här åtgärden inte en action_run_id i rubriken.

Det är ett känt problem att denna åtgärd behandlar 202-statuskoder som om förfrågan behandlats.

Skickar en HTTP-förfrågan

  1. Klicka på Lägg till åtgärdi ditt arbetsflöde.
  2. Välj Skicka HTTP-begäran.
  3. Fyll i fälten enligt följande i avsnittet HTTP-metod:

    1. Välj en av HTTP-metoderna.
    2. Ange URL-adressen till servern i fältet URL.
    3. Valfritt: Om den API som du skickar information till behöver information för att för att läggas till i URL:en bör du göra följande: - Om API:n behöver information i sidhuvudet specificerar du parametrarna i tabellen Sidhuvuden för att skicka dem till URL:en. Om API:n tillåter att information läggs till i antingen sidhuvudet eller URL-sökvägen använder du sidhuvudet. Det här alternativet är mer säkert än att lägga till information i URL-sökvägen.sidhuvud
    4. Lägg till mallvariabler till sökvägsdelen av URL-adressen om API:n behöver ha information i URL-sökvägen. Sökvägsdelen av URL-adressen finns efter det tredje snedstrecket. I till exempel URL:en https://shopify.com/{{ order.id | url_encode }} är sökvägsdelen {{ order.id | url_encode }}.
  4. Lägg till ett nyckelvärdespar i fältet Sidhuvuden. Du kan även lägga till mallvariabler till nyckeln eller värdet.

  5. Lägg till det innehåll som du vill skicka till servern i fältet brödtext. När du skickar meddelanden är det ofta användbart att inkludera information om kunden, ordern eller produkten som berörs. För att göra det måste du använda mallvariabler.

  6. Klicka på Spara.

Relaterade länkar

Är du redo att börja sälja med Shopify?

Prova gratis