HTTP isteği gönder

HTTP isteği gönder eylemi, iş akışınızı bir web sunucusuna veya URL'ye bağlar ve HTTP istekleri gönderir.

Flow, HTTP isteğinizi gönderdikten sonra bir HTTP yanıt kodu için en fazla 30 saniye bekler. Flow, 30 saniye sonra bir yanıt almazsa uygulamanızla olan bağlantıyı kapatır. Daha sonra isteği yeniden dener.

Alanlar

HTTP isteği gönder eylemi aşağıdaki alanları içerir.

HTTP isteği gönder eyleminde kullanılan alanlar.
AlanAçıklama
HTTP yöntemiGönderilecek HTTP isteğinin yöntemidir. HTTP isteği gönder eylemi aşağıdaki yöntemleri destekler:
  • Get - Sunucudan bilgi istemi gönderir.
  • Delete - Sunucudan bir kaynağı kaldırır.
  • Head - Sunucunun HTTP yanıtı üstbilgilerini alır.
  • Options - Sunucu tarafından desteklenen seçenekleri ve özellikleri alır.
  • Patch - Sunucudaki bir kaynağı kısmen günceller.
  • Put - Sunucudaki bir kaynağı günceller.
  • Post - Sunucuda bir kaynak oluşturur veya mevcut bir kaynağı değiştirir.
URLHTTP isteğinin gönderildiği sunucunun URL'si.
ÜstbilgilerHTTP isteğinin anahtar ve değer çifti. Birden fazla anahtar-değer çifti girilebilir.
GövdeSunucuya gönderilecek içerik.
İstemci hatasında (4XX yanıtı)Bir yanıt kodu bir istemci hatası belirtirse Flow şunları yapar:
  • Yeniden dene - Farklı bir yanıt kodu alana veya zaman aşımına uğrayana kadar 24 saate varan süreyle yeniden deneyin.
  • Başarısız kıl - İş akışı çalıştırmasını başarısız kılın.
  • Yoksay - Hatayı yoksayın ve iş akışı çalıştırmasına devam edin.
Sunucu hatasında (5XX veya 429 yanıtı)Bir yanıt kodu bir sunucu hatası belirtirse Flow şunları yapar:
  • Yeniden dene - Farklı bir yanıt kodu alana veya zaman aşımına uğrayana kadar 24 saate varan süreyle yeniden deneyin.
  • Başarısız kıl - İş akışı çalıştırmasını başarısız kılın.
  • Yoksay - Hatayı yoksayın ve iş akışı çalıştırmasına devam edin.

Döndürülen veri

Bu eylemi izleyen adımlarda döndürülen verilere erişmek için HTTP yanıtının tüm ayrıntılarını içeren sendHttpRequest adlı değişkeni kullanın. İsteğe bağlı olarak, aşağıdaki örnekte olduğu gibi, yanıtın body (gövde) bölümünü sonraki iş akışı adımlarında kullanmak üzere ayrıştırmak için bir Kod çalıştır eylemi kullanın.

Tek bir iş akışında HTTP isteği gönder eylemi birden çok kez kullanılıyorsa değişken adına bir sayı eklenir. Örneğin HTTP isteği gönder eyleminin iki kez kullanıldığı bir iş akışında, döndürülen verilere yönelik ilk değişken sendHttpRequest, ikinci değişken ise sendHttpRequest1 olur. Bu ad özelleştirilemez.

Yanıt kodları

Aşağıdaki tabloda, Flow'un bir yanıt aldıktan sonra HTTP yanıt kodunu nasıl işlediği açıklanmaktadır.

Flow'un HTTP yanıt kodlarını işleme şekli.
HTTP yanıt koduFlow'un yanıt kodunu işleme şekli
2XX veya 3XX BaşarılıFlow, HTTP isteğini başarılı olarak işaretler ve iş akışındaki sonraki eylemleri gerçekleştirir.
4XX Hataları,
5XX ve 429 Hataları
Eylemin nasıl yapılandırıldığına bağlı olarak Flow şunları yapar:
  • Yeniden dene - Farklı bir yanıt kodu alana veya zaman aşımına uğrayana kadar 24 saate varan süreyle yeniden deneyin.
  • Başarısız kıl - İş akışı çalıştırmasını başarısız kılın.
  • Yoksay - Hatayı yoksayın ve iş akışı çalıştırmasına devam edin.
