HTTP მოთხოვნის გაგზავნა

მოქმედება HTTP მოთხოვნის გაგზავნა აკავშირებს შენს სამუშაო პროცესს ვებ-სერვერთან ან URL-თან და აგზავნის HTTP მოთხოვნებს.

მას შემდეგ, რაც Flow გააგზავნის შენს HTTP მოთხოვნას, ის მაქსიმუმ 30 წამს ელოდება HTTP პასუხის კოდს. თუ Flow 30 წამის შემდეგ პასუხს ვერ მიიღებს, ის წყვეტს კავშირს შენს აპთან. მოგვიანებით ის კვლავ სცდის მოთხოვნის გაგზავნას.

ველები

HTTP მოთხოვნის გაგზავნა მოქმედება შეიცავს შემდეგ ველებს.

ველები, რომლებიც გამოიყენება HTTP მოთხოვნის გაგზავნის მოქმედებაში.
ველიაღწერა
HTTP მეთოდიგასაგზავნი HTTP მოთხოვნის მეთოდი. HTTP მოთხოვნის გაგზავნა მოქმედებას აქვს შემდეგი მეთოდების მხარდაჭერა:
  • Get - აგზავნის მოთხოვნას სერვერიდან ინფორმაციის მისაღებად.
  • Delete - შლის რესურსს სერვერიდან.
  • Head - იღებს სერვერის HTTP პასუხის თავსართებს.
  • Options - იღებს პარამეტრებსა და ფუნქციებს, რომლებსაც მხარს უჭერს სერვერი.
  • Patch - ნაწილობრივ აახლებს რესურსს სერვერზე.
  • Put - აახლებს რესურსს სერვერზე.
  • Post - ქმნის ან ანაცვლებს რესურსს სერვერზე.
URLსერვერის URL, რომელზეც იგზავნება HTTP მოთხოვნა.
თავსართებიკოდის და მნიშვნელობის წყვილი HTTP მოთხოვნისთვის. შესაძლებელია რამდენიმე კოდი-მნიშვნელობის წყვილის შეყვანა.
ძირითადი ნაწილიკონტენტი, რომელიც უნდა გაიგზავნოს სერვერზე.
კლიენტის შეცდომის დროს (4XX პასუხი)როდესაც იღებს პასუხის კოდს , რომელიც მიუთითებს კლიენტის შეცდომაზე, Flow შეასრულებს შემდეგს:
  • Retry - განმეორებით სცდის 24 საათამდე, სანამ არ მიიღებს სხვა პასუხის კოდს ან არ ამოიწურება დრო.
  • Fail - შეწყვეტს სამუშაო პროცესის გაშვებას წარუმატებლად.
  • Ignore - უგულებელყოფს შეცდომას და გააგრძელებს სამუშაო პროცესის გაშვებას.
სერვერის შეცდომის დროს (5XX ან 429 პასუხი)როდესაც იღებს პასუხის კოდს , რომელიც მიუთითებს სერვერის შეცდომაზე, Flow შეასრულებს შემდეგს:
  • Retry - განმეორებით სცდის 24 საათამდე, სანამ არ მიიღებს სხვა პასუხის კოდს ან არ ამოიწურება დრო.
  • Fail - შეწყვეტს სამუშაო პროცესის გაშვებას წარუმატებლად.
  • Ignore - უგულებელყოფს შეცდომას და გააგრძელებს სამუშაო პროცესის გაშვებას.

დაბრუნებული მონაცემები

ამ ქმედების შემდგომ საფეხურებზე დაბრუნებულ მონაცემებზე წვდომისთვის გამოიყენე ცვლადი სახელად sendHttpRequest, რომელიც მოიცავს HTTP პასუხის ყველა დეტალს. სურვილის შემთხვევაში, გამოიყენე კოდის გაშვების მოქმედება პასუხის body-ს გასაშიფრად შემდგომი სამუშაო პროცესის საფეხურებზე გამოსაყენებლად, როგორც ეს ნაჩვენებია ქვემოთ მოცემულ მაგალითში.

