ezcapsolver/tasks/
funcaptcha.rs1use serde::Serialize;
2
3use super::ExtraFields;
4
5#[derive(Debug, Clone, Serialize, Default, bon::Builder)]
7#[builder(on(String, into))]
8#[serde(remote = "Self", rename_all = "camelCase")]
9pub struct FunCaptchaTask {
10 #[serde(rename = "websiteURL")]
12 pub website_url: String,
13 pub website_key: String,
15 #[serde(skip_serializing_if = "Option::is_none")]
17 pub data: Option<String>,
18 #[serde(
20 rename = "funcaptchaApiJSSubdomain",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub api_js_subdomain: Option<String>,
24 #[serde(skip_serializing_if = "Option::is_none")]
34 pub proxy: Option<String>,
35 #[builder(default)]
37 pub cn: bool,
38 #[serde(skip)]
40 #[builder(default)]
41 pub extra: ExtraFields,
42}
43
44#[derive(Debug, Clone, Serialize, Default, bon::Builder)]
46#[builder(on(String, into))]
47#[serde(remote = "Self", rename_all = "camelCase")]
48pub struct FunCaptchaClassificationTask {
49 pub image: String,
51 pub question: String,
53 #[serde(skip)]
55 #[builder(default)]
56 pub extra: ExtraFields,
57}