Diğer yanıt koduYanıt, bu tabloda açıklanmayan bir kod döndürürse veya eylemleri yeniden denerken zaman aşımına uğrarsa Flow, HTTP isteğini başarısız olarak işaretler, iş akışı çalıştırmasını başarısız kılar ve sonraki iş akışı eylemlerini gerçekleştirmez.

Gizli anahtarlar

Gizli anahtarlar; erişim belirteçleri veya parolalar gibi HTTP isteği gönder eyleminde kullanılacak hassas bilgileri güvenli bir şekilde depolamak için kullanılır. Gizli anahtarlar, Flow > Ayarlar sayfasından oluşturulup yönetilir. Bir gizli anahtar; tanıtıcı, değer ve açıklama içerir. URL, Üstbilgi değeri veya Gövde alanlarını yapılandırırken gizli anahtara bir Liquid değişkeni (örneğin {{secrets.handle}}) olarak veya Gizli anahtar ekle seçeneğinden başvurun. Gizli anahtar değerleri Flow arabiriminde hiçbir zaman görünmez ve iş akışı çalıştırma günlüklerinden gizlenir.

Tetikleyiciler

HTTP isteği gönder eylemi, tüm iş akışlarında kullanılabilir.

Örnekler

Örnek 1: Harici bir hizmete HTTP isteği gönderme

Bu örnekte, harici bir hizmete HTTP isteği göndermek için Flow'u kullanın.

Başlamadan önce, Request Catcher gibi, HTTP istekleri alan ve bu isteklerin verilerini test amacıyla saklayan bir web hizmeti yapılandırın. Üçüncü taraf bir hizmete hassas bilgiler (parolalar veya API anahtarları gibi) gönderirken dikkatli olmayı unutmayın.

Adımlar:

  1. Bir ürünün durumunu değiştirerek bu iş akışını test etmenize olanak tanıyan Ürün durumu güncellendi tetikleyicisini seçin.
  2. Bir HTTP isteği gönder eylemini iş akışınıza ekleyip tetikleyiciye bağlayın. Ardından HTTP isteği gönder adımına tıklayarak yapılandırma panelini açın.
    • HTTP Yöntemi alanına POST girin.
    • URL alanına, https://yourFlowTest.requestcatcher.com/test gibi test edilecek bir URL girin.
    • Üstbilgiler bölümünde, AnahtarContent-Type ve Değer'i text/plain olan bir üstbilgi girin.
    • Gövde bölümüne, tetikleyiciden ürün başlığını ve güncellenmiş durumunu göndermek için {{product.title}} ve {{product.status}} girin.
  3. İş akışını etkinleştirin.
  4. Bir ürünün durumunu, örneğin Taslak iken Etkin olarak değiştirerek iş akışını test edin.
  5. Bu örnekte olduğu gibi, https://yourFlowTest.requestcatcher.com/ benzeri harici test hizmetindeki sonuçları gözlemleyin.

Örnek 2: HTTP yanıtını ayrıştırmak için Kod çalıştır eylemini kullanma

Bu örnekte, harici bir hizmete HTTP isteği göndermek için Flow'u ve sonraki iş akışı adımlarında kullanmak üzere HTTP yanıtının gövdesini ayrıştırmak için Kod çalıştır eylemini kullanın.

Başlamadan önce, Postman Echo gibi, HTTP istekleri alan ve veri döndüren bir web hizmeti seçin. Üçüncü taraf bir hizmete hassas veriler (parolalar veya API anahtarları gibi) gönderirken dikkatli olmayı unutmayın.

