{"id":5753,"date":"2024-11-05T11:37:07","date_gmt":"2024-11-05T11:37:07","guid":{"rendered":"https:\/\/blog.ultramsg.com\/phpde-webhook-verilerini-isleme-ve-birden-fazla-uc-noktaya-yonlendirme\/"},"modified":"2024-11-05T11:37:08","modified_gmt":"2024-11-05T11:37:08","slug":"phpde-webhook-verilerini-isleme-ve-birden-fazla-uc-noktaya-yonlendirme","status":"publish","type":"post","link":"https:\/\/blog.ultramsg.com\/tr\/phpde-webhook-verilerini-isleme-ve-birden-fazla-uc-noktaya-yonlendirme\/","title":{"rendered":"PHP&#8217;de Webhook Verilerini \u0130\u015fleme ve Birden Fazla U\u00e7 Noktaya Y\u00f6nlendirme"},"content":{"rendered":"\n<p><strong>Giri\u015f:<\/strong> <\/p>\n\n<p>Web kancalar\u0131, farkl\u0131 hizmetleri entegre etmek ve aralar\u0131nda ger\u00e7ek zamanl\u0131 ileti\u015fim sa\u011flamak i\u00e7in \u00e7ok \u00f6nemlidir. Genellikle bir sistemdeki olaylar taraf\u0131ndan tetiklenirler ve yap\u0131land\u0131r\u0131lm\u0131\u015f verileri ba\u015fka bir u\u00e7 noktaya g\u00f6nderirler. Ancak baz\u0131 sistemler web kancas\u0131 deste\u011fini tek bir u\u00e7 noktayla s\u0131n\u0131rlar. Bu makalede, web kancas\u0131 verilerinin PHP&#8217;de nas\u0131l i\u015flenece\u011fini, yerel olarak nas\u0131l kaydedilece\u011fini ve daha sonra birden fazla u\u00e7 noktaya nas\u0131l iletilece\u011fini tart\u0131\u015faca\u011f\u0131z. Ayr\u0131ca, ayn\u0131 hedefe ula\u015fmak i\u00e7in otomasyon ara\u00e7lar\u0131n\u0131 kullanarak programatik olmayan se\u00e7enekleri ke\u015ffedece\u011fiz.    <\/p>\n\n<p><strong>PHP&#8217;de Webhook&#8217;lar\u0131 Alma ve Y\u00f6nlendirme i\u00e7in Ad\u0131m Ad\u0131m K\u0131lavuz<\/strong><\/p>\n\n<h3 class=\"wp-block-heading\">Webhook Verilerini Alma<\/h3>\n\n<p>Bir web kancas\u0131ndan veri yakalamak i\u00e7in, istek g\u00f6vdesini okumak \u00fczere PHP&#8217;nin <code>file_get_contents()<\/code> i\u015flevini kullan\u0131n. Bu \u00f6rnek, web kancalar\u0131nda yayg\u0131n olarak kullan\u0131lan JSON verilerini varsayar. A\u015fa\u011f\u0131daki kod par\u00e7ac\u0131\u011f\u0131, web kancas\u0131 verilerinin nas\u0131l al\u0131naca\u011f\u0131n\u0131 ve g\u00fcnl\u00fc\u011fe kaydedilece\u011fini g\u00f6stermektedir.  <\/p>\n\n<pre class=\"wp-block-code\"><code><code data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">&lt;?php\n\/\/ Capture the raw webhook data\n$data = file_get_contents(\"php:\/\/input\");\n$event = json_decode($data, true);\n\n\/\/ Log the event data (Optional)\nif (isset($event)) {\n    $file = 'log.txt';  \n    $log_data = json_encode($event) . \"\\n\";  \n    file_put_contents($file, $log_data, FILE_APPEND | LOCK_EX);\n}\n\n\/\/ Define the endpoints where data will be sent\n$endpoints = &#91;\n    \"https:\/\/example1.com\/webhook-endpoint\", \/\/ First endpoint\n    \"https:\/\/example2.com\/webhook-endpoint\"  \/\/ Second endpoint\n];\n\n\/\/ Function to send webhook data to another endpoint\nfunction forwardWebhook($url, $data) {\n    $ch = curl_init($url);\n    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n    curl_setopt($ch, CURLOPT_POST, true);\n    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);\n    curl_setopt($ch, CURLOPT_HTTPHEADER, &#91;\n        'Content-Type: application\/json',\n        'Content-Length: ' . strlen($data)\n    ]);\n    $response = curl_exec($ch);\n    curl_close($ch);\n\n    return $response;\n}\n\n\/\/ Send data to each endpoint in the list\nforeach ($endpoints as $endpoint) {\n    forwardWebhook($endpoint, json_encode($event));\n}\n?><\/code><\/code><\/pre>\n\n<p><strong>A\u00e7\u0131klama:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li><strong>Verilerin Al\u0131nmas\u0131<\/strong>: Web kancas\u0131ndan al\u0131nan verileri yakalamak i\u00e7in <code>file_get_contents(\"php:\/\/input\")<\/code> adresini kullan\u0131yoruz.<\/li>\n\n\n\n<li><strong>Verileri G\u00fcnl\u00fc\u011fe<\/strong> Kaydetme: Bu ad\u0131m iste\u011fe ba\u011fl\u0131d\u0131r ve verileri onaylama ve hata ay\u0131klama i\u00e7in bir dosyaya (<code>log.txt<\/code>) kaydeder.<\/li>\n\n\n\n<li><strong>U\u00e7 Noktalar<\/strong>: Verilerin iletilece\u011fi URL&#8217;leri tan\u0131mlay\u0131n.<\/li>\n\n\n\n<li><strong>Y\u00f6nlendirme \u0130\u015flevi<\/strong>: <code>forwardWebhook()<\/code>, verileri <code>POST<\/code> bi\u00e7iminde belirtilen her bir u\u00e7 noktaya g\u00f6ndermek i\u00e7in <code>cURL<\/code> adresini kullanan bir i\u015flevdir.<\/li>\n\n\n\n<li><strong>Veri G\u00f6nderme<\/strong>: <code>foreach<\/code> d\u00f6ng\u00fcs\u00fc, verileri tan\u0131mlanan listedeki her bir web kancas\u0131 u\u00e7 noktas\u0131na g\u00f6nderir.<\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\">  Komut Dosyas\u0131n\u0131n Test Edilmesi ve \u0130zlenmesi<\/h2>\n\n<p>Kodunuzun beklendi\u011fi gibi \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in \u00e7e\u015fitli web kancas\u0131 istekleriyle test edin. Her bir u\u00e7 noktan\u0131n verileri do\u011fru \u015fekilde ald\u0131\u011f\u0131n\u0131 onaylay\u0131n. Verilerin do\u011fru \u015fekilde al\u0131nd\u0131\u011f\u0131n\u0131 ve iletilmeden \u00f6nce depoland\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in <code>log.txt<\/code> dosyas\u0131n\u0131 inceleyebilirsiniz.  <\/p>\n\n<h2 class=\"wp-block-heading\"><strong>Alternatif \u00c7\u00f6z\u00fcmler: Otomasyon Ara\u00e7lar\u0131n\u0131 Kullanma<\/strong><\/h2>\n\n<p>Kodsuz bir yakla\u015f\u0131m\u0131 tercih ediyorsan\u0131z, \u00e7e\u015fitli otomasyon platformlar\u0131 web kancalar\u0131n\u0131 programlama yapmadan y\u00f6netmenize ve y\u00f6nlendirmenize olanak tan\u0131r. \u0130\u015fte birka\u00e7 pop\u00fcler se\u00e7enek: <\/p>\n\n<ol class=\"wp-block-list\">\n<li><strong>Zapier<\/strong>: Zapier, web kancalar\u0131n\u0131 entegre etmek i\u00e7in sezgisel bir platform sunar. Bir web kancas\u0131 olay\u0131 alacak \u015fekilde yap\u0131land\u0131rabilir ve verileri birden fazla u\u00e7 noktaya iletmek i\u00e7in &#8220;Zap&#8217;ler&#8221; kurabilirsiniz. Teknik olmayan kullan\u0131c\u0131lar i\u00e7in idealdir.  <\/li>\n\n\n\n<li><strong>Integromat (Make)<\/strong>: Art\u0131k Make olarak bilinen Integromat, webhook deste\u011fi i\u00e7eren esnek i\u015f ak\u0131\u015flar\u0131 sa\u011flar. Tek bir webhook \u00fczerinden veri alabilir ve \u00e7e\u015fitli u\u00e7 noktalara g\u00f6ndermek i\u00e7in farkl\u0131 mod\u00fcllere b\u00f6lebilirsiniz. <\/li>\n\n\n\n<li><strong>IFTTT (If This Then That)<\/strong>: IFTTT, temel web kancas\u0131 i\u015flemleri i\u00e7in uygun basit bir otomasyon arac\u0131d\u0131r. Bir webhook almak ve birden fazla hizmete veri aktarmak i\u00e7in tetikleyiciler ve eylemler ayarlayabilirsiniz. <\/li>\n\n\n\n<li><strong>Microsoft Power Automate<\/strong>: Power Automate, kurumsal d\u00fczeyde otomasyon ve entegrasyon \u00f6zellikleri sunar. Microsoft&#8217;un ekosistemini kullan\u0131yorsan\u0131z, bu web kancas\u0131 verilerini i\u015flemek ve da\u011f\u0131tmak i\u00e7in sa\u011flam bir se\u00e7enek olabilir. <\/li>\n\n\n\n<li><strong><a href=\"https:\/\/pipedream.com\/apps\/ultramsg\/\" data-type=\"link\" data-id=\"https:\/\/pipedream.com\/apps\/ultramsg\/\" target=\"_blank\" rel=\"noopener\">Pipedream<\/a><\/strong>: Pipedream, hem geli\u015ftiriciler hem de geli\u015ftirici olmayanlar i\u00e7in web kancalar\u0131n\u0131 y\u00f6netmenize, verileri d\u00f6n\u00fc\u015ft\u00fcrmenize ve farkl\u0131 hizmetlere y\u00f6nlendirmenize olanak tan\u0131yan bir ba\u015fka m\u00fckemmel ara\u00e7t\u0131r.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.pabbly.com\/connect\/integrations\/ultramsg\/\" data-type=\"link\" data-id=\"https:\/\/www.pabbly.com\/connect\/integrations\/ultramsg\/\" target=\"_blank\" rel=\"noopener\">Pabbly Connect<\/a><\/strong>: Pabbly Connect, web kancalar\u0131n\u0131 kolayca y\u00f6netmenizi ve iletmenizi sa\u011flayan g\u00fc\u00e7l\u00fc ancak basit bir otomasyon arac\u0131d\u0131r. Kullan\u0131c\u0131 dostu bir aray\u00fcze sahip olan Pabbly Connect, kullan\u0131c\u0131lar\u0131n verileri birden fazla u\u00e7 noktaya sorunsuz bir \u015fekilde y\u00f6nlendirmek i\u00e7in i\u015f ak\u0131\u015flar\u0131 olu\u015fturmas\u0131na olanak tan\u0131yarak, web kancas\u0131 veri ak\u0131\u015f\u0131n\u0131 kolayla\u015ft\u0131rmak isteyen programc\u0131 olmayanlar i\u00e7in iyi bir se\u00e7enek haline getirir. <\/li>\n\n\n\n<li><strong><a href=\"https:\/\/integrately.com\/integrations\/ultramsg\" data-type=\"link\" data-id=\"https:\/\/integrately.com\/integrations\/ultramsg\" target=\"_blank\" rel=\"noopener\">B\u00fct\u00fcnle\u015fik olarak<\/a><\/strong>: Integrately, web kancalar\u0131n\u0131 birden fazla platforma h\u0131zl\u0131 bir \u015fekilde ba\u011flaman\u0131za olanak tan\u0131yan basit ama etkili bir otomasyon arac\u0131d\u0131r. \u00d6nceden olu\u015fturulmu\u015f otomasyon se\u00e7enekleriyle Integrately, kullan\u0131c\u0131lar\u0131n kapsaml\u0131 yap\u0131land\u0131rma olmadan i\u015f ak\u0131\u015flar\u0131 olu\u015fturmas\u0131na olanak tan\u0131r ve web kancas\u0131 verilerini minimum \u00e7abayla birden fazla u\u00e7 noktaya y\u00f6nlendirmek i\u00e7in idealdir. <\/li>\n<\/ol>\n\n<p>Bu ara\u00e7lar\u0131n her biri web kancas\u0131 verilerini i\u015flemek i\u00e7in ad\u0131m ad\u0131m aray\u00fczler sunarak minimum yap\u0131land\u0131rmayla birden fazla u\u00e7 noktaya veri g\u00f6ndermeyi kolayla\u015ft\u0131r\u0131r.<\/p>\n\n<p><strong>Sonu\u00e7:<\/strong> Bu PHP beti\u011fi web kancas\u0131 verilerini etkin bir \u015fekilde al\u0131r ve tek u\u00e7 nokta s\u0131n\u0131rlamas\u0131n\u0131 a\u015farak birden fazla u\u00e7 noktaya iletir. Verileri referans i\u00e7in g\u00fcnl\u00fc\u011fe kaydeder ve bir u\u00e7 nokta ba\u015far\u0131s\u0131z olsa bile bilgi kaybetmemenizi sa\u011flar. Kod yazmay\u0131 tercih etmeyenler i\u00e7in Zapier, Make ve IFTTT gibi otomasyon ara\u00e7lar\u0131 pratik alternatifler sunarak web kancalar\u0131n\u0131 programlama becerisi olmadan zahmetsizce yeniden y\u00f6nlendirmenize olanak tan\u0131r.  <\/p>\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\"> \n<iframe loading=\"lazy\" title=\"Receive WhatsApp messages using PHP | WhatsApp api Webhook\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/TfQOclLMIng?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n <\/div><\/figure>\n\n<p><br\/><br\/><\/p>\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Giri\u015f: Web kancalar\u0131, farkl\u0131 hizmetleri entegre etmek ve aralar\u0131nda ger\u00e7ek zamanl\u0131 ileti\u015fim sa\u011flamak i\u00e7in \u00e7ok &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"PHP&#8217;de Webhook Verilerini \u0130\u015fleme ve Birden Fazla U\u00e7 Noktaya Y\u00f6nlendirme\" class=\"read-more button\" href=\"https:\/\/blog.ultramsg.com\/tr\/phpde-webhook-verilerini-isleme-ve-birden-fazla-uc-noktaya-yonlendirme\/#more-5753\" aria-label=\"Read more about PHP&#8217;de Webhook Verilerini \u0130\u015fleme ve Birden Fazla U\u00e7 Noktaya Y\u00f6nlendirme\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":5731,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[328,82],"tags":[85,13,84,87],"class_list":["post-5753","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-kancasi","category-whatsapp-apisi","tag-ogreticiler","tag-php","tag-web-kancasi","tag-whatsapp-apisi","infinite-scroll-item","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-25","no-featured-image-padding"],"_links":{"self":[{"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/posts\/5753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/comments?post=5753"}],"version-history":[{"count":1,"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/posts\/5753\/revisions"}],"predecessor-version":[{"id":5754,"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/posts\/5753\/revisions\/5754"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/media\/5731"}],"wp:attachment":[{"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/media?parent=5753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/categories?post=5753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ultramsg.com\/tr\/wp-json\/wp\/v2\/tags?post=5753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}