თუ მოქმედება HTTP მოთხოვნის გაგზავნა გამოიყენება რამდენჯერმე ერთსა და იმავე სამუშაო პროცესში, ცვლადის სახელს დაემატება რიცხვი. მაგალითად, სამუშაო პროცესში, რომელიც ორჯერ იყენებს HTTP მოთხოვნის გაგზავნის მოქმედებას, პირველი ცვლადი დაბრუნებული მონაცემებისთვის იქნება sendHttpRequest, ხოლო მეორე ცვლადი — sendHttpRequest1. ამ სახელის მორგება შეუძლებელია.

პასუხის კოდები

შემდეგ ცხრილში აღწერილია, თუ როგორ ამუშავებს Flow HTTP პასუხის კოდს პასუხის მიღების შემდეგ.

როგორ ამუშავებს Flow HTTP პასუხის კოდებს.
HTTP პასუხის კოდიროგორ ამუშავებს Flow პასუხის კოდს
2XX ან 3XX წარმატებაFlow HTTP მოთხოვნას მონიშნავს როგორც წარმატებულს და ასრულებს შემდგომ ქმედებებს სამუშაო პროცესში.
4XX შეცდომები,
5XX და 429 შეცდომები
ქმედების კონფიგურაციაზე დამოკიდებულებით, Flow:
  • Retry - განმეორებით სცდის 24 საათამდე, სანამ არ მიიღებს სხვა პასუხის კოდს ან არ ამოიწურება დრო.
  • Fail - შეწყვეტს სამუშაო პროცესის გაშვებას წარუმატებლად.
  • Ignore - უგულებელყოფს შეცდომას და გააგრძელებს სამუშაო პროცესის გაშვებას.
სხვა პასუხის კოდითუ პასუხი აბრუნებს ამ ცხრილში აღუწერელ კოდს, ან ქმედებების ხელახლა ცდისას დრო იწურება, Flow HTTP მოთხოვნას წარუმატებლად მონიშნავს, სამუშაო პროცესის გაშვება სრულდება წარუმატებლად და აღარ სრულდება სამუშაო პროცესის შემდგომი ქმედებები.

საიდუმლოებები

საიდუმლოებები გამოიყენება HTTP მოთხოვნის გაგზავნის ქმედებაში გამოსაყენებელი სენსიტიური ინფორმაციის უსაფრთხოდ შესანახად, როგორიცაა წვდომის ტოკენები ან პაროლები. საიდუმლოებების შექმნა და მართვა ხდება Flow-ს > პარამეტრების გვერდიდან. საიდუმლო შეიცავს იდენტიფიკატორს, მნიშვნელობას და აღწერას. URL-ის, თავსართის მნიშვნელობის ან ძირითადი ტექსტის ველების კონფიგურაციისას მიუთითე საიდუმლო Liquid ცვლადის სახით (მაგალითად {{secrets.handle}}) ან საიდუმლოს დამატების ვარიანტიდან. საიდუმლო მნიშვნელობები არასოდეს ჩანს Flow-ს ინტერფეისში და დაფარულია სამუშაო პროცესის გაშვების ჟურნალებში.

ტრიგერები

HTTP მოთხოვნის გაგზავნის ქმედების გამოყენება ნებისმიერ სამუშაო პროცესშია შესაძლებელი.

მაგალითები

მაგალითი 1: HTTP მოთხოვნის გაგზავნა გარე სერვისზე

ამ მაგალითში გამოიყენე Flow გარე სერვისზე HTTP მოთხოვნის გასაგზავნად.

დაწყებამდე, დააკონფიგურირე ვებსერვისი, რომელიც იღებს HTTP მოთხოვნებს და ტესტირების მიზნით ინახავს ამ მოთხოვნების მონაცემებს, როგორიცაა Request Catcher. გახსოვდეს, რომ მესამე მხარის სერვისზე სენსიტიური მონაცემების (როგორიცაა პაროლები ან API გასაღებები) გაგზავნისას სიფრთხილე გმართებს.

