{"id":3057,"date":"2025-11-12T11:30:13","date_gmt":"2025-11-12T04:30:13","guid":{"rendered":"https:\/\/portal-atlasx.cdg.co.th\/home\/?post_type=docs&#038;p=3057"},"modified":"2025-11-12T11:30:13","modified_gmt":"2025-11-12T04:30:13","slug":"http-service","status":"publish","type":"docs","link":"https:\/\/portal-atlasx.cdg.co.th\/home\/docs\/ios\/services\/http-service\/","title":{"rendered":"Http Service"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" id=\"http-service\">Http Service<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"baseresponse\">BaseResponse<\/h2>\n\n\n\n<p>Protocol \u0e02\u0e2d\u0e07 Model \u0e1e\u0e37\u0e49\u0e19\u0e10\u0e32\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e23\u0e31\u0e1a Response \u0e08\u0e32\u0e01 Web Service<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>protocol BaseResponse: Codable {\n    var success: Bool? { get }\n    var message: String? { get }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">protocol<\/span><span style=\"color: #000000\"> BaseResponse: <\/span><span style=\"color: #001080\">Codable<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">var<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">success<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Bool<\/span><span style=\"color: #000000\">? { <\/span><span style=\"color: #001080\">get<\/span><span style=\"color: #000000\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">var<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">message<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">? { <\/span><span style=\"color: #001080\">get<\/span><span style=\"color: #000000\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"properties\">Properties<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><th>Default<\/th><\/tr><\/thead><tbody><tr><td>success<\/td><td>Status \u0e02\u0e2d\u0e07 Response \u0e08\u0e32\u0e01 Web Service<\/td><td>Optional(Boolean)<\/td><td>null<\/td><\/tr><tr><td>message<\/td><td>\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e08\u0e32\u0e01 Web Service<\/td><td>Optional(String)<\/td><td>null<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fileinfo\">FileInfo<\/h2>\n\n\n\n<p>Model \u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e08\u0e30\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>struct FileInfo {\n    let data: Data\n    let filename: String\n    let mimeType: String\n    \n    public init(data: Data,\n                filename: String,\n                mimeType: String) {\n        self.data = data\n        self.filename = filename\n        self.mimeType = mimeType\n    }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">struct<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">FileInfo<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">data<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">filename<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">mimeType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #001080\">public<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">init<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">data<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">Data<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                <\/span><span style=\"color: #001080\">filename<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">                <\/span><span style=\"color: #001080\">mimeType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #001080\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">data<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #001080\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">filename<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">filename<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #001080\">self<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">mimeType<\/span><span style=\"color: #000000\"> = <\/span><span style=\"color: #001080\">mimeType<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"properties-1\">Properties<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>data<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e08\u0e30\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service \u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e02\u0e2d\u0e07 Data<\/td><td>Data<\/td><\/tr><tr><td>filename<\/td><td>\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e08\u0e30\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>String<\/td><\/tr><tr><td>mimeType<\/td><td>\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c<\/td><td>String<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"loginresponse\">LoginResponse<\/h2>\n\n\n\n<p>Model \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e23\u0e31\u0e1a Response \u0e17\u0e35\u0e48\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e22\u0e34\u0e07 Login Service \u0e42\u0e14\u0e22 Inherit \u0e21\u0e32\u0e08\u0e32\u0e01 Protocol BaseResponse<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>struct LoginResponse: BaseResponse {\n    public var success: Bool?\n    public var message: String?\n    \n    let accessToken: String?\n    let tokenType: String?\n    let expiresIn: Int?\n    let refreshToken: String?\n    \n    enum CodingKeys: String, CodingKey {\n        case success\n        case message\n        case accessToken = \"access_token\"\n        case tokenType = \"token_type\"\n        case expiresIn = \"expires_in\"\n        case refreshToken = \"refresh_token\"\n    }\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">struct<\/span><span style=\"color: #000000\"> LoginResponse: <\/span><span style=\"color: #001080\">BaseResponse<\/span><span style=\"color: #000000\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #001080\">public<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">var<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">success<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Bool<\/span><span style=\"color: #000000\">?<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #001080\">public<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0000FF\">var<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">message<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">?<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">accessToken<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">?<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">tokenType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">?<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">expiresIn<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Int<\/span><span style=\"color: #000000\">?<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">let<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">refreshToken<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">?<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0000FF\">enum<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #267F99\">CodingKeys<\/span><span style=\"color: #000000\">: String, CodingKey {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> success<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> message<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> accessToken = <\/span><span style=\"color: #A31515\">&quot;access_token&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> tokenType = <\/span><span style=\"color: #A31515\">&quot;token_type&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> expiresIn = <\/span><span style=\"color: #A31515\">&quot;expires_in&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> refreshToken = <\/span><span style=\"color: #A31515\">&quot;refresh_token&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"properties-2\">Properties<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><th>Default<\/th><\/tr><\/thead><tbody><tr><td>accessToken<\/td><td>Token \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e22\u0e34\u0e07 Request<\/td><td>Optional(String)<\/td><td>null<\/td><\/tr><tr><td>tokenType<\/td><td>\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e02\u0e2d\u0e07 Token<\/td><td>Optional(String)<\/td><td>null<\/td><\/tr><tr><td>expiresIn<\/td><td>Timestamp \u0e17\u0e35\u0e48 Access Token \u0e08\u0e30\u0e2b\u0e21\u0e14\u0e2d\u0e32\u0e22\u0e38<\/td><td>Optional(Integer)<\/td><td>null<\/td><\/tr><tr><td>refreshToken<\/td><td>Token \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e02\u0e2d Access Token \u0e43\u0e2b\u0e21\u0e48\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2b\u0e21\u0e14\u0e2d\u0e32\u0e22\u0e38<\/td><td>Optional(String)<\/td><td>null<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"apierror\">ApiError<\/h2>\n\n\n\n<p>\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e02\u0e2d\u0e07 Error \u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>enum ApiError: Error {\n    case forbidden\n    case notFound\n    case conflict\n    case internalServerError\n    case notSuccess(message: String)\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">enum<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #267F99\">ApiError<\/span><span style=\"color: #000000\">: Error {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> forbidden<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> notFound<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> conflict<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> internalServerError<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> notSuccess(message: String)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>forbidden<\/td><td>Error code 403<\/td><\/tr><tr><td>notFound<\/td><td>Error code 404<\/td><\/tr><tr><td>conflict<\/td><td>Error code 409<\/td><\/tr><tr><td>internalServerError<\/td><td>Error code 500<\/td><\/tr><tr><td>notSuccess<\/td><td>Error code 400 with Message<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"httpheaderfield\">HttpHeaderField<\/h2>\n\n\n\n<p>Parameters \u0e02\u0e2d\u0e07 Http Header \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>enum HttpHeaderField: String {\n    case authentication = \"Authorization\"\n    case acceptType = \"Accept\"\n    case acceptEncoding = \"Accept-Encoding\"\n    case cacheControl = \"Cache-Control\"\n    case contentType = \"Content-Type\"\n    case referer = \"Referer\"\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">enum<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #267F99\">HttpHeaderField<\/span><span style=\"color: #000000\">: String {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> authentication = <\/span><span style=\"color: #A31515\">&quot;Authorization&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> acceptType = <\/span><span style=\"color: #A31515\">&quot;Accept&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> acceptEncoding = <\/span><span style=\"color: #A31515\">&quot;Accept-Encoding&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> cacheControl = <\/span><span style=\"color: #A31515\">&quot;Cache-Control&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> contentType = <\/span><span style=\"color: #A31515\">&quot;Content-Type&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> referer = <\/span><span style=\"color: #A31515\">&quot;Referer&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"contenttype\">ContentType<\/h2>\n\n\n\n<p>\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e02\u0e2d\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e08\u0e30\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e20\u0e32\u0e22\u0e43\u0e19 Request<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>enum ContentType: String {\n    case json = \"application\/json\"\n    case formData = \"multipart\/form-data\"\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">enum<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #267F99\">ContentType<\/span><span style=\"color: #000000\">: String {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> json = <\/span><span style=\"color: #A31515\">&quot;application\/json&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> formData = <\/span><span style=\"color: #A31515\">&quot;multipart\/form-data&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"service\">Service<\/h2>\n\n\n\n<p>Service \u0e15\u0e48\u0e32\u0e07\u0e46\u0e17\u0e35\u0e48&nbsp;<a href=\"https:\/\/portal-atlasx.cdg.co.th\/portal\/framework?framework=AXWS\" target=\"_blank\" rel=\"noreferrer noopener\">AtlasX Web Service<\/a>&nbsp;\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>enum Service: String {\n    case appAuthen = \"appauthen\"\n    case appData = \"appdata\"\n    case appMail = \"appmail\"\n    case appFile = \"appFile\"\n    case appNoti = \"appnoti\"\n    case appSyncOffline = \"appsyncoffline\"\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">enum<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #267F99\">Service<\/span><span style=\"color: #000000\">: String {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> appAuthen = <\/span><span style=\"color: #A31515\">&quot;appauthen&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> appData = <\/span><span style=\"color: #A31515\">&quot;appdata&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> appMail = <\/span><span style=\"color: #A31515\">&quot;appmail&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> appFile = <\/span><span style=\"color: #A31515\">&quot;appFile&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> appNoti = <\/span><span style=\"color: #A31515\">&quot;appnoti&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> appSyncOffline = <\/span><span style=\"color: #A31515\">&quot;appsyncoffline&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"logintype\">LoginType<\/h2>\n\n\n\n<p>\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>enum LoginType: Int {\n    case account = 0\n    case facebook = 1\n    case apple = 2\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">enum<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #267F99\">LoginType<\/span><span style=\"color: #000000\">: Int {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> account = <\/span><span style=\"color: #098658\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> facebook = <\/span><span style=\"color: #098658\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    <\/span><span style=\"color: #0070C1\">case<\/span><span style=\"color: #000000\"> apple = <\/span><span style=\"color: #098658\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>account<\/td><td>\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e14\u0e49\u0e27\u0e22 Account \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e08\u0e32\u0e01\u0e23\u0e30\u0e1a\u0e1a\u0e42\u0e14\u0e22\u0e15\u0e23\u0e07<\/td><\/tr><tr><td>facebook<\/td><td>\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e14\u0e49\u0e27\u0e22 Facebook (Login with Facebook)<\/td><\/tr><tr><td>apple<\/td><td>\u0e01\u0e32\u0e32\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e14\u0e49\u0e27\u0e22 AppleID (Login with AppleID)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"class-http-service\">Class Http Service<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"properties-3\">Properties<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><th>Default<\/th><\/tr><\/thead><tbody><tr><td>sharedInstance<\/td><td>Instance \u0e02\u0e2d\u0e07 HttpService \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e16\u0e31\u0e14\u0e44\u0e1b<\/td><td>HttpService<\/td><td>HttpService()<\/td><\/tr><tr><td>session<\/td><td>Session \u0e02\u0e2d\u0e07 Alamofire<\/td><td>Session<\/td><td>null<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"method-overview\">Method Overview<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Return<\/th><\/tr><\/thead><tbody><tr><td>request()<\/td><td>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e42\u0e14\u0e22\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 Service \u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07 Parameters \u0e44\u0e14\u0e49<\/td><td>Observable<\/td><\/tr><tr><td>requestOAuth()<\/td><td>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e42\u0e14\u0e22\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 Service \u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07 Parameters \u0e44\u0e14\u0e49 \u0e42\u0e14\u0e22 Request \u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07 AccessToken \u0e44\u0e1b\u0e43\u0e19 Http Header \u0e14\u0e49\u0e27\u0e22<\/td><td>Observable<\/td><\/tr><tr><td>uploadFile()<\/td><td>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23 Upload File<\/td><td>void<\/td><\/tr><tr><td>downloadFile()<\/td><td>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23 Download File<\/td><td>void<\/td><\/tr><tr><td>syncOffline()<\/td><td>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23 Sync Offline<\/td><td>void<\/td><\/tr><tr><td>login()<\/td><td>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a<\/td><td>void<\/td><\/tr><tr><td>logout()<\/td><td>\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e23\u0e30\u0e1a\u0e1a<\/td><td>void<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"method-details\">Method Details<\/h2>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func request&lt;T: BaseResponse>(responseType: T.Type, headers: HTTPHeaders?, service: Service, action: String?, parameters: &#91;String: Any&#93;?, method: HTTPMethod) -> Observable&lt;T><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">request<\/span><span style=\"color: #000000\">&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">BaseResponse<\/span><span style=\"color: #000000\">&gt;(<\/span><span style=\"color: #001080\">responseType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #267F99\">Type<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">service<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Service<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">action<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: &#91;String: <\/span><span style=\"color: #267F99\">Any<\/span><span style=\"color: #000000\">&#93;?, <\/span><span style=\"color: #001080\">method<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPMethod<\/span><span style=\"color: #000000\">) -&gt; Observable&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e42\u0e14\u0e22\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 Service \u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07 Parameters (Dictionary) \u0e44\u0e14\u0e49<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>T<\/td><td>Class \u0e02\u0e2d\u0e07 Model \u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e23\u0e31\u0e1a Response \u0e42\u0e14\u0e22\u0e15\u0e49\u0e2d\u0e07 Inherit \u0e21\u0e32\u0e08\u0e32\u0e01 Protocol BaseResponse<\/td><td>Class<\/td><\/tr><tr><td>responseType<\/td><td>Protocol \u0e02\u0e2d\u0e07 Class Model<\/td><td>T.Type<\/td><\/tr><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>service<\/td><td>Service \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>Service<\/td><\/tr><tr><td>action<\/td><td>Action \u0e02\u0e2d\u0e07 Service \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>Optional(String)<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Dictionary)<\/td><\/tr><tr><td>method<\/td><td>Method \u0e02\u0e2d\u0e07 Http \u0e40\u0e0a\u0e48\u0e19 GET POST<\/td><td>HTTPMethod<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"returns\">Returns<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Observable<\/td><td>Return Observable \u0e02\u0e2d\u0e07 Request<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func request&lt;T: BaseResponse>(responseType: T.Type, headers: HTTPHeaders?, service: Service, action: String?, parameters: Codable?, method: HTTPMethod) -> Observable&lt;T><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">request<\/span><span style=\"color: #000000\">&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">BaseResponse<\/span><span style=\"color: #000000\">&gt;(<\/span><span style=\"color: #001080\">responseType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #267F99\">Type<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">service<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Service<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">action<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Codable<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">method<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPMethod<\/span><span style=\"color: #000000\">) -&gt; Observable&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e42\u0e14\u0e22\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 Service \u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07 Parameters (Model \u0e17\u0e35\u0e48 Inherit \u0e08\u0e32\u0e01 Codable) \u0e44\u0e14\u0e49<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-1\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>T<\/td><td>Class \u0e02\u0e2d\u0e07 Model \u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e23\u0e31\u0e1a Response \u0e42\u0e14\u0e22\u0e15\u0e49\u0e2d\u0e07 Inherit \u0e21\u0e32\u0e08\u0e32\u0e01 Protocol BaseResponse<\/td><td>Class<\/td><\/tr><tr><td>responseType<\/td><td>Protocol \u0e02\u0e2d\u0e07 Class Model<\/td><td>T.Type<\/td><\/tr><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>service<\/td><td>Service \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>Service<\/td><\/tr><tr><td>action<\/td><td>Action \u0e02\u0e2d\u0e07 Service \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>Optional(String)<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Codable)<\/td><\/tr><tr><td>method<\/td><td>Method \u0e02\u0e2d\u0e07 Http \u0e40\u0e0a\u0e48\u0e19 GET POST<\/td><td>HTTPMethod<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"returns-1\">Returns<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Observable<\/td><td>Return Observable \u0e02\u0e2d\u0e07 Request<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func requestOAuth&lt;T: BaseResponse>(responseType: T.Type, headers: HTTPHeaders?, service: Service, action: String?, parameters: &#91;String: Any&#93;?, method: HTTPMethod) -> Observable&lt;T><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">requestOAuth<\/span><span style=\"color: #000000\">&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">BaseResponse<\/span><span style=\"color: #000000\">&gt;(<\/span><span style=\"color: #001080\">responseType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #267F99\">Type<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">service<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Service<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">action<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: &#91;String: <\/span><span style=\"color: #267F99\">Any<\/span><span style=\"color: #000000\">&#93;?, <\/span><span style=\"color: #001080\">method<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPMethod<\/span><span style=\"color: #000000\">) -&gt; Observable&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e42\u0e14\u0e22\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 Service \u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07 Parameters (Dictionary) \u0e44\u0e14\u0e49 \u0e42\u0e14\u0e22 Request \u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07 AccessToken \u0e44\u0e1b\u0e43\u0e19 Http Header \u0e14\u0e49\u0e27\u0e22<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-2\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>T<\/td><td>Class \u0e02\u0e2d\u0e07 Model \u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e23\u0e31\u0e1a Response \u0e42\u0e14\u0e22\u0e15\u0e49\u0e2d\u0e07 Inherit \u0e21\u0e32\u0e08\u0e32\u0e01 Protocol BaseResponse<\/td><td>Class<\/td><\/tr><tr><td>responseType<\/td><td>Protocol \u0e02\u0e2d\u0e07 Class Model<\/td><td>T.Type<\/td><\/tr><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>service<\/td><td>Service \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>Service<\/td><\/tr><tr><td>action<\/td><td>Action \u0e02\u0e2d\u0e07 Service \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>Optional(String)<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Dictionary)<\/td><\/tr><tr><td>method<\/td><td>Method \u0e02\u0e2d\u0e07 Http \u0e40\u0e0a\u0e48\u0e19 GET POST<\/td><td>HTTPMethod<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"returns-2\">Returns<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Observable<\/td><td>Return Observable \u0e02\u0e2d\u0e07 Request<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func requestOAuth&lt;T: BaseResponse>(responseType: T.Type, headers: HTTPHeaders?, service: Service, action: String?, parameters: Codable?, method: HTTPMethod) -> Observable&lt;T><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">requestOAuth<\/span><span style=\"color: #000000\">&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">BaseResponse<\/span><span style=\"color: #000000\">&gt;(<\/span><span style=\"color: #001080\">responseType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #267F99\">Type<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">service<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Service<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">action<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Codable<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">method<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPMethod<\/span><span style=\"color: #000000\">) -&gt; Observable&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e42\u0e14\u0e22\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 Service \u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07 Parameters (Model \u0e17\u0e35\u0e48 Inherit \u0e08\u0e32\u0e01 Codable) \u0e44\u0e14\u0e49 \u0e42\u0e14\u0e22 Request \u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07 AccessToken \u0e44\u0e1b\u0e43\u0e19 Http Header \u0e14\u0e49\u0e27\u0e22<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-3\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>T<\/td><td>Class \u0e02\u0e2d\u0e07 Model \u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e23\u0e31\u0e1a Response \u0e42\u0e14\u0e22\u0e15\u0e49\u0e2d\u0e07 Inherit \u0e21\u0e32\u0e08\u0e32\u0e01 Protocol BaseResponse<\/td><td>Class<\/td><\/tr><tr><td>responseType<\/td><td>Protocol \u0e02\u0e2d\u0e07 Class Model<\/td><td>T.Type<\/td><\/tr><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>service<\/td><td>Service \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>Service<\/td><\/tr><tr><td>action<\/td><td>Action \u0e02\u0e2d\u0e07 Service \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>Optional(String)<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Codable)<\/td><\/tr><tr><td>method<\/td><td>Method \u0e02\u0e2d\u0e07 Http \u0e40\u0e0a\u0e48\u0e19 GET POST<\/td><td>HTTPMethod<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"returns-3\">Returns<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Observable<\/td><td>Return Observable \u0e02\u0e2d\u0e07 Request<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func requestOAuth&lt;T: BaseResponse>(responseType: T.Type, headers: HTTPHeaders?, appDataProcedure: String, parameters: &#91;String: Any&#93;?) -> Observable&lt;T><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">requestOAuth<\/span><span style=\"color: #000000\">&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">BaseResponse<\/span><span style=\"color: #000000\">&gt;(<\/span><span style=\"color: #001080\">responseType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #267F99\">Type<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">appDataProcedure<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: &#91;String: <\/span><span style=\"color: #267F99\">Any<\/span><span style=\"color: #000000\">&#93;?) -&gt; Observable&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e42\u0e14\u0e22\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 Store Procudure \u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07 Parameters (Dictionary) \u0e44\u0e14\u0e49 \u0e42\u0e14\u0e22 Request \u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07 AccessToken \u0e44\u0e1b\u0e43\u0e19 Http Header \u0e14\u0e49\u0e27\u0e22<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-4\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>T<\/td><td>Class \u0e02\u0e2d\u0e07 Model \u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e23\u0e31\u0e1a Response \u0e42\u0e14\u0e22\u0e15\u0e49\u0e2d\u0e07 Inherit \u0e21\u0e32\u0e08\u0e32\u0e01 Protocol BaseResponse<\/td><td>Class<\/td><\/tr><tr><td>responseType<\/td><td>Protocol \u0e02\u0e2d\u0e07 Class Model<\/td><td>T.Type<\/td><\/tr><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>appDataProcedure<\/td><td>SP \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>String<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Dictionary)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"returns-4\">Returns<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Observable<\/td><td>Return Observable \u0e02\u0e2d\u0e07 Request<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func requestOAuth&lt;T: BaseResponse>(responseType: T.Type, headers: HTTPHeaders?, appDataProcedure: String, parameters: Codable?) -> Observable&lt;T><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">requestOAuth<\/span><span style=\"color: #000000\">&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">BaseResponse<\/span><span style=\"color: #000000\">&gt;(<\/span><span style=\"color: #001080\">responseType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #267F99\">Type<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">appDataProcedure<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">String<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #267F99\">Codable<\/span><span style=\"color: #000000\">?) -&gt; Observable&lt;<\/span><span style=\"color: #267F99\">T<\/span><span style=\"color: #000000\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e42\u0e14\u0e22\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 Store Procudure \u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07 Parameters (Model \u0e17\u0e35\u0e48 Inherit \u0e08\u0e32\u0e01 Codable) \u0e44\u0e14\u0e49 \u0e42\u0e14\u0e22 Request \u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07 AccessToken \u0e44\u0e1b\u0e43\u0e19 Http Header \u0e14\u0e49\u0e27\u0e22<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-5\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>T<\/td><td>Class \u0e02\u0e2d\u0e07 Model \u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e23\u0e31\u0e1a Response \u0e42\u0e14\u0e22\u0e15\u0e49\u0e2d\u0e07 Inherit \u0e21\u0e32\u0e08\u0e32\u0e01 Protocol BaseResponse<\/td><td>Class<\/td><\/tr><tr><td>responseType<\/td><td>Protocol \u0e02\u0e2d\u0e07 Class Model<\/td><td>T.Type<\/td><\/tr><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>appDataProcedure<\/td><td>SP \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01<\/td><td>String<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Codable)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"returns-5\">Returns<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Observable<\/td><td>Return Observable \u0e02\u0e2d\u0e07 Request<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func uploadFile(headers: HTTPHeaders?, parameters: &#91;String: Any&#93;?, fileParameters: &#91;String: FileInfo&#93;, completion: @escaping (Error?, &#91;String: Any&#93;?) -> Void)<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">uploadFile<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: &#91;<\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">Any<\/span><span style=\"color: #000000\">&#93;?, <\/span><span style=\"color: #001080\">fileParameters<\/span><span style=\"color: #000000\">: &#91;<\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">FileInfo<\/span><span style=\"color: #000000\">&#93;, <\/span><span style=\"color: #001080\">completion<\/span><span style=\"color: #000000\">: @<\/span><span style=\"color: #795E26\">escaping<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">Error<\/span><span style=\"color: #000000\">?, &#91;<\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">Any<\/span><span style=\"color: #000000\">&#93;?) -&gt; <\/span><span style=\"color: #001080\">Void<\/span><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23 Upload File<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-6\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Dictionary)<\/td><\/tr><tr><td>fileParameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Dictionary)<\/td><\/tr><tr><td>completion<\/td><td>Callback \u0e40\u0e21\u0e37\u0e48\u0e2d Upload File \u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27<\/td><td>Completion<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func uploadFile(headers: HTTPHeaders?, parameters: Codable?, fileParameters: &#91;String: FileInfo&#93;, completion: @escaping (Error?, &#91;String: Any&#93;?) -> Void)<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">uploadFile<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">Codable<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">fileParameters<\/span><span style=\"color: #000000\">: &#91;<\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">FileInfo<\/span><span style=\"color: #000000\">&#93;, <\/span><span style=\"color: #001080\">completion<\/span><span style=\"color: #000000\">: @<\/span><span style=\"color: #795E26\">escaping<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">Error<\/span><span style=\"color: #000000\">?, &#91;<\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">Any<\/span><span style=\"color: #000000\">&#93;?) -&gt; <\/span><span style=\"color: #001080\">Void<\/span><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23 Upload File<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-7\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Codable)<\/td><\/tr><tr><td>fileParameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Dictionary)<\/td><\/tr><tr><td>completion<\/td><td>Callback \u0e40\u0e21\u0e37\u0e48\u0e2d Upload File \u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27<\/td><td>Completion<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func downloadFile(headers: HTTPHeaders?, parameters: &#91;String: Any&#93;?, completion: @escaping (Error?, Data?) -> Void)<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">downloadFile<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: &#91;<\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">Any<\/span><span style=\"color: #000000\">&#93;?, <\/span><span style=\"color: #001080\">completion<\/span><span style=\"color: #000000\">: @<\/span><span style=\"color: #795E26\">escaping<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">Error<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">Data<\/span><span style=\"color: #000000\">?) -&gt; <\/span><span style=\"color: #001080\">Void<\/span><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23 Download File<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-8\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Dictionary)<\/td><\/tr><tr><td>completion<\/td><td>Callback \u0e40\u0e21\u0e37\u0e48\u0e2d Download File \u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27<\/td><td>Completion<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func downloadFile(headers: HTTPHeaders?, parameters: Codable?, completion: @escaping (Error?, Data?) -> Void)<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">downloadFile<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">Codable<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">completion<\/span><span style=\"color: #000000\">: @<\/span><span style=\"color: #795E26\">escaping<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">Error<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">Data<\/span><span style=\"color: #000000\">?) -&gt; <\/span><span style=\"color: #001080\">Void<\/span><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23 Download File<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-9\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Codable)<\/td><\/tr><tr><td>completion<\/td><td>Callback \u0e40\u0e21\u0e37\u0e48\u0e2d Download File \u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27<\/td><td>Completion<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func syncOffline(headers: HTTPHeaders?, parameters: &#91;String: Any&#93;?, fileParameters: &#91;String: FileInfo&#93;, completion: @escaping (Error?, &#91;String: Any&#93;?) -> Void)<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">syncOffline<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">headers<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">HTTPHeaders<\/span><span style=\"color: #000000\">?, <\/span><span style=\"color: #001080\">parameters<\/span><span style=\"color: #000000\">: &#91;<\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">Any<\/span><span style=\"color: #000000\">&#93;?, <\/span><span style=\"color: #001080\">fileParameters<\/span><span style=\"color: #000000\">: &#91;<\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">FileInfo<\/span><span style=\"color: #000000\">&#93;, <\/span><span style=\"color: #001080\">completion<\/span><span style=\"color: #000000\">: @<\/span><span style=\"color: #795E26\">escaping<\/span><span style=\"color: #000000\"> (<\/span><span style=\"color: #001080\">Error<\/span><span style=\"color: #000000\">?, &#91;<\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">Any<\/span><span style=\"color: #000000\">&#93;?) -&gt; <\/span><span style=\"color: #001080\">Void<\/span><span style=\"color: #000000\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23 Sync Offline<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-10\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>headers<\/td><td>Http Headers<\/td><td>Optional(HTTPHeaders)<\/td><\/tr><tr><td>parameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Dictionary)<\/td><\/tr><tr><td>fileParameters<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 Web Service<\/td><td>Optional(Dictionary)<\/td><\/tr><tr><td>completion<\/td><td>Callback \u0e40\u0e21\u0e37\u0e48\u0e2d Sync Offline \u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27<\/td><td>Completion<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func login(username: String, password: String, loginType: LoginType, didSuccess: (() -> Void)?, didError: ((Error) -> Void)?)<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">login<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">username<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">password<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">String<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">loginType<\/span><span style=\"color: #000000\">: <\/span><span style=\"color: #001080\">LoginType<\/span><span style=\"color: #000000\">, <\/span><span style=\"color: #001080\">didSuccess<\/span><span style=\"color: #000000\">: (() -&gt; <\/span><span style=\"color: #001080\">Void<\/span><span style=\"color: #000000\">)?, <\/span><span style=\"color: #001080\">didError<\/span><span style=\"color: #000000\">: ((<\/span><span style=\"color: #001080\">Error<\/span><span style=\"color: #000000\">) -&gt; <\/span><span style=\"color: #001080\">Void<\/span><span style=\"color: #000000\">)?)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Request \u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-11\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>username<\/td><td>\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a<\/td><td>String<\/td><\/tr><tr><td>password<\/td><td>\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a<\/td><td>String<\/td><\/tr><tr><td>loginType<\/td><td>\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a<\/td><td>LoginType<\/td><\/tr><tr><td>didSuccess<\/td><td>Callback \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08<\/td><td>Completion<\/td><\/tr><tr><td>didError<\/td><td>Callback \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27<\/td><td>Completion<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>func logout(didError: ((Error?) -> Void))<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">func<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #795E26\">logout<\/span><span style=\"color: #000000\">(<\/span><span style=\"color: #001080\">didError<\/span><span style=\"color: #000000\">: ((<\/span><span style=\"color: #001080\">Error<\/span><span style=\"color: #000000\">?) -&gt; <\/span><span style=\"color: #001080\">Void<\/span><span style=\"color: #000000\">))<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e23\u0e30\u0e1a\u0e1a (\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e25\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01 Web Service)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"parameters-12\">Parameters<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Description<\/th><th>Type<\/th><\/tr><\/thead><tbody><tr><td>didError<\/td><td>Callback \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e23\u0e30\u0e1a\u0e1a\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27<\/td><td>Completion<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"featured_media":0,"parent":3056,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nav_title":"","positive":"","negative":"","footnotes":""},"docs_category":[],"class_list":["post-3057","docs","type-docs","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/comments?post=3057"}],"version-history":[{"count":1,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3057\/revisions"}],"predecessor-version":[{"id":3058,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3057\/revisions\/3058"}],"up":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3056"}],"wp:attachment":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/media?parent=3057"}],"wp:term":[{"taxonomy":"docs_category","embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs_category?post=3057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}