Adımlar:

  1. Bir ürünün durumunu değiştirerek bu iş akışını test etmenize olanak tanıyan Ürün durumu güncellendi tetikleyicisini seçin.

  2. İş akışınıza bir HTTP isteği gönder eylemi ekleyip bunu tetikleyiciye bağlayın. Ardından, HTTP isteği gönder adımına tıklayarak yapılandırma panelini açın.

    • HTTP Yöntemi alanına POST girin.

    • URL alanına, https://postman-echo.com/post gibi test edilecek bir URL girin.

    • Üstbilgiler bölümünde, AnahtarContent-Type ve Değer'i application/json olan bir üstbilgi girin.

    • Gövde bölümüne, iş akışına döndürülecek örnek JSON'ı girin. Örneğin:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. İş akışınıza bir Kod çalıştır eylemi ekleyip bunu HTTP isteği gönder eylemine bağlayın. Ardından, Kod çalıştır adımına tıklayarak yapılandırma panelini açın.

    • Girdileri tanımla alanına, sendHTTPrequest nesnesi tarafından döndürülen gövdeyi ekleyin. Örneğin:

      query{
        sendHttpRequest {
          body
        }
      }
    • Çıktıları tanımla alanına, çıktı şemasında tanımlananları girin. Örneğin:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • Kod yaz alanında, JSON.parse yöntemini kullanarak yanıtı ayrıştırın ve döndürdüğünüz verilerin çıktı şemasında tanımlanan şekil ve türlerle eşleştiğinden emin olun. Örneğin:

      export default function main(input) {
        const body = JSON.parse(input.sendHttpRequest.body);
        console.log("body is", body);
        return {
          productTitle: body.data.productTitle,
          productStatus: body.data.productStatus
        }
      }
  4. İş akışınıza bir Çıktıyı günlüğe kaydet eylemi ekleyip bunu Kod çalıştır eylemine bağlayın. Ardından, Kod çalıştır adımına tıklayarak yapılandırma panelini açın.

    • Çıktı alanına, Kod çalıştır adımı tarafından döndürülen değişkenleri ekleyin. Örneğin:

      Title from HTTP response: {{runCode.productTitle}}
      Status from HTTP response: {{runCode.productStatus}}
  5. İş akışını etkinleştirin.

  6. Bir ürünün durumunu, örneğin Taslak iken Etkin olarak değiştirerek iş akışını test edin.

  7. Flow / Son çalıştırmalar sayfasından sonuçta ortaya çıkan çalıştırmayı gözlemleyin ve Çıktıyı günlüğe kaydet adımındaki değerlerin, HTTP isteği gönder çıktısından döndürülen değerlerle eşleştiğine dikkat edin.

Şablonlar

Yaklaşan siparişler hakkında gönderim hizmeti sağlayıcınızı bilgilendirin

Order Tagger'da siparişler "Warehouse" olarak etiketlendiğinde gönderim hizmeti sağlayıcınıza bir HTTP isteği gönderin. Şablonu görüntüleyin

Yeni siparişleri Airtable'a gönderin

Bir sipariş oluşturulduğunda siparişleri Airtable'a gönderin. Şablonu görüntüleyin

Mevcut ve yeni tüm ürünleri Airtable'a gönderin

Her 10 dakikada bir, Airtable'a gönderilmemiş ürünleri (etikete göre) bulun ve Airtable'a gönderin. Şablonu görüntüleyin

Airtable'da depolanan ürün verilerinden ürünleri gruplar halinde güncelleyin

Airtable'da depolanan ürün verilerinden ürünleri gruplar halinde güncelleyin. Şablonu görüntüleyin

SendGrid'i kullanarak, son kullanma tarihi yaklaşan hediye kartları hakkında müşterileri bilgilendirin

Her gün, 7 gün içinde süresi dolacak tüm hediye kartlarını alın ve SendGrid'i kullanarak müşterilere e-posta gönderin. Şablonu görüntüleyin

Müşteriler özel bir ürün için sipariş verdiğinde SendGrid'i kullanarak e-posta gönderin

Bir müşteri özel bir ürün için sipariş verdiğinde SendGrid'i kullanarak işlem e-postası gönderin. Şablonu görüntüleyin