ნაბიჯები:

  1. აირჩიე პროდუქტის სტატუსი განახლებულია ტრიგერი, რაც საშუალებას მოგცემს, რომ ეს სამუშაო პროცესი პროდუქტზე სტატუსის შეცვლით გატესტო.
  2. დაამატე ქმედება: HTTP მოთხოვნის გაგზავნა შენს სამუშაო პროცესში და დააკავშირე ის ტრიგერთან. შემდეგ გახსენი კონფიგურაციის პანელი HTTP მოთხოვნის გაგზავნა ნაბიჯზე დაწკაპუნებით.
    • HTTP მეთოდის ველში შეიყვანე POST.
    • URL ველში შეიყვანე გასატესტი URL, როგორიცაა https://yourFlowTest.requestcatcher.com/test.
    • თავსართების სექციაში შეიყვანე თავსართი, სადაც გასაღები იქნება Content-Type, ხოლო მნიშვნელობა — text/plain.
    • ძირითადი ტექსტის სექციაში შეიყვანე {{product.title}} და {{product.status}} ტრიგერიდან პროდუქტის სახელწოდების და განახლებული სტატუსის გასაგზავნად.
  3. გაააქტიურე სამუშაო პროცესი.
  4. გატესტე ის პროდუქტზე სტატუსის შეცვლით, მაგალითად, მონახაზიდან აქტიურზე.
  5. დააკვირდი შედეგებს გარე ტესტირების სერვისში, როგორიცაა ამ მაგალითში https://yourFlowTest.requestcatcher.com/.

მაგალითი 2: „კოდის გაშვების“ გამოყენება HTTP პასუხის გასარჩევად

ამ მაგალითში, გამოიყენე Flow გარე სერვისზე HTTP მოთხოვნის გასაგზავნად და კოდის გაშვების ქმედება HTTP პასუხის body-ის გასარჩევად, რომელიც შემდგომი სამუშაო პროცესის ნაბიჯებში გამოიყენება.

დაწყებამდე, აირჩიე ვებსერვისი, რომელიც იღებს HTTP მოთხოვნებს და აბრუნებს მონაცემებს, როგორიცაა Postman Echo. გახსოვდეს, რომ მესამე მხარის სერვისზე სენსიტიური მონაცემების (როგორიცაა პაროლები ან API გასაღებები) გაგზავნისას სიფრთხილე გმართებს.

