From 6a76ccfacb2fe933b5ba6ffdce5990bfcaf38f0c Mon Sep 17 00:00:00 2001 From: Supasin Liulak <57980499+palsp@users.noreply.github.com> Date: Mon, 2 Jun 2025 23:08:32 +0700 Subject: [PATCH 1/3] webhook param for crawl (#1609) --- apps/rust-sdk/src/crawl.rs | 45 +++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/apps/rust-sdk/src/crawl.rs b/apps/rust-sdk/src/crawl.rs index b6522c45..6d27ff28 100644 --- a/apps/rust-sdk/src/crawl.rs +++ b/apps/rust-sdk/src/crawl.rs @@ -99,6 +99,49 @@ impl From for ScrapeOptions { } } +/// Options for webhook notifications +#[serde_with::skip_serializing_none] +#[derive(Deserialize, Serialize, Debug, Default, Clone)] +#[serde(rename_all = "camelCase")] +pub struct WebhookOptions { + /// URL to send webhook notifications to + pub url: String, + + /// Custom headers to include in webhook requests + pub headers: Option>, + + /// Custom data included in all webhook payloads + pub metadata: Option>, + + /// Event types to receive + pub events: Option>, +} + +impl From for WebhookOptions { + fn from(value: String) -> Self { + Self { + url: value, + ..Default::default() + } + } +} + +#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone, Copy)] +#[serde(rename_all = "camelCase")] +pub enum WebhookEvent { + /// Crawl finished successfully + Completed, + + /// Crawl encountered an error + Failed, + + /// Individual page scraped + Page, + + /// Crawl job initiated + Started, +} + #[serde_with::skip_serializing_none] #[derive(Deserialize, Serialize, Debug, Default, Clone)] #[serde(rename_all = "camelCase")] @@ -132,7 +175,7 @@ pub struct CrawlOptions { pub allow_external_links: Option, /// URL to send Webhook crawl events to. - pub webhook: Option, + pub webhook: Option, /// Idempotency key to send to the crawl endpoint. #[serde(skip)] From 07fb651a914b8673ae398aa91e54188fe4fe57f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20M=C3=B3ricz?= Date: Mon, 2 Jun 2025 18:09:12 +0200 Subject: [PATCH 2/3] bump rust version --- apps/rust-sdk/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rust-sdk/Cargo.toml b/apps/rust-sdk/Cargo.toml index 3affd864..b703a22c 100644 --- a/apps/rust-sdk/Cargo.toml +++ b/apps/rust-sdk/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "firecrawl" author= "Mendable.ai" -version = "1.1.0" +version = "1.2.0" edition = "2021" license = "MIT" homepage = "https://www.firecrawl.dev/" From 1396451d315a1bf2c62486a75582c4519c3c6502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20M=C3=B3ricz?= Date: Mon, 2 Jun 2025 18:10:14 +0200 Subject: [PATCH 3/3] bump rust version pt.2 --- apps/rust-sdk/Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rust-sdk/Cargo.lock b/apps/rust-sdk/Cargo.lock index d7a7b64e..7fe40518 100644 --- a/apps/rust-sdk/Cargo.lock +++ b/apps/rust-sdk/Cargo.lock @@ -680,7 +680,7 @@ checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "firecrawl" -version = "1.1.0" +version = "1.2.0" dependencies = [ "assert_matches", "axum",