ნაბიჯები:

  1. აირჩიე პროდუქტის სტატუსი განახლებულია ტრიგერი, რაც საშუალებას მოგცემს, რომ ეს სამუშაო პროცესი პროდუქტზე სტატუსის შეცვლით გატესტო.

  2. დაამატე HTTP მოთხოვნის გაგზავნის ქმედება შენს სამუშაო პროცესში და დააკავშირე ის ტრიგერს. შემდეგ გახსენი კონფიგურაციის პანელი HTTP მოთხოვნის გაგზავნის ნაბიჯზე დაწკაპუნებით.

    • HTTP მეთოდის ველში შეიყვანე POST.

    • URL ველში შეიყვანე გასატესტი URL, როგორიცაა https://postman-echo.com/post.

    • თავსართების სექციაში შეიყვანე თავსართი, სადაც გასაღები იქნება Content-Type, ხოლო მნიშვნელობა — application/json.

    • ძირითადი ტექსტის სექციაში შეიყვანე სამუშაო პროცესისთვის დასაბრუნებელი JSON მაგალითი, როგორიცაა:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. დაამატე კოდის გაშვების ქმედება შენს სამუშაო პროცესში და დააკავშირე ის HTTP მოთხოვნის გაგზავნის ქმედებას. შემდეგ გახსენი კონფიგურაციის პანელი კოდის გაშვების ნაბიჯზე დაწკაპუნებით.

    • შეყვანის განსაზღვრის ველში შეიტანე body, რომელსაც აბრუნებს sendHTTPrequest ობიექტი, როგორიცაა:

      query{
        sendHttpRequest {
          body
        }
      }
    • გამოტანის განსაზღვრის ველში, რომელიც განსაზღვრულია გამოტანის სქემაში, როგორიცაა:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • კოდის დაწერის ველში, გაარჩიე პასუხი JSON.parse მეთოდის გამოყენებით და დარწმუნდი, რომ შენ მიერ დაბრუნებული მონაცემები შეესაბამება გამოტანის სქემაში განსაზღვრულ ფორმასა და ტიპებს, როგორიცაა:

      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. დაამატე გამოტანის აღრიცხვის ქმედება შენს სამუშაო პროცესში და დააკავშირე ის კოდის გაშვების ქმედებას. შემდეგ გახსენი კონფიგურაციის პანელი კოდის გაშვების ნაბიჯზე დაწკაპუნებით.

    • გამოტანის ველში შეიტანე კოდის გაშვების ნაბიჯის მიერ დაბრუნებული ცვლადები, როგორიცაა:

      Title from HTTP response: {{runCode.productTitle}}
      Status from HTTP response: {{runCode.productStatus}}
  5. გაააქტიურე სამუშაო პროცესი.

  6. გატესტე ის პროდუქტზე სტატუსის შეცვლით, მაგალითად, მონახაზიდან აქტიურზე.

  7. დააკვირდი გაშვების შედეგს Flow / ბოლო გაშვებების გვერდიდან და შეამჩნევ, რომ გამოტანის აღრიცხვის ნაბიჯში არსებული მნიშვნელობები შეესაბამება HTTP მოთხოვნის გაგზავნის გამოტანიდან დაბრუნებულ მნიშვნელობებს.

შაბლონები

აცნობე შეკვეთის შესრულების პროვაიდერს მომავალი შეკვეთების შესახებ

გაუგზავნე HTTP მოთხოვნა შენი შეკვეთის შესრულების პროვაიდერს, როდესაც Order Tagger-ში შეკვეთებს მიენიჭება „Warehouse“ თეგი. შაბლონის ნახვა

ახალი შეკვეთების გაგზავნა Airtable-ში

გააგზავნე შეკვეთები Airtable-ში შეკვეთის შექმნისას. შაბლონის ნახვა

ყველა არსებული და ახალი პროდუქტის გაგზავნა Airtable-ში

ყოველ 10 წუთში იპოვე ის პროდუქტები, რომლებიც არ გაგზავნილა Airtable-ში (თეგის მიხედვით) და გააგზავნე ისინი Airtable-ში. შაბლონის ნახვა

პროდუქტების პარტიებად განახლება Airtable-ში შენახული პროდუქტების მონაცემებიდან

განაახლე პროდუქტები პარტიებად Airtable-ში შენახული პროდუქტების მონაცემებიდან. შაბლონის ნახვა

აცნობე მომხმარებლებს სასაჩუქრე ბარათების ვადის გასვლის შესახებ SendGrid-ის გამოყენებით

ყოველდღიურად მიიღე ყველა სასაჩუქრე ბარათი, რომელთაც ვადა 7 დღეში გასდით და SendGrid-ის გამოყენებით გაუგზავნე ელფოსტა მომხმარებლებს. შაბლონის ნახვა

SendGrid-ის მეშვეობით ელფოსტის გაგზავნა, როდესაც მომხმარებლები ათავსებენ შეკვეთას მორგებულ ერთეულზე

გაგზავნე ტრანზაქციული ელფოსტა SendGrid-ის მეშვეობით, როდესაც მომხმარებელი ათავსებს შეკვეთას მორგებულ ერთეულზე. შაბლონის ნახვა