1<!DOCTYPE html> 2<html lang="vi" dir="ltr" data-startbar="dark" data-bs-theme="light"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, viewport-fit=cover"> 7 <title>Tà i liá»u API V2</title> 8 <meta name="application-name" content="Tà i liá»u API V2"> 9 <meta name="description" content=""> 10 <meta name="csrf-token" content="H0tM5qqDQdVvZbwbODMb7aDAvKMQziNaW75RaVNT"> 11 12 <!-- [Open Graph] --> 13 <meta property="og:title" content="Tà i liá»u API V2"> 14 <meta property="og:description" content=""> 15 <meta property="og:image" content="https://socialcare.vn/uploads/1744562175_rxrMai0tDU.png"> 16 <meta property="og:image:width" content="1200"> 17 <meta property="og:image:height" content="630"> 18 <meta property="og:url" content="https://socialcare.vn/docs-api-v2"> 19 <meta property="og:site_name" content="socialcare.vn"> 20 <meta property="og:type" content="website"> 21 22 23 <meta name="twitter:card" content="summary_large_image"> 24 <meta name="twitter:site" content="Tà i liá»u API V2"> 25 <meta name="twitter:title" content="Tà i liá»u API V2"> 26 <meta name="twitter:description" content=""> 27 <meta name="twitter:image" content="https://socialcare.vn/uploads/1744562175_rxrMai0tDU.png"> 28 <meta name="twitter:image:alt" content="Tà i liá»u API V2"> 29 <meta name="twitter:creator" content="Ãt VSM"> 30 <meta name="twitter:url" content="https://socialcare.vn/docs-api-v2"> 31 <meta name="twitter:domain" content="https://socialcare.vn/docs-api-v2"> 32 <meta content='Vietnam' name='geo.placename'/> 33 <meta content='VN' name='geo.country'/> 34 <meta content='global' name='target'/> 35 <meta content='global' name='distribution'/> 36 <meta content='general' name='rating'/> 37 <meta content='1 days' name='revisit-after'/> 38 <meta content='true' name='MSSmartTagsPreventParsing'/> 39 <meta content='index, follow' name='ROBOTS'/> 40 <link href="https://socialcare.vn/docs-api-v2" rel="canonical" /> 41 42 <link rel="alternate" hreflang="vi" href="https://socialcare.vn/docs-api-v2" /> 43 <link rel="alternate" hreflang="en" href="https://socialcare.vn/en/docs-api-v2" /> 44 45 <link rel="alternate" hreflang="x-default" href="https://socialcare.vn/docs-api-v2" /> 46 47 <link rel="icon" type="image/png" href="https://socialcare.vn/uploads/1744562175_l95R6hPsDO.png" sizes="16x16"> 48 <link rel="manifest" href="/manifest.json"> 49 <link rel="apple-touch-icon" href="https://socialcare.vn/uploads/1744562175_l95R6hPsDO.png"> 50 <meta content='#ff3636' name='theme-color'/> 51 <meta content='#ff3636' name='msapplication-navbutton-color'/> 52 <meta content='#ff3636' name='apple-mobile-web-app-status-bar-style'/> 53
53<script type="application/ld+json"> 54 { 55 "@context": "https://schema.org", 56 "@type": "WebSite", 57 "name": "Social Care", 58 "url": "https://socialcare.vn", 59 "description": "", 60 "publisher": { 61 "@type": "Organization", 62 "name": "Social Care", 63 "url": "https://socialcare.vn" 64 } 65 } 66 </script>
66 67 <!-- Preconnect to external domains (BEFORE CSS for max benefit) --> 68<link crossorigin='' href='https://socialcare.vn' rel='preconnect'/> 69<link crossorigin='' href='https://cdnjs.cloudflare.com' rel='preconnect'/> 70<link crossorigin='' href='https://cdn.datatables.net' rel='preconnect'/> 71<link crossorigin='' href='https://cdn.jsdelivr.net' rel='preconnect'/> 72<!-- Google Fonts: preconnect Äá» rút ngắn chuá»i css2 -> gstatic woff2 (tiết kiá»m ~DNS+TLS) --> 73<link href='https://fonts.googleapis.com' rel='preconnect'/> 74<link crossorigin='' href='https://fonts.gstatic.com' rel='preconnect'/> 75<link href='https://socialcare.vn' rel='dns-prefetch'/> 76<link href='https://cdnjs.cloudflare.com' rel='dns-prefetch'/> 77<link href='https://cdn.datatables.net' rel='dns-prefetch'/> 78<link href='https://cdn.jsdelivr.net' rel='dns-prefetch'/> 79 80 <!-- Preload các font icon dùng nhiá»u nhất (FontAwesome solid/brands + Line Awesome solid). 81 icons.min.css nạp async nên @font-face bá» phát hiá»n trá» â icon trá»ng lúc Äầu (FOUC). 82 Preload file font ngay từ Äầu Äá» tải song song, ká»p có mặt khi trang paint. --> 83 <link rel="preload" href="/assets/fonts/fa-solid-900.woff2" as="font" type="font/woff2" crossorigin> 84 <link rel="preload" href="/assets/fonts/fa-brands-400.woff2" as="font" type="font/woff2" crossorigin> 85 <link rel="preload" href="/assets/fonts/la-solid-900.woff2" as="font" type="font/woff2" crossorigin> 86 87 <!-- App css --> 88 <link href="/assets/css/bootstrap.min.css?v=1.0.2" rel="stylesheet" type="text/css" /> 89 <!-- Preload massive icons stylesheet to prevent render blocking --> 90 <link rel="preload" href="/assets/css/icons.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 91 <noscript><link rel="stylesheet" href="/assets/css/icons.min.css"></noscript> 92 <!-- Remix + Feather + Boxicons (admin menu icon options không có trong icons.min.css) --> 93 <link rel="preload" href="/assets/css/icons-extra.min.css?v=1.0.0" as="style" onload="this.onload=null;this.rel='stylesheet'"> 94 <noscript><link rel="stylesheet" href="/assets/css/icons-extra.min.css?v=1.0.0"></noscript> 95 <link href="/assets/css/app.min.css?v=1.0.2" rel="stylesheet" type="text/css" /> 96 <link href="https://cdn.datatables.net/2.2.0/css/dataTables.bootstrap5.css" rel="stylesheet" type="text/css" media="print" onload="this.media='all'" /> 97 <link href="/assets/css/styles.css?v=1.0.9" rel="stylesheet" type="text/css" /> 98 99 100 101 <style> 102.apidoc{ --ad-accent: var(--bs-primary, #2b5fed); --ad-radius:14px; } 103.apidoc-hero{ display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center; 104 background:linear-gradient(135deg,#0f172a,#1e293b 58%,#312e81); color:#fff; border-radius:var(--ad-radius); 105 padding:22px 24px; margin-bottom:20px; } 106.apidoc-hero-title{ color:#fff; font-weight:800; margin:0 0 4px; } 107.apidoc-hero-sub{ color:rgba(255,255,255,.75); font-size:14px; } 108.apidoc-hero-meta{ display:flex; flex-direction:column; gap:6px; min-width:280px; } 109.apidoc-meta-row{ display:flex; align-items:center; gap:8px; font-size:13px; color:#e2e8f0; flex-wrap:wrap; } 110.apidoc-meta-label{ flex:0 0 80px; color:rgba(255,255,255,.6); } 111.apidoc-meta-row code{ background:rgba(255,255,255,.12); color:#fff; padding:2px 8px; border-radius:6px; } 112.apidoc-key{ max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:middle; display:inline-block; } 113.apidoc-ic{ color:#fff; opacity:.8; } .apidoc-ic:hover{ opacity:1; color:#fff; } 114 115.apidoc-body{ display:flex; align-items:flex-start; gap:24px; } 116.apidoc-sidebar{ flex:0 0 250px; width:250px; position:sticky; top:84px; max-height:calc(100vh - 110px); overflow-y:auto; padding-right:6px; } 117.apidoc-search{ position:relative; margin-bottom:12px; } 118.apidoc-search i{ position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#94a3b8; font-size:13px; } 119.apidoc-search input{ width:100%; padding:9px 12px 9px 32px; border:1px solid var(--bs-border-color,#e2e8f0); border-radius:10px; font-size:13px; background:var(--bs-body-bg); color:var(--bs-body-color); } 120.apidoc-search input:focus{ outline:none; border-color:var(--ad-accent); box-shadow:0 0 0 3px rgba(43,95,237,.12); } 121.apidoc-group-title{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#94a3b8; padding:14px 10px 6px; } 122.apidoc-link{ display:block; padding:7px 12px; border-radius:8px; font-size:13.5px; color:var(--bs-body-color); font-weight:500; border-left:2px solid transparent; } 123.apidoc-link:hover{ background:rgba(43,95,237,.08); color:var(--ad-accent); } 124.apidoc-link.active{ background:rgba(43,95,237,.12); color:var(--ad-accent); border-left-color:var(--ad-accent); font-weight:600; } 125[data-bs-theme="dark"] .apidoc-link:hover, [data-bs-theme="dark"] .apidoc-link.active{ background:rgba(99,102,241,.18); } 126 127.apidoc-main{ flex:1 1 auto; min-width:0; } 128.apidoc-content-head{ display:flex; align-items:center; gap:10px; padding-bottom:14px; margin-bottom:16px; border-bottom:1px solid var(--bs-border-color,#e2e8f0); } 129.apidoc-badge-post{ background:#16a34a; color:#fff; font-weight:700; font-size:12px; letter-spacing:.04em; padding:3px 10px; border-radius:6px; } 130.apidoc-current-title{ font-size:18px; font-weight:700; } 131.apidoc-steps{ padding-left:18px; } .apidoc-steps li{ margin-bottom:6px; } 132 133/* â ï¸ PHẢI GIá»I HẠN á» `div`. Bootstrap dùng `.bg-light` á» hai chá» khác hẳn nhau trong trang nà y: 134 65 `div.bg-light` là khá»i mã (ná»n tá»i, chữ sáng do quy tắc `pre` bên dưá»i), và 57 135 `tr.bg-light` là HÃNG TIÃU Äá» bảng. Viết trần `.bg-light` là ép luôn ná»n navy lên hà ng tiêu 136 Äá», mà chữ trong Äó không có quy tắc tô sáng nà o nên thà nh Äen trên navy â vô hình, phải bôi 137 chuá»t má»i Äá»c ÄÆ°á»£c. DÃnh á» má»i bảng cá»§a toà n bá» tà i liá»u. */ 138.apidoc-main div.bg-light{ background:#0f172a !important; border-radius:10px; padding:0 !important; position:relative; margin-bottom:4px; } 139/* Hà ng tiêu Äá» bảng: ná»n xám nhạt, chữ Äáºm â tá»± có mà u riêng, không mượn cá»§a khá»i mã nữa. */ 140.apidoc-main table tr.bg-light > td{ background:#f1f5f9 !important; color:#0f172a !important; font-weight:700; } 141/* Khoi GHI CHU bang chu thuong. 142 â ï¸ ÄỪNG dùng `.bg-light` cho chữ thưá»ng: ngay trên kia nó bỠép ná»n #0f172a cho khá»i mã, mà 143 chá» chữ trong `pre` má»i ÄÆ°á»£c tô sáng â chữ thưá»ng thà nh Äen trên navy, không Äá»c ÄÆ°á»£c gì. */ 144.apidoc-main .apidoc-note{ background:#f1f5f9; border:1px solid #e2e8f0; border-left:3px solid var(--ad-accent); 145 border-radius:10px; padding:12px 14px; margin-bottom:14px; font-size:13px; line-height:1.65; color:#1e293b; } 146.apidoc-main .apidoc-note code{ background:#e2e8f0; color:#0f172a; padding:1px 5px; border-radius:4px; } 147.apidoc-main .apidoc-note b{ color:#0f172a; } 148.apidoc-main div.bg-light pre{ color:#e2e8f0; margin:0; padding:16px 18px; font-size:13px; line-height:1.55; overflow:auto; white-space:pre; } 149/* â ï¸ CHá»T PHÃNG Vá»: quy tắc trên chỠáp cho `pre` NẰM TRONG `.bg-light`. Má»
149t khá»i `pre` trần 150 không có khung cuá»n nà o, mà `white-space:pre` thì không xuá»ng dòng â nó nong rá»ng cả trang và 151 cắt cụt Má»I ná»i dung bên cạnh trên mà n hình hẹp. Äúng lá»i Äã dÃnh khi thêm mục tà i liá»u má»i. */ 152.apidoc-main pre{ max-width:100%; overflow-x:auto; } 153.apidoc-main td code{ overflow-wrap:anywhere; } 154.apidoc-copy-btn{ position:absolute; top:8px; right:8px; background:rgba(255,255,255,.1); color:#cbd5e1; border:0; border-radius:6px; padding:4px 10px; font-size:12px; cursor:pointer; } 155.apidoc-copy-btn:hover{ background:rgba(255,255,255,.2); color:#fff; } 156.apidoc-main h6{ font-weight:700; color:#64748b; font-size:12px; text-transform:uppercase; letter-spacing:.04em; margin-top:18px; } 157.apidoc-main table td:first-child{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-weight:600; color:var(--ad-accent); white-space:nowrap; } 158.apidoc-main table tr.bg-light td:first-child{ font-family:inherit; color:inherit; } 159 160@media (max-width: 991.98px){ 161 .apidoc-body{ flex-direction:column; } 162 .apidoc-sidebar{ position:fixed; left:0; top:0; bottom:0; width:280px; max-height:100vh; z-index:1050; background:var(--bs-body-bg); box-shadow:0 0 40px rgba(0,0,0,.25); padding:16px; transform:translateX(-100%); transition:transform .2s ease; } 163 .apidoc-sidebar.open{ transform:translateX(0); } 164 .apidoc-main{ width:100%; } 165} 166/* ÄIá»N THOẠI â bảng tham sá» xếp Dá»C thay vì trà n ngang. 167 Cá»t Äầu cỠý `white-space:nowrap` (tên tham sá» không nên bá» bẻ Äôi) còn cá»t mô tả thì dà i, 168 mà bảng không nằm trong khung cuá»n nà o â nên trên mà n hình hẹp bảng luôn rá»ng hÆ¡n khung nhìn 169 và chữ mô tả bá» cắt cụt á» mép phải (ảnh chụp 22/8/2026). Cuá»n ngang giữa trang tà i liá»u rất 170 khó Äá»c, nên chuyá»n hẳn sang xếp dá»c: tên tham sá» má»t dòng, mô tả nằm ngay dưá»i. 171 Ãp cho Má»I bảng trong tà i liá»u, gá»m cả bảng 3 cá»t "Rule / Value / Why". */ 172/* â ï¸ styles.css TOÃN SITE có `@media (max-width:768px){ table.table{white-space:nowrap} }` â 173 luáºt Äó dà nh cho bảng dữ liá»u nằm trong khung cuá»n ngang. Bảng tà i liá»u thì không có khung 174 cuá»n nà o, nên `nowrap` kế thừa xuá»ng má»i `td` là m cả câu mô tả nằm trên Má»T dòng dà i 2.000px 175 rá»i bá» cắt cụt á» mép mà n hình. Phải gỡ ngay tại Äây, Äừng sá»a styles.css kẻo vỡ trang khác. 176 Äặt á» `max-width:768px` (không phải 767.98) Äá» trùng Äúng biên cá»§a luáºt kia, không chừa khe. */ 177@media (max-width: 768px){ 178 .apidoc-main table.table, 179 .apidoc-main table.table tr, 180 .apidoc-main table.table td{ white-space:normal !important; overflow-wrap:anywhere; } 181} 182/* Bảng so sánh 2 gói: khi xếp dá»c thì hai ô giá trá» mất hết nhãn cá»t, Äá»c ra hai câu rá»i rạc 183 không biết câu nà o cá»§a gói nà o. BÆ¡m lại nhãn từ `data-goi`. */ 184@media (max-width: 767.98px){ 185 .apidoc-main .bang-2-goi td[data-goi]::before{ 186 content:attr(data-goi); display:block; font-size:11px; font-weight:700; 187 text-transform:uppercase; letter-spacing:.03em; color:#94a3b8; margin-top:6px; 188 } 189} 190@media (max-width: 767.98px){ 191 .apidoc-main table, 192 .apidoc-main tbody, 193 .apidoc-main tr, 194 .apidoc-main td{ display:block; width:100%; } 195 .apidoc-main table{ border:0 !important; margin-bottom:12px; } 196 .apidoc-main tbody tr{ 197 border:1px solid var(--bs-border-color,#e2e8f0); border-radius:10px; 198 padding:10px 12px; margin-bottom:8px; background:transparent; 199 } 200 .apidoc-main tbody td{ border:0 !important; padding:2px 0 !important; } 201 /* Äã Äứng riêng má»t dòng thì cho phép xuá»ng dòng, khá»i Äẩy rá»ng khung. */ 202 .apidoc-main table td:first-child{ white-space:normal; margin-bottom:2px; } 203 /* Hà ng tiêu Äá» mất hết ý nghÄ©a khi Äã xếp dá»c â và nó Äang Än ná»n tá»i cá»§a 204 `.apidoc-main .bg-light` (vá»n dà nh cho khá»i mã) nên Äá» lại cà ng rá»i. */ 205 .apidoc-main tbody tr.bg-light{ display:none !important; } 206} 207@media (min-width: 992px){ .apidoc-nav-toggle{ display:none !important; } } 208</style> 209 210 211<style> 212/* ===== Thanh cuá»n mảnh & Äẹp (toà n site) ===== */ 213*{scrollbar-width:thin;scrollbar-color:#c3c8d4 transparent} 214::-webkit-scrollbar{width:9px;height:9px} 215::-webkit-scrollbar-track{background:transparent} 216::-webkit-scrollbar-thumb{background:#c3c8d4;border-radius:10px;border:2px solid transparent;background-clip:content-box} 217::-webkit-scrollbar-thumb:hover{background:#9aa0b0;background-clip:content-box} 218[data-bs-theme="dark"] *{scrollbar-color:#3a4150 transparent} 219[data-bs-theme="dark"] ::-webkit-scrollbar-thumb{background:#3a4150;background-clip:content-box} 220 221/* Chặn trà n ngang gây lá»ch ná»i dung sang trái (overflow:clip an toà n cho position:sticky) */ 222html,body{overflow-x:clip;max-width:100%} 223.page-wrapper{overflow-x:clip;max-width:100%} 224 225/* Hiá»n sidebar NGAY khi paint (không chá» JS simplebar) Äá» hết cảnh menu trá»ng rá»i nhảy và o. 226 Trưá»c simplebar init: cho #startbarCollapse cuá»n native (fallback). Khi simplebar Äã wrap thì Äá» nó tá»± quản. */ 227.startbar{display:block} 228.startbar-collapse[data-simplebar]:not(:has(.simplebar-wrapper)){overflow-y:auto} 229 230/* Mobile Bottom Navigation Styles */ 231.mobile-bottom-nav { 232 position: fixed !important; 233 bottom: 0 !important; 234 left: 0 !important; 235 right: 0 !important; 236 height: 56px !important; 237 padding-top: 6px !important; 238 padding-bottom: env(safe-area-inset-bottom, 0px) !important; 239 box-sizing: content-box !important; 240 background: rgba(255, 255, 255, 0.98) !important; 241 backdrop-filter: blur(15px) !important; 242 -webkit-backdrop-filter: blur(15px) !important; 243 border-top: 1px solid rgba(0, 0, 0, 0.08) !important; 244 display: none; /* Hidden on desktop by default */ 245 justify-content: space-around !important;
246 align-items: flex-start !important; 247 z-index: 99999 !important; 248 box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06) !important; 249 transition: none !important; 250 transform: translate3d(0,0,0) !important; 251 will-change: transform !important; 252} 253 254.mobile-bottom-nav::after { 255 content: '' !important; 256 position: absolute !important; 257 top: 100% !important; 258 left: 0 !important; 259 right: 0 !important; 260 height: 150px !important; 261 background: rgba(255, 255, 255, 0.98) !important; 262 pointer-events: none !important; 263} 264 265@media (max-width: 767.98px) { 266 /* Bá» thanh bottom-nav toà n site â dùng nút chat floating như PC */ 267 .mobile-bottom-nav { 268 display: none !important; 269 } 270 body { 271 padding-bottom: 0 !important; 272 } 273 /* Hiá»n nút chat floating trên mobile (Äá»ng nhất vá»i PC). 274 KHÃNG Äè #welcome-bubble vì nó có class d-none controlled bằng JS dismiss. */ 275 #ai-chat-toggle { 276 display: flex !important; 277 } 278 #welcome-bubble:not(.d-none) { 279 display: flex !important; 280 } 281} 282 283.mobile-bottom-nav .nav-item { 284 display: flex !important; 285 flex-direction: column !important; 286 align-items: center !important; 287 justify-content: center !important; 288 color: #6c757d !important; 289 text-decoration: none !important; 290 font-size: 11px !important; 291 font-weight: 600 !important; 292 flex: 1 !important; 293 flex-shrink: 0 !important; 294 height: 100% !important; 295 position: relative !important; 296 padding-top: 4px !important; 297 transition: none !important; 298} 299 300.mobile-bottom-nav .nav-item:active { 301 transform: scale(0.92) !important; 302 transition: none !important; 303} 304 305.mobile-bottom-nav .nav-item .nav-icon-wrapper { 306 font-size: 18px !important; 307 margin-bottom: 2px !important; 308 display: flex !important; 309 align-items: center !important; 310 justify-content: center !important; 311 width: 32px !important; 312 height: 32px !important; 313 border-radius: 50% !important; 314 flex-shrink: 0 !important; 315 transition: none !important; 316} 317 318.mobile-bottom-nav .nav-item .nav-icon-wrapper i { 319 font-size: 20px !important; 320 display: inline-block !important; 321 width: auto !important; 322 height: auto !important; 323 line-height: 1 !important; 324} 325 326.mobile-bottom-nav .nav-item.active { 327 color: #2b5fed !important; 328} 329 330.mobile-bottom-nav .nav-item.active .nav-icon-wrapper { 331 background-color: rgba(43, 95, 237, 0.1) !important; 332 color: #2b5fed !important; 333} 334 335/* Highlight support button with theme-red or blue */ 336.mobile-bottom-nav .nav-item#mobile-support-btn { 337 color: #6c757d !important; 338} 339 340.mobile-bottom-nav .nav-item#mobile-support-btn.active { 341 color: #ff3636 !important; 342} 343 344.mobile-bottom-nav .nav-item#mobile-support-btn.active .nav-icon-wrapper { 345 background-color: rgba(255, 54, 54, 0.1) !important; 346 color: #ff3636 !important; 347} 348 349/* Let's make active state highlight beautifully */ 350 351</style> 352</head> 353 354<body> 355 356 357 358 <!-- leftbar-tab-menu --> 359 <div class="startbar d-print-none"> 360 <!--start brand--> 361 <div class="brand" style="width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden"> 362 <a href="https://socialcare.vn" class="logo"> 363 <span> 364 <img src="https://socialcare.vn/uploads/1744562175_l95R6hPsDO.png" alt="socialcare.vn" class="logo-sm"> 365 </span> 366 <span class=""> 367 <img src="https://socialcare.vn/uploads/1746457547_fzKloOHOrI.png" alt="socialcare.vn" class="logo-lg logo-light" style="height:auto;margin-left:0" width="200" height="50"> 368 <img src="https://socialcare.vn/uploads/1745399020_UPQD2vHPW1.png" alt="socialcare.vn" class="logo-lg logo-dark" style="height:auto;margin-left:0" width="200" height="50"> 369 </span> 370 </a> 371 </div> 372 373 <div class="startbar-menu"> 374 <div class="startbar-collapse" id="startbarCollapse" data-simplebar> 375 <div class="d-flex align-items-start flex-column w-100"> 376 <ul class="navbar-nav mb-auto w-100"> 377 <li class="menu-label">
378 <span>Menu</span> 379 </li> 380 381 382 383 384 385 <li class="nav-item"> 386 <a class="nav-link primary-hover-bg" 387 href="#clientMenu332" 388 data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="clientMenu332" title="Kiếm tiá»n Online"> 389 390 <i class="iconoir-dollar-circle menu-icon"></i> 391 392 <span>Kiếm tiá»n Online</span> 393 394 </a> 395 396 <div class="collapse" id="clientMenu332"> 397 <ul class="nav flex-column"> 398 <li class="nav-item"> 399 <a class="nav-link primary-hover-bg" 400 href="https://socialcare.vn/links" 401 title="Rút gá»n Link"> 402 <i class="la la-link menu-icon"></i> 403 <span>Rút gá»n Link</span> 404 405 406 </a> 407 </li> 408 <li class="nav-item"> 409 <a class="nav-link primary-hover-bg" 410 href="https://socialcare.vn/affiliate" 411 title="Tiếp thá» liên kết"> 412 <i class="iconoir-coins menu-icon"></i> 413 <span>Tiếp thá» liên kết</span> 414 415 416 </a> 417 </li> 418 <li class="nav-item"> 419 <a class="nav-link primary-hover-bg" 420 href="https://socialcare.vn/traffic" 421 title="Nhiá»m vụ Traffic"> 422 <i class="iconoir-handbag menu-icon"></i> 423 <sp
423an>Nhiá»m vụ Traffic</span> 424 425 426 </a> 427 </li> 428 <li class="nav-item"> 429 <a class="nav-link primary-hover-bg" 430 href="https://socialcare.vn/traffic/khong-chen-ma" 431 title="Traffic V2"> 432 <i class="iconoir-search menu-icon"></i> 433 <span>Traffic V2</span> 434 435 436 </a> 437 </li> 438 <li class="nav-item"> 439 <a class="nav-link primary-hover-bg" 440 href="https://socialcare.vn/traffic/google-map" 441 title="Traffic Google map"> 442 <i class="iconoir-map-pin menu-icon"></i> 443 <span>Traffic Google map</span> 444 445 446 </a> 447 </li> 448 <li class="nav-item"> 449 <a class="nav-link primary-hover-bg" 450 href="https://socialcare.vn/mission" 451 title="Nhiá»m vụ Seeding"> 452 <i class="iconoir-task-list menu-icon"></i> 453 <span>Nhiá»m vụ Seeding</span> 454 455 456 </a> 457 </li> 458 <li class="nav-item"> 459 <a class="nav-link primary-hover-bg" 460 href="https://socialcare.vn/nhiem-vu-facebook" 461 title="Nhiá»m vụ Facebook"> 462 <i class="iconoir-message-text menu-icon"></i> 463 <sp
463an>Nhiá»m vụ Facebook</span> 464 465 466 </a> 467 </li> 468 <li class="nav-item"> 469 <a class="nav-link primary-hover-bg" 470 href="https://socialcare.vn/nhiem-vu-tiktok" 471 title="Nhiá»m vụ TikTok"> 472 <i class="iconoir-music-double-note menu-icon"></i> 473 <span>Nhiá»m vụ TikTok</span> 474 475 476 </a> 477 </li> 478 <li class="nav-item"> 479 <a class="nav-link primary-hover-bg" 480 href="https://socialcare.vn/nhiem-vu-youtube" 481 title="Nhiá»m vụ YouTube"> 482 <i class="icofont-play-alt-1 menu-icon"></i> 483 <span>Nhiá»m vụ YouTube</span> 484 485 486 </a> 487 </li> 488 489 490 <li class="nav-item"> 491 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/user/withdraw" title="Rút tiá»n"> 492 <i class="iconoir-hand-cash menu-icon text-success"></i> 493 <span class="fw-bold text-success">ð° Rút tiá»n </span> 494 </a> 495 </li> 496 </ul> 497 </div> 498 </li> 499 500 501 <li class="nav-item"> 502 <a class="nav-link primary-hover-bg" 503 href="#clientMenu339" 504 data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="clientMenu339" title="Chiến dá»ch Traffic"> 505 506 <i class="iconoir-cube menu-icon"></i> 507
508 <span>Chiến dá»ch Traffic</span> 509 510 </a> 511 512 <div class="collapse" id="clientMenu339"> 513 <ul class="nav flex-column"> 514 <li class="nav-item"> 515 <a class="nav-link primary-hover-bg" 516 href="https://socialcare.vn/traffic/create" 517 title="Tạo chiến dá»ch"> 518 <i class="icofont-bullseye menu-icon"></i> 519 <span>Tạo chiến dá»ch</span> 520 521 522 </a> 523 </li> 524 <li class="nav-item"> 525 <a class="nav-link primary-hover-bg" 526 href="https://socialcare.vn/traffic/campaigns" 527 title="Quản lý chiến dá»ch"> 528 <i class="icofont-chart-growth menu-icon"></i> 529 <span>Quản lý chiến dá»ch</span> 530 531 532 </a> 533 </li> 534 535 536 </ul> 537 </div> 538 </li> 539 540 541 <li class="nav-item"> 542 <a class="nav-link primary-hover-bg" 543 href="#clientMenu342" 544 data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="clientMenu342" title="Thuê Seeding"> 545 546 <i class="iconoir-church menu-icon"></i> 547
548 <span>Thuê Seeding</span> 549 550 </a> 551 552 <div class="collapse" id="clientMenu342"> 553 <ul class="nav flex-column"> 554 <li class="nav-item"> 555 <a class="nav-link primary-hover-bg" 556 href="https://socialcare.vn/mission/create" 557 title="Tạo nhiá»m vụ"> 558 <i class="icofont-plus-circle menu-icon"></i> 559 <span>Tạo nhiá»m vụ</span> 560 561 562 </a> 563 </li> 564 565 566 </ul> 567 </div> 568 </li> 569 570 571 <li class="nav-item"> 572 <a class="nav-link primary-hover-bg" 573 href="#clientMenu872" 574 data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="clientMenu872" title="SEO & Marketing"> 575 576 <i class="las la-chart-pie menu-icon"></i> 577 578 <span>SEO & Marketing</span> 579 580 </a> 581 582 <div class="collapse" id="clientMenu872"> 583 <ul class="nav flex-column"> 584 <li class="nav-item"> 585 <a class="nav-link primary-hover-bg" 586 href="/marketing/tool/keyword" 587 title="Nghiên Cứu Từ Khóa"> 588 <span>Nghiên Cứu Từ Khóa</span> 589 590 591 </a> 592 </li> 593 <li class="nav-item"> 594 <a class="nav-link primary-hover-bg" 595 href="/marketing/tool/seo-scan" 596 title="Nghiên Cứu SEO"> 597 <sp
597an>Nghiên Cứu SEO</span> 598 599 600 </a> 601 </li> 602 <li class="nav-item"> 603 <a class="nav-link primary-hover-bg" 604 href="/marketing/tool/market" 605 title="Phân TÃch Thá» Trưá»ng"> 606 <span>Phân TÃch Thá» Trưá»ng</span> 607 608 609 </a> 610 </li> 611 <li class="nav-item"> 612 <a class="nav-link primary-hover-bg" 613 href="/marketing/tool/backlink" 614 title="Backlink Äá»i Thá»§"> 615 <span>Backlink Äá»i Thá»§</span> 616 617 618 </a> 619 </li> 620 <li class="nav-item"> 621 <a class="nav-link primary-hover-bg" 622 href="/marketing/tool/ad-targeting" 623 title="Target Quảng Cáo"> 624 <span>Target Quảng Cáo</span> 625 626 627 </a> 628 </li> 629 <li class="nav-item"> 630 <a class="nav-link primary-hover-bg" 631 href="/marketing/tool/fb-ads" 632 title="Facebook Ads"> 633 <span>Facebook Ads</span> 634 635 636 </a> 637 </li> 638 <li class="nav-item"> 639 <a class="nav-link primary-hover-bg" 640 href="/marketing/tool/google-ads" 641 title="Google Ads"> 642 <sp
642an>Google Ads</span> 643 644 645 </a> 646 </li> 647 <li class="nav-item"> 648 <a class="nav-link primary-hover-bg" 649 href="/seo/index" 650 title="SEO/Crawled"> 651 <span>SEO/Crawled</span> 652 653 654 </a> 655 </li> 656 <li class="nav-item"> 657 <a class="nav-link primary-hover-bg" 658 href="/rank-tracker" 659 title="Rank Tracker"> 660 <span>Rank Tracker</span> 661 662 663 </a> 664 </li> 665 <li class="nav-item"> 666 <a class="nav-link primary-hover-bg" 667 href="/cong-cu/dia-diem" 668 title="Tra Äá»a Äiá»m Bản Äá»"> 669 <span>Tra Äá»a Äiá»m Bản Äá»</span> 670 671 672 </a> 673 </li> 674 675 676 </ul> 677 </div> 678 </li> 679 680 681 <li class="nav-item"> 682 <a class="nav-link primary-hover-bg" 683 href="#clientMenu4409" 684 data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="clientMenu4409" title="Dá»ch vụ miá» n phÃ"> 685 686 <i class="las la-gift menu-icon"></i> 687
688 <span>Dá»ch vụ miá» n phÃ</span> 689 690 </a> 691 692 <div class="collapse" id="clientMenu4409"> 693 <ul class="nav flex-column"> 694 <li class="nav-item"> 695 <a class="nav-link primary-hover-bg" 696 href="/vong-quay" 697 title="Äiá»m Danh"> 698 <i class="lar la-compass menu-icon"></i> 699 <span>Äiá»m Danh</span> 700 701 702 </a> 703 </li> 704 <li class="nav-item"> 705 <a class="nav-link primary-hover-bg" 706 href="/service-free" 707 title="Buff Miá» n PhÃ"> 708 <i class="las la-gift menu-icon"></i> 709 <span>Buff Miá» n PhÃ</span> 710 711 712 </a> 713 </li> 714 <li class="nav-item"> 715 <a class="nav-link primary-hover-bg" 716 href="https://socialcare.vn/proxy/nhan-mien-phi" 717 title="Nháºn Proxy Free"> 718 <i class="las la-shield-alt menu-icon"></i> 719 <span>Nháºn Proxy Free</span> 720 721 722 </a> 723 </li> 724 <li class="nav-item"> 725 <a class="nav-link primary-hover-bg" 726 href="https://socialcare.vn/phan-mem-mien-phi" 727 title="Nháºn Key Phần Má»m"> 728 <i class="las la-key menu-icon"></i> 729 <sp
729an>Nháºn Key Phần Má»m</span> 730 731 732 <span class="badge bg-danger rounded-pill pulse pulse-danger ms-auto" style="font-size:9.5px;letter-spacing:.06em;padding:3px 7px">Má»i</span> 733 </a> 734 </li> 735 736 737 </ul> 738 </div> 739 </li> 740 741 742 <li class="nav-item"> 743 <a class="nav-link primary-hover-bg" 744 href="/ai-studio" 745 title="Thư Viá»n AI"> 746 747 <i class="las la-robot menu-icon"></i> 748 749 <span>Thư Viá»n AI</span> 750 751 </a> 752 753 </li> 754 755 756 <li class="nav-item"> 757 <a class="nav-link primary-hover-bg" 758 href="#clientMenu347" 759 data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="clientMenu347" title="Proxy"> 760 761 <img src="https://socialcare.vn/pack/images/ux.png" alt="icon" class="menu-icon" width="25" height="25" loading="lazy" /> 762 763 <span>Proxy</span> 764 765 </a> 766 767 <div class="collapse" id="clientMenu347"> 768 <ul class="nav flex-column"> 769 <li class="nav-item"> 770 <a class="nav-link primary-hover-bg" 771 href="https://socialcare.vn/proxy/proxy-v4-static" 772 title="Proxy v4 tÄ©nh"> 773 <span>Proxy v4 tÄ©nh</span> 774 775 776 </a> 777 </li> 778 <li class="nav-item"> 779 <a class="nav-link primary-hover-bg" 780 href="https://socialcare.vn/proxy/proxy-v4-rotate" 781 title="Proxy v4 xoay"> 782 <sp
782an>Proxy v4 xoay</span> 783 784 785 </a> 786 </li> 787 <li class="nav-item"> 788 <a class="nav-link primary-hover-bg" 789 href="https://socialcare.vn/proxy/xoay-ip" 790 title="Công cụ xoay IP"> 791 <span>Công cụ xoay IP</span> 792 793 794 </a> 795 </li> 796 <li class="nav-item"> 797 <a class="nav-link primary-hover-bg" 798 href="https://socialcare.vn/proxy/check-proxy" 799 title="Kiá»m tra Proxy"> 800 <span>Kiá»m tra Proxy</span> 801 802 803 </a> 804 </li> 805 806 807 </ul> 808 </div> 809 </li> 810 811 812 <li class="nav-item"> 813 <a class="nav-link primary-hover-bg" href="#service-lbd-facebook" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-facebook" title="Dá»ch vụ Facebook"> 814 <img src="https://socialcare.vn/uploads/client-platforms/socialcare.vn/1779878116_1.gif" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" /> 815 <span>Facebook</span> 816 </a> 817 <div class="collapse" id="service-lbd-facebook"> 818 <ul class="nav flex-column ps-0"> 819 <li class="nav-item"> 820 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/tang-like" title="TÄng Like Bà i Viết"> 821 <span>TÄng Like Bà i Viết</span> 822 </a> 823 </li> 824 <li class="nav-item"> 825 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/tang-follow" title="TÄng Ngưá»i Theo Dõi"> 826 <sp
826an>TÄng Ngưá»i Theo Dõi</span> 827 </a> 828 </li> 829 <li class="nav-item"> 830 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/tang-comment" title="TÄng Bình Luáºn"> 831 <span>TÄng Bình Luáºn</span> 832 </a> 833 </li> 834 <li class="nav-item"> 835 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/tang-like-page" title="TÄng like/sub Fanpage"> 836 <span>TÄng like/sub Fanpage</span> 837 </a> 838 </li> 839 <li class="nav-item"> 840 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/tang-member" title="TÄng Thà nh Viên Nhóm"> 841 <span>TÄng Thà nh Viên Nhóm</span> 842 </a> 843 </li> 844 <li class="nav-item"> 845 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/tang-share" title="TÄng Lượt Chia Sẻ"> 846 <span>TÄng Lượt Chia Sẻ</span> 847 </a> 848 </li> 849 <li class="nav-item"> 850 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/tang-view-story" title="TÄng View Story"> 851 <span>TÄng View Story</span> 852 </a> 853 </li> 854 <li class="nav-item"> 855 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/view-video" title="TÄng Lượt Xem Video"> 856 <span>TÄng Lượt Xem Video</span> 857 </a> 858 </li> 859 <li class="nav-item"> 860 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/tang-like-comment" title="TÄng Like Cho Bình Luáºn"> 861 <sp
861an>TÄng Like Cho Bình Luáºn</span> 862 </a> 863 </li> 864 <li class="nav-item"> 865 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/tang-mat-livestream" title="TÄng mắt Live"> 866 <span>TÄng mắt Live</span> 867 </a> 868 </li> 869 <li class="nav-item"> 870 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/viplike-fb" title="Vip Like Facebook"> 871 <span>Vip Like Facebook</span> 872 </a> 873 </li> 874 <li class="nav-item"> 875 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/vipshare-fb" title="Vip Share Facebook"> 876 <span>Vip Share Facebook</span> 877 </a> 878 </li> 879 <li class="nav-item"> 880 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/vipcomment-fb" title="Vip Comment Facebook"> 881 <span>Vip Comment Facebook</span> 882 </a> 883 </li> 884 <li class="nav-item"> 885 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/facebook/facebook-story-reactions" title="TÄng Cảm Xúc Story"> 886 <span>TÄng Cảm Xúc Story</span> 887 </a> 888 </li> 889 </ul> 890 </div> 891 </li> 892 <li class="nav-item"> 893 <a class="nav-link primary-hover-bg" href="#service-lbd-youtube" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-youtube" title="Dá»ch vụ Youtube"> 894 <img src="https://socialcare.vn/uploads/client-platforms/socialcare.vn/1779878134_4.gif" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" />
895 <span>Youtube</span> 896 </a> 897 <div class="collapse" id="service-lbd-youtube"> 898 <ul class="nav flex-column ps-0"> 899 <li class="nav-item"> 900 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/youtube/youtube-views" title="TÄng Lượt Xem Video"> 901 <span>TÄng Lượt Xem Video</span> 902 </a> 903 </li> 904 <li class="nav-item"> 905 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/youtube/youtube-subscribes" title="TÄng Ngưá»i ÄÄng Ký Kênh"> 906 <span>TÄng Ngưá»i ÄÄng Ký Kênh</span> 907 </a> 908 </li> 909 <li class="nav-item"> 910 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/youtube/comments-youtube" title="TÄng Ngưá»i Bình Luáºn"> 911 <span>TÄng Ngưá»i Bình Luáºn</span> 912 </a> 913 </li> 914 <li class="nav-item"> 915 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/youtube/youtube-likes" title="TÄng Like Youtube"> 916 <span>TÄng Like Youtube</span> 917 </a> 918 </li> 919 <li class="nav-item"> 920 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/youtube/views-4000h" title="TÄng View 4000H Xem"> 921 <span>TÄng View 4000H Xem</span> 922 </a> 923 </li> 924 <li class="nav-item"> 925 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/youtube/livestream-youtube" title="TÄng Ngưá»i Xem Livestream"> 926 <span>TÄng Ngưá»i Xem Livestream</span> 927 </a> 928 </li> 929 <li class="nav-item"> 930 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/youtube/youtube-share" title="TÄng Lượt Chia Sẻ"> 931 <sp
931an>TÄng Lượt Chia Sẻ</span> 932 </a> 933 </li> 934 </ul> 935 </div> 936 </li> 937 <li class="nav-item"> 938 <a class="nav-link primary-hover-bg" href="#service-lbd-tiktok" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-tiktok" title="Dá»ch vụ Tiktok"> 939 <img src="https://socialcare.vn/uploads/client-platforms/socialcare.vn/1779878155_2.gif" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" /> 940 <span>Tiktok</span> 941 </a> 942 <div class="collapse" id="service-lbd-tiktok"> 943 <ul class="nav flex-column ps-0"> 944 <li class="nav-item"> 945 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/tiktok-views" title="TÄng Lượt Xem Tiktok"> 946 <span>TÄng Lượt Xem Tiktok</span> 947 </a> 948 </li> 949 <li class="nav-item"> 950 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/tiktok-likes" title="TÄng Lượt ThÃch Video"> 951 <span>TÄng Lượt ThÃch Video</span> 952 </a> 953 </li> 954 <li class="nav-item"> 955 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/tiktok-followers" title="TÄng Ngưá»i Theo Dõi"> 956 <span>TÄng Ngưá»i Theo Dõi</span> 957 </a> 958 </li> 959 <li class="nav-item"> 960 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/custom-comment" title="TÄng Bình Luáºn Tiktok"> 961 <span>TÄng Bình Luáºn Tiktok</span> 962 </a> 963 </li> 964 <li class="nav-item"> 965 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/tiktok-share" title="TÄng chia sẻ Tiktok"> 966 <sp
966an>TÄng chia sẻ Tiktok</span> 967 </a> 968 </li> 969 <li class="nav-item"> 970 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/livestream-views" title="TÄng ngưá»i xem Livestream"> 971 <span>TÄng ngưá»i xem Livestream</span> 972 </a> 973 </li> 974 <li class="nav-item"> 975 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/tiktok-pk" title="TÄng Äiá»m PK Tiktok"> 976 <span>TÄng Äiá»m PK Tiktok</span> 977 </a> 978 </li> 979 <li class="nav-item"> 980 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/tiktok-save" title="TÄng Lượt Lưu Video"> 981 <span>TÄng Lượt Lưu Video</span> 982 </a> 983 </li> 984 <li class="nav-item"> 985 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/video-download" title="TÄng Lượt Tải Video"> 986 <span>TÄng Lượt Tải Video</span> 987 </a> 988 </li> 989 <li class="nav-item"> 990 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/reposting-tiktok" title="Reposting TikTok"> 991 <span>Reposting TikTok</span> 992 </a> 993 </li> 994 <li class="nav-item"> 995 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/viplike-tiktok" title="Vip Like TikTok"> 996 <span>Vip Like TikTok</span> 997 </a> 998 </li> 999 <li class="nav-item"> 1000 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/vipview-tiktok" title="Vip View TikTok"> 1001 <sp
1001an>Vip View TikTok</span> 1002 </a> 1003 </li> 1004 <li class="nav-item"> 1005 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/vipshare-tiktok" title="Vip Share TikTok"> 1006 <span>Vip Share TikTok</span> 1007 </a> 1008 </li> 1009 <li class="nav-item"> 1010 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/vipcomment-tiktok" title="Vip Comment TikTok"> 1011 <span>Vip Comment TikTok</span> 1012 </a> 1013 </li> 1014 <li class="nav-item"> 1015 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/tiktok/vipsave-tiktok" title="Vip Save TikTok"> 1016 <span>Vip Save TikTok</span> 1017 </a> 1018 </li> 1019 </ul> 1020 </div> 1021 </li> 1022 <li class="nav-item"> 1023 <a class="nav-link primary-hover-bg" href="#service-lbd-instagram" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-instagram" title="Dá»ch vụ Instagram"> 1024 <img src="https://socialcare.vn/uploads/client-platforms/socialcare.vn/1779878179_3.gif" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" /> 1025 <span>Instagram</span> 1026 </a> 1027 <div class="collapse" id="service-lbd-instagram"> 1028 <ul class="nav flex-column ps-0"> 1029 <li class="nav-item"> 1030 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/instagram/instagram-followers" title="TÄng Ngưá»i Theo Dõi"> 1031 <span>TÄng Ngưá»i Theo Dõi</span> 1032 </a> 1033 </li> 1034 <li class="nav-item"> 1035 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/instagram/instagram-likes" title="TÄng Tim Instagram"> 1036 <sp
1036an>TÄng Tim Instagram</span> 1037 </a> 1038 </li> 1039 <li class="nav-item"> 1040 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/instagram/view-story-instagram" title="TÄng Lượt Xem Story"> 1041 <span>TÄng Lượt Xem Story</span> 1042 </a> 1043 </li> 1044 <li class="nav-item"> 1045 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/instagram/instagram-views" title="TÄng Lượt Xem"> 1046 <span>TÄng Lượt Xem</span> 1047 </a> 1048 </li> 1049 <li class="nav-item"> 1050 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/instagram/instagram-share" title="TÄng Lượt Chia Sẻ"> 1051 <span>TÄng Lượt Chia Sẻ</span> 1052 </a> 1053 </li> 1054 <li class="nav-item"> 1055 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/instagram/post-save" title="TÄng Lượt Lưu Bà i Viết"> 1056 <span>TÄng Lượt Lưu Bà i Viết</span> 1057 </a> 1058 </li> 1059 <li class="nav-item"> 1060 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/instagram/instagram-comments" title="TÄng Bình Luáºn Instagram"> 1061 <span>TÄng Bình Luáºn Instagram</span> 1062 </a> 1063 </li> 1064 </ul> 1065 </div> 1066 </li> 1067 <li class="nav-item"> 1068 <a class="nav-link primary-hover-bg" href="#service-lbd-threads" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-threads" title="Dá»ch vụ Threads"> 1069 <img src="https://socialcare.vn/uploads/client-platforms/socialcare.vn/1779878213_6.webp" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" />
1070 <span>Threads</span> 1071 </a> 1072 <div class="collapse" id="service-lbd-threads"> 1073 <ul class="nav flex-column ps-0"> 1074 <li class="nav-item"> 1075 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/threads/threads-followers" title="Threads Followers"> 1076 <span>Threads Followers</span> 1077 </a> 1078 </li> 1079 <li class="nav-item"> 1080 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/threads/threads-comments" title="Threads Comments"> 1081 <span>Threads Comments</span> 1082 </a> 1083 </li> 1084 <li class="nav-item"> 1085 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/threads/threads-likes" title="Threads Likes"> 1086 <span>Threads Likes</span> 1087 </a> 1088 </li> 1089 <li class="nav-item"> 1090 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/threads/threads-reshare" title="Threads ReShare"> 1091 <span>Threads ReShare</span> 1092 </a> 1093 </li> 1094 </ul> 1095 </div> 1096 </li> 1097 <li class="nav-item"> 1098 <a class="nav-link primary-hover-bg" href="#service-lbd-website" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-website" title="Dá»ch vụ Website"> 1099 <img src="https://socialcare.vn/uploads/client-platforms/socialcare.vn/1779878235_7.gif" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" /> 1100 <span>Website</span> 1101 </a> 1102 <div class="collapse" id="service-lbd-website"> 1103 <ul class="nav flex-column ps-0"> 1104 <li class="nav-item"> 1105 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/website/traffic" title="Traffic"> 1106 <sp
1106an>Traffic</span> 1107 </a> 1108 </li> 1109 </ul> 1110 </div> 1111 </li> 1112 <li class="nav-item"> 1113 <a class="nav-link primary-hover-bg" href="#service-lbd-twitter" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-twitter" title="Dá»ch vụ Twitter"> 1114 <img src="https://socialcare.vn/uploads/client-platforms/socialcare.vn/1779878246_9.gif" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" /> 1115 <span>Twitter</span> 1116 </a> 1117 <div class="collapse" id="service-lbd-twitter"> 1118 <ul class="nav flex-column ps-0"> 1119 <li class="nav-item"> 1120 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/twitter/twitter-followers" title="Twitter Followers"> 1121 <span>Twitter Followers</span> 1122 </a> 1123 </li> 1124 <li class="nav-item"> 1125 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/twitter/video-views" title="Video Views"> 1126 <span>Video Views</span> 1127 </a> 1128 </li> 1129 <li class="nav-item"> 1130 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/twitter/comment-tiwtter" title="comment tiwtter"> 1131 <span>comment tiwtter</span> 1132 </a> 1133 </li> 1134 <li class="nav-item"> 1135 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/twitter/twitter-retweet" title="Twitter Retweet"> 1136 <span>Twitter Retweet</span> 1137 </a> 1138 </li> 1139 <li class="nav-item"> 1140 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/twitter/twitter-likes" title="Twitter Likes"> 1141 <sp
1141an>Twitter Likes</span> 1142 </a> 1143 </li> 1144 <li class="nav-item"> 1145 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/twitter/twitter-impressions" title="Twitter Impressions"> 1146 <span>Twitter Impressions</span> 1147 </a> 1148 </li> 1149 </ul> 1150 </div> 1151 </li> 1152 <li class="nav-item"> 1153 <a class="nav-link primary-hover-bg" href="#service-lbd-shopee" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-shopee" title="Dá»ch vụ Shopee"> 1154 <img src="https://socialcare.vn/uploads/client-platforms/socialcare.vn/1779878257_17.gif" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" /> 1155 <span>Shopee</span> 1156 </a> 1157 <div class="collapse" id="service-lbd-shopee"> 1158 <ul class="nav flex-column ps-0"> 1159 <li class="nav-item"> 1160 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/shopee/follow-shopee" title="Follow Shopee"> 1161 <span>Follow Shopee</span> 1162 </a> 1163 </li> 1164 <li class="nav-item"> 1165 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/shopee/shopee-livestream-views" title="Shopee livestream views"> 1166 <span>Shopee livestream views</span> 1167 </a> 1168 </li> 1169 </ul> 1170 </div> 1171 </li> 1172 <li class="nav-item"> 1173 <a class="nav-link primary-hover-bg" href="#service-lbd-lazada" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-lazada" title="Dá»ch vụ Lazada"> 1174 <img src="https://socialcare.vn/uploads/platforms/1745780964.gif" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" />
1175 <span>Lazada</span> 1176 </a> 1177 <div class="collapse" id="service-lbd-lazada"> 1178 <ul class="nav flex-column ps-0"> 1179 <li class="nav-item"> 1180 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/lazada/follow-lazada" title="Sub Lazada"> 1181 <span>Sub Lazada</span> 1182 </a> 1183 </li> 1184 </ul> 1185 </div> 1186 </li> 1187 <li class="nav-item"> 1188 <a class="nav-link primary-hover-bg" href="#service-lbd-whatsapp" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="service-lbd-whatsapp" title="Dá»ch vụ Whatsapp"> 1189 <img src="https://socialcare.vn/uploads/client-platforms/socialcare.vn/1779878299_18.gif" alt="socialcare.vn" class="menu-icon" width="25" height="25" loading="lazy" /> 1190 <span>Whatsapp</span> 1191 </a> 1192 <div class="collapse" id="service-lbd-whatsapp"> 1193 <ul class="nav flex-column ps-0"> 1194 <li class="nav-item"> 1195 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/whatsapp/channel-members" title="Channel Members"> 1196 <span>Channel Members</span> 1197 </a> 1198 </li> 1199 <li class="nav-item"> 1200 <a class="nav-link primary-hover-bg" href="https://socialcare.vn/service/whatsapp/channel-reactions" title="Channel Reactions"> 1201 <span>Channel Reactions</span> 1202 </a> 1203 </li> 1204 </ul> 1205 </div> 1206 </li> 1207 1208 1209 1210 1211
1211<script> 1212 document.addEventListener('DOMContentLoaded', function() { 1213 document.querySelectorAll('.coming-soon-feature').forEach(function(item) { 1214 item.addEventListener('click', function(e) { 1215 e.preventDefault(); 1216 if (typeof Swal !== 'undefined') { 1217 Swal.fire({ 1218 icon: 'info', 1219 title: "T\u00ednh n\u0103ng \u0111ang ph\u00e1t tri\u1ec3n", 1220 text: "C\u00f4ng c\u1ee5 n\u00e0y \u0111ang \u0111\u01b0\u1ee3c ch\u00fang t\u00f4i ho\u00e0n thi\u1ec7n v\u00e0 s\u1ebd s\u1edbm ra m\u1eaft. Vui l\u00f2ng quay l\u1ea1i sau!", 1221 confirmButtonText: "\u0110\u00f3ng", 1222 confirmButtonColor: '#0d6efd' 1223 }); 1224 } else { 1225 alert("C\u00f4ng c\u1ee5 n\u00e0y \u0111ang \u0111\u01b0\u1ee3c ch\u00fang t\u00f4i ho\u00e0n thi\u1ec7n v\u00e0 s\u1ebd s\u1edbm ra m\u1eaft. Vui l\u00f2ng quay l\u1ea1i sau!"); 1226 } 1227 }); 1228 }); 1229 }); 1230 </script>
1230 1231 </ul> 1232 </div> 1233 </div> 1234 </div> 1235</div> 1236 1237 1238 <div class="startbar-overlay d-print-none"></div> 1239 <!-- end leftbar-tab-menu--> 1240 1241 <div class="page-wrapper min-vh-100"> 1242 1243 <!-- Page Content--> 1244 <div class="page-content"> 1245 1246 1247 1248 <div class="top-announce" id="topAnnounce"> 1249 <div class="ta-inner"> 1250 <span class="ta-msg"><i class="fa-solid fa-building me-1"></i><b>Há» trợ doanh nghiá»p</b><span class="ta-desc">: Xuất hóa ÄÆ¡n & ký hợp Äá»ng theo yêu cầu giao dá»ch.</span></span> 1251 <a href="https://zalo.me/3938139223101952461" target="_blank" rel="noopener" class="ta-cta"><i class="fa-solid fa-headset me-1"></i>Liên há» tư vấn</a> 1252 <button type="button" class="ta-close" onclick="(function(b){var w=b.closest('.top-announce');w.remove();try{localStorage.setItem('ta_dismissed','1')}catch(e){}})(this)" aria-label="Äóng">×</button> 1253 </div> 1254 </div> 1255 <style> 1256 .top-announce{background:linear-gradient(90deg,#0f172a,#312e81 55%,#1e3a8a);color:#fff;font-size:13px;line-height:1.3;width:100%} 1257 .top-announce .ta-inner{display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:7px 16px;position:relative} 1258 .top-announce .ta-msg{opacity:.95} 1259 .top-announce .ta-msg b{color:#fff} 1260 .top-announce .ta-cta{display:inline-flex;align-items:center;gap:4px;background:#10b981;color:#fff;font-weight:700;text-decoration:none;border-radius:999px;padding:3px 14px;font-size:12.5px;transition:filter .15s,transform .15s} 1261 .top-announce .ta-cta:hover{color:#fff;filter:brightness(1.08);transform:translateY(-1px)} 1262 .top-announce .ta-close{background:transparent;border:0;color:rgba(255,255,255,.7);font-size:20px;line-height:1;cursor:pointer;padding:0 4px} 1263 .top-announce .ta-close:hover{color:#fff} 1264 @media (max-width:767px){ .top-announce{font-size:12px} .top-announce .ta-inner{gap:8px;padding:6px 10px;flex-wrap:nowrap;justify-content:center} .top-announce .ta-desc{display:none} .top-announce .ta-msg{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .top-announce .ta-cta{flex:0 0 auto;padding:3px 12px;white-space:nowrap} .top-announce .ta-close{position:static;flex:0 0 auto} } 1265 </style> 1266
1266<script>try{if(localStorage.getItem('ta_dismissed')==='1'){var _t=document.getElementById('topAnnounce');if(_t)_t.remove();}}catch(e){}</script>
1266 1267 1268 <div class="container-fluid"> 1269 <!-- Top Bar Start --> 1270 <div class="topbar d-print-none"> 1271 <div class="container-fluid"> 1272 <nav class="topbar-custom d-flex justify-content-between" id="topbar-custom"> 1273 <ul class="topbar-item list-unstyled d-inline-flex align-items-center mb-0"> 1274 <li> 1275 <button class="nav-link mobile-menu-btn nav-icon" id="togglemenu" aria-label="Menu"> 1276 <i class="iconoir-menu"></i> 1277 </button> 1278 </li> 1279 <!--<li class="hide-phone app-search"> 1280 <form role="search" action="#" method="get"> 1281 <input type="search" name="search" class="form-control top-search mb-0" 1282 placeholder="Search here..."> 1283 <button type="submit"><i class="iconoir-search"></i></button> 1284 </form> 1285 </li>--> 1286 </ul> 1287 <ul class="topbar-item list-unstyled d-inline-flex align-items-center mb-0"> 1288 1289 1290 1291 1292 <li class="topbar-item"> 1293 <button type="button" class="nav-link nav-icon" aria-label="Tìm kiếm" data-bs-toggle="modal" data-bs-target="#topSearchModal"> 1294 <i class="iconoir-search"></i> 1295 </button> 1296 </li> 1297 1298 1299 <li class="dropdown topbar-item"> 1300 <a id="notifyBell" class="nav-link dropdown-toggle arrow-none nav-icon position-relative" data-bs-toggle="dropdown" 1301 href="#" role="button" aria-haspopup="false" aria-expanded="false" data-bs-offset="0,19" aria-label="Thông báo"> 1302 <i class="iconoir-bell"></i> 1303 </a> 1304 <div class="dropdown-menu dropdown-menu-end notify-dropdown p-0"> 1305 <div class="notify-head d-flex align-items-center justify-content-between"> 1306 <div class="d-flex align-items-center gap-2"> 1307 <span class="notify-head-icon"><i class="iconoir-bell"></i></span> 1308 <div class="lh-sm"> 1309 <div class="fw-semibold fs-15">Thông báo</div> 1310 <small class="notify-head-sub">0 tin má»i</small> 1311 </div> 1312 </div> 1313 <button type="button" class="notify-close" onclick="closeNotify(event)" aria-label="Äóng"><i class="iconoir-xmark"></i></button> 1314 </div> 1315 <div class="notify-body"> 1316 <div class="text-center text-muted py-5"> 1317 <i class="iconoir-bell-off d-block mb-2" style="font-size:42px;opacity:.4"></i> 1318 Chưa có thông báo 1319 </div> 1320 </div> 1321 </div> 1322 </li> 1323 1324 <li class="dropdown"> 1325 <a class="text-muted dropdown-toggle arrow-none d-flex align-items-center me-2" data-bs-toggle="dropdown" href="#" 1326 role="button" aria-haspopup="false" aria-expanded="false" data-bs-offset="0,19"> 1327 <img id="current-lang-flag" 1328 src="https://lh3.googleusercontent.com/d/1bm8k06ztyxtzAObHS5Dh3eCFsBt1Twou=w800?authuser=0" 1329 alt="Vietnamese" 1330 class="thumb-sm" 1331 style="object-fit:cover;margin-right:2px"> 1332 <div class="d-none d-sm-block"> <span> Vietnamese</span> <small class="text-uppercase fs-9">vi</small></div> 1333 <i class="fa fa-chevron-down ms-1"></i> 1334 </a> 1335 1336 <div class="dropdown-menu" style="width:170px;padding:0"> 1337 <a class="dropdown-item change-language " 1338 data-lang="en" 1339 data-href="/en/docs-api-v2" 1340 href="/en/docs-api-v2"> 1341 <img src="https://lh3.googleusercontent.com/d/1tkYcEme47Ll1EkbOlluOX2Tyqd2KAKwl=w800?authuser=0" 1342 alt="English" 1343 class="me-2" 1344 style="height:24px;width:auto"> 1345 English 1346 </a> 1347 <a class="dropdown-item change-language active" 1348 data-lang="vi" 1349 data-href="/docs-api-v2" 1350 href="/docs-api-v2"> 1351 <img src="https://lh3.googleusercontent.com/d/1bm8k06ztyxtzAObHS5Dh3eCFsBt1Twou=w800?authuser=0" 1352 alt="Vietnamese" 1353 class="me-2" 1354 style="height:24px;width:auto"> 1355 Vietnamese 1356 </a> 1357 </div> 1358 </li> 1359 1360
1360<script> 1361 document.addEventListener('click', function (e) { 1362 const link = e.target.closest('.change-language'); 1363 if (!link) return; 1364 1365 const href = link.dataset.href || link.getAttribute('href'); 1366 const flagImg = link.querySelector('img'); 1367 const currentFlag = document.getElementById('current-lang-flag'); 1368 1369 //if (currentFlag && flagImg) {currentFlag.src = flagImg.src; 1370 1371 if (href) { 1372 e.preventDefault(); 1373 window.location.href = href; 1374 } 1375 }, {passive: false}); 1376 </script>
1376 1377 1378 1379 <li class="topbar-item" style="max-width: 60vw;"> 1380 <div class="text-end"> 1381 1382 <div class="d-inline-flex flex-nowrap gap-1 justify-content-end align-items-center"> 1383 <a class="btn btn-sm btn-outline-primary text-nowrap px-2" href="https://socialcare.vn/auth/login">ÄÄng nháºp</a> 1384 <a class="btn btn-sm btn-outline-warning text-nowrap px-2" href="https://socialcare.vn/auth/register">ÄÄng ký</a> 1385 </div> 1386 </div> 1387 </li> 1388 1389 1390 </ul><!--end topbar-nav--> 1391 </nav> 1392 <!-- end navbar--> 1393 </div> 1394 </div> 1395 <!-- Top Bar End --> 1396 1397 1398 <div class="modal fade" id="topSearchModal" tabindex="-1" aria-hidden="true"> 1399 <div class="modal-dialog modal-dialog-centered modal-lg"> 1400 <div class="modal-content" style="border:none;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px -15px rgba(31,41,80,.35)"> 1401 <div class="modal-header border-0 pb-1"> 1402 <div class="input-group input-group-lg"> 1403 <span class="input-group-text bg-transparent border-0 pe-1"><i class="iconoir-search"></i></span> 1404 <input type="text" id="topSearchInput" class="form-control border-0 shadow-none" placeholder="Tìm dá»ch vụ..." autocomplete="off"> 1405 <button type="button" class="btn-close align-self-center me-2" data-bs-dismiss="modal" aria-label="Close"></button> 1406 </div> 1407 </div> 1408 <div class="modal-body pt-1" style="max-height:60vh;overflow-y:auto"> 1409 <div id="topSearchResults" class="d-flex flex-column gap-1"></div> 1410 <div id="topSearchEmpty" class="text-center text-muted py-4 d-none">Không tìm thấy dá»ch vụ</div> 1411 </div> 1412 </div> 1413 </div> 1414 </div> 1415 <style> 1416 #topSearchResults .svc-search-item{ transition:background .15s; } 1417 #topSearchResults .svc-search-item:hover{ background:#eef2ff; } 1418 [data-bs-theme="dark"] #topSearchResults .svc-search-item{ color:#e2e8f0 !important; } 1419 [data-bs-theme="dark"] #topSearchResults .svc-search-item:hover{ background:#1e293b; } 1420 </style> 1421
1421<script> 1422 (function(){ 1423 var data=(function(){ 1424 var seen={}, out=[]; 1425 document.querySelectorAll('.startbar a[href*="/service/"]').forEach(function(a){ 1426 var u=a.getAttribute('href')||''; var n=(a.textContent||'').replace(/\s+/g,' ').trim(); 1427 if(!u||!n||seen[u]) return; seen[u]=1; 1428 var p=''; var sub=a.closest('ul'); var pli=sub?sub.closest('li'):null; 1429 if(pli){ var t=pli.querySelector(':scope > a'); if(t){ p=(t.textContent||'').replace(/\s+/g,' ').trim(); } } 1430 out.push({n:n,u:u,p:p}); 1431 }); 1432 return out; 1433 })(); 1434 var DIA=new RegExp('[\\u0300-\\u036f]','g'); 1435 var norm=function(s){ return (s||'').toString().toLowerCase().normalize('NFD').replace(DIA,'').replace(/Ä/g,'d'); }; 1436 var idx=data.map(function(x){ return {x:x, k:norm(x.n)+' '+norm(x.p)}; }); 1437 var inp=document.getElementById('topSearchInput'); 1438 var res=document.getElementById('topSearchResults'); 1439 var emp=document.getElementById('topSearchEmpty'); 1440 function esc(s){ return (s||'').replace(/[&<>"]/g,function(c){return {'&':'&','<':'<','>':'>','"':'"'}[c];}); } 1441 function render(q){ 1442 if(!res) return; 1443 var nq=norm(q).trim(); 1444 var list = !nq ? idx.slice(0,25) : idx.filter(function(o){return o.k.indexOf(nq)>-1;}).slice(0,40); 1445 if(!list.length){ res.innerHTML=''; if(emp) emp.classList.remove('d-none'); return; } 1446 if(emp) emp.classList.add('d-none'); 1447 res.innerHTML = list.map(function(o){ 1448 return '<a href="'+o.x.u+'" class="svc-search-item d-flex align-items-center gap-2 p-2 rounded-3 text-decoration-none text-dark">' 1449 + '<span class="badge bg-primary-subtle text-primary flex-shrink-0">'+esc(o.x.p)+'</span>' 1450 + '<span class="flex-grow-1 text-truncate">'+esc(o.x.n)+'</span>' 1451 + '<i class="iconoir-nav-arrow-right text-muted"></i></a>'; 1452 }).join(''); 1453 } 1454 if(inp){ 1455 inp.addEventListener('input', function(){ render(this.value); }); 1456 var modalEl=document.getElementById('topSearchModal'); 1457 if(modalEl){ modalEl.addEventListener('shown.bs.modal', function(){ inp.value=''; render(''); inp.focus(); }); } 1458 } 1459 })(); 1460 </script>
1460 1461 1462 1463 <style> 1464 .notify-dropdown{ 1465 width:380px; max-width:calc(100vw - 20px); border:none; border-radius:18px; overflow:hidden; 1466 box-shadow:0 22px 60px -15px rgba(31,41,80,.38); padding:0; 1467 } 1468 .notify-head{ padding:14px 16px; background:linear-gradient(135deg,#4f46e5,#7c3aed); color:#fff; } 1469 .notify-head .notify-head-sub{ color:rgba(255,255,255,.85); } 1470 .notify-head-icon{ width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0; } 1471 .notify-close{ width:34px;height:34px;border-radius:10px;border:none;background:rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .15s;flex-shrink:0; } 1472 .notify-close:hover{ background:rgba(255,255,255,.34); } 1473 .notify-body{ max-height:62vh;overflow-y:auto;padding:8px; scrollbar-width:thin; scrollbar-color:#c7cbe6 transparent; overscroll-behavior:contain; } 1474 .notify-body::-webkit-scrollbar{ width:6px; } 1475 .notify-body::-webkit-scrollbar-track{ background:transparent; margin:4px 0; } 1476 .notify-body::-webkit-scrollbar-thumb{ background:linear-gradient(180deg,#a5acf0,#c7b3ee); border-radius:10px; } 1477 .notify-body::-webkit-scrollbar-thumb:hover{ background:linear-gradient(180deg,#8b93ec,#b39ce9); } 1478 [data-bs-theme="dark"] .notify-body{ scrollbar-color:#3b3f6b transparent; } 1479 [data-bs-theme="dark"] .notify-body::-webkit-scrollbar-thumb{ background:#3b3f6b; } 1480 .notify-item{ display:flex;gap:10px;padding:12px;border-radius:12px;transition:background .15s; } 1481 .notify-item:hover{ background:#f3f4ff; } 1482 .notify-dot{ width:9px;height:9px;border-radius:50%;background:#4f46e5;margin-top:6px;flex-shrink:0;box-shadow:0 0 0 3px rgba(79,70,229,.15); } 1483 .notify-text{ font-size:13.5px;font-weight:500;color:#1e293b;line-height:1.45; } 1484 .notify-text :is(p,div){ margin:0; } 1485 .notify-time{ font-size:11px;color:#94a3b8;display:inline-flex;align-items:center;gap:4px;margin-top:5px; } 1486 [data-bs-theme="dark"] .notify-item:hover{ background:#1e293b; } 1487 [data-bs-theme="dark"] .notify-text{ color:#e2e8f0; } 1488 @media (max-width:767.98px){ 1489 .notify-dropdown.show{ 1490 position:fixed!important; inset:0!important; transform:none!important; 1491 width:100vw!important; max-width:100vw!important; height:100vh; height:100dvh; 1492 margin:0!important; border-radius:0!important; z-index:1060; 1493 display:flex!important; flex-direction:column; 1494 } 1495 .notify-dropdown .notify-body{ max-height:none; flex:1 1 auto; } 1496 .notify-head{ padding-top:calc(14px + env(safe-area-inset-top,0px)); } 1497 } 1498 @media (min-width:768px){ .notify-close{ display:none; } } 1499 </style> 1500
1500<script> 1501 function closeNotify(e){ 1502 if(e){ e.preventDefault(); e.stopPropagation(); } 1503 var t=document.getElementById('notifyBell'); 1504 try{ 1505 if(t && window.bootstrap && bootstrap.Dropdown){ 1506 (bootstrap.Dropdown.getInstance(t)||bootstrap.Dropdown.getOrCreateInstance(t)).hide(); 1507 return; 1508 } 1509 }catch(err){} 1510 var m=document.querySelector('.notify-dropdown.show'); 1511 if(m){ m.classList.remove('show'); } 1512 if(t){ t.setAttribute('aria-expanded','false'); t.classList.remove('show'); } 1513 } 1514 </script>
1514 1515 1516 <div class="row pb-3"> 1517 <div class="col-sm-12 d-none"> 1518 <div class="page-title-box d-md-flex justify-content-md-between align-items-center"> 1519 <div class="page-title">Tà i liá»u API V2</div> 1520 <div class="d-none"> 1521 <ol class="breadcrumb mb-0"> 1522 <li class="breadcrumb-item"><a href="https://socialcare.vn">socialcare.vn</a> 1523 </li><!--end nav-item--> 1524 <li class="breadcrumb-item active">Tà i liá»u API V2</li> 1525 </ol> 1526 </div> 1527 </div><!--end page-title-box--> 1528 </div><!--end col--> 1529 </div><!--end row--> 1530 <div class="row mb-4"> 1531 <div class="col-md-12"> 1532 <div class="card"> 1533 <div class="card-body"> 1534 1535 <div class="apidoc"> 1536 <div class="apidoc-hero"> 1537 <div class="apidoc-hero-left"> 1538 <h3 class="apidoc-hero-title"><i class="fa fa-plug me-2"></i>API v2</h3> 1539 <p class="apidoc-hero-sub mb-0">Connect your system to our services with a simple POST API.</p> 1540 </div> 1541 <div class="apidoc-hero-meta"> 1542 <div class="apidoc-meta-row"><span class="apidoc-meta-label">Base URL</span><code>https://socialcare.vn/api/v2</code></div> 1543 <div class="apidoc-meta-row"><span class="apidoc-meta-label">Method</span><code>POST</code> · <code>x-www-form-urlencoded</code></div> 1544 <div class="apidoc-meta-row"><span class="apidoc-meta-label">API Key</span> 1545 <code id="key" class="apidoc-key">Please login to get API Key</code> 1546 </div> 1547 </div> 1548 </div> 1549 1550 <button type="button" class="btn btn-sm btn-primary d-lg-none mb-3 apidoc-nav-toggle"><i class="fa fa-bars me-1"></i>Endpoints</button> 1551 1552 <div class="apidoc-body"> 1553 <aside class="apidoc-sidebar" id="apidocSidebar"> 1554 <div class="apidoc-search"> 1555 <i class="fa fa-search"></i> 1556 <input type="text" id="apidocSearch" autocomplete="off" placeholder="Search endpoint..."> 1557 </div> 1558 <nav class="nav flex-column apidoc-nav" role="tablist"> 1559 <div class="apidoc-group-title">Guide</div> 1560 <a class="nav-link apidoc-link active" data-bs-toggle="tab" role="tab" href="#guide-quickstart">Quickstart</a> 1561 1562 <div class="apidoc-group-title">SMM</div> 1563 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#services">Services</a> 1564 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#balances">Balance</a> 1565 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#add">Add order</a> 1566 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#status">Order status</a> 1567 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#multistatus">Multiple orders status</a> 1568 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#refill">Create refill</a> 1569 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#refills">
1569Create multiple refill</a> 1570 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#refill_status">Refill status</a> 1571 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#refills_status">Multiple refill status</a> 1572 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#createcancel">Create cancel</a> 1573 1574 <div class="apidoc-group-title">Proxy</div> 1575 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#proxy_prices">Get proxy prices</a> 1576 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#buy_proxy">Add order proxy</a> 1577 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#get_proxy">Get proxy</a> 1578 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#get_rotate_proxy">Get rotate proxy</a> 1579 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#get_all_proxy">Get all proxy active</a> 1580 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#renew_proxy">Renew proxy</a> 1581 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#download_package">Download Package</a> 1582 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#change_auth_proxy">Change Auth</a> 1583 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#change_proxy">Change Proxy</a> 1584 1585 <div class="apidoc-group-title">Phần má»m</div> 1586 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#software_products">Danh sách & giá</a> 1587 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#buy_software">Mua giấy phép</a> 1588 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#software_licenses">Giấy phép Äã mua</a> 1589 1590 <div class="apidoc-group-title">Traffic</div> 1591 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_packages">Get Packages</a> 1592 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_widget">Widget Code</a> 1593 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_subcode_create">Sub Code · Create</a> 1594 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_subcode_list">Sub Code · List</a> 1595 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_subcode_delete">Sub Code · Delete</a> 1596 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_create">Create Traffic</a> 1597 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_nocode">Traffic không gắn mã</a> 1598 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_map">Traffic Google Maps</a> 1599 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_update">Update Campaign</a> 1600 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_buymore">Buy More</a> 1601 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_refund">Refund</a> 1602 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_add_key">Add Key</a> 1603 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_edit_key">Edit Key</a> 1604 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_delete_key">Delete Key</a> 1605 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#traffic_detail">Statistic</a> 1606 1607 <div class="apidoc-group-title">Earn money</div> 1608 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#earn-balance">Balance</a> 1609 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#earn-task-types">Task types</a> 1610 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#earn-get-task">Get task</a> 1611 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#earn-submit-task">Submit task</a> 1612 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#earn-cancel-task">Cancel task</a> 1613 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#earn-task-status">Task status</a> 1614 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#free-order">Free order</a> 1615 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#free-proxy">Free proxy</a> 1616 1617 1618 <div class="apidoc-group-title">Facebook missions</div> 1619 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#cross-intro">Overview</a> 1620 1621 <div class="apidoc-group-title">SEO</div> 1622 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#serp">Google SERP lookup</a> 1623 1624 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#serp-map">Map places lookup</a> 1625 1626 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#serp-extra">News · Videos · Images · Shopping</a> 1627 1628 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#verify-email">Email verification</a> 1629 1630 <a class="nav-link apidoc-link" data-bs-toggle="tab" role="tab" href="#api-pricing">Pricing</a> 1631 </nav> 1632 </aside> 1633 1634 <main class="apidoc-main" id="apidocMain"> 1635 <div class="apidoc-content-head">
1636 <span class="apidoc-badge-post">POST</span> 1637 <span class="apidoc-current-title" id="apidocCurrentTitle">Quickstart</span> 1638 </div> 1639 <div class="tab-content apidoc-panes"> 1640 1641 <div class="tab-pane fade show active apidoc-pane" id="guide-quickstart" role="tabpanel"> 1642 <p class="text-muted">All endpoints share one base URL and use POST with form parameters. Authenticate with your API key in every request.</p> 1643 <ol class="apidoc-steps"> 1644 <li><b>Base URL</b> â <code>https://socialcare.vn/api/v2</code></li> 1645 <li><b>Authentication</b> â send parameter <code>key</code> (bound to this domain).</li> 1646 <li><b>Action</b> â <code>action</code> chooses the operation (e.g. earn_balance, add, status).</li> 1647 </ol> 1648 <h6 class="mt-4 mb-2">Example request â cURL</h6> 1649 <div class="bg-light p-3"><pre class="mb-0">curl -X POST "https://socialcare.vn/api/v2" \ 1650 -d "key=YOUR_API_KEY" \ 1651 -d "action=earn_balance"</pre></div> 1652 <h6 class="mt-4 mb-2">Example response</h6> 1653 <div class="bg-light p-3"><pre class="mb-0">{ 1654 "status": "success", 1655 "data": { "balance_earn": 250000, "currency": "VND" } 1656}</pre></div> 1657 <div class="alert alert-warning mt-3 mb-0"> 1658 <b>Errors:</b> <code>{"error":"..."}</code> hoặc <code>{"status":"error","message":"..."}</code>. Common: API KEY INVALID, Insufficient balance. 1659 </div> 1660 </div> 1661 <div class="tab-pane fade apidoc-pane" id="services" role="tabpanel"> 1662 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 1663 <tbody> 1664 <tr class="bg-light"> 1665 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 1666 <td class="fw-bolder" data-lang="Description">Description</td> 1667 </tr> 1668 <tr> 1669 <td>key</td> 1670 <td>API Key </td> 1671 </tr> 1672 <tr> 1673 <td>action</td> 1674 <td>"services"</td> 1675 </tr> 1676 <tr> 1677 <td>extra</td> 1678 <td>Không bắt buá»c. Gá»i <code>extra=1</code> Äá» nháºn thêm mô tả, trạng thái á»n Äá»nh và tên gá»c cá»§a dá»ch vụ.</td> 1679 </tr> 1680 </tbody> 1681 </table> 1682 <p class="text-muted small mb-2">Trưá»ng name trả vá» Äúng tên tiếng Viá»t Äang hiá»n thá» trên web; dá»ch vụ nà o chưa có tên tiếng Viá»t thì trả tên mặc Äá»nh.</p> 1683 <h6 data-lang="Example response">Example response</h6> 1684 <div class="bg-light p-3"> 1685 <pre class="mb-0">[ 1686 { 1687 "service": 1, 1688 "name": "TÄng Lượt Xem Facebook", 1689 "type": "Default", 1690 "category": "Facebook", 1691 "rate": "2.5", 1692 "min": "200", 1693 "max": "10000", 1694 "refill": true, 1695 "cancel": false 1696 }, { 1697 "service": 3, 1698 "name": "TÄng mắt livestream Tiktok Viá»t Nam", 1699 "type": "LiveStream", 1700 "minutes": [15, 30, 60, 90, 120], 1701 "category": "TÄng mắt livestream", 1702 "rate": "0.1245", 1703 "min": "10", 1704 "max": "5000", 1705 "refill": false, 1706 "cancel": false 1707 }, { 1708 "service": 2, 1709 "name": "TÄng View Tiktok", 1710 "type": "Default", 1711 "category": "Tiktok", 1712 "rate": "4", 1713 "min": "10", 1714 "max": "1500", 1715 "refill": false, 1716 "cancel": true 1717 } 1718 ]</pre> 1719 </div> 1720 1721 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5 mt-3"> 1722 <tbody> 1723 <tr class="bg-light"> 1724 <td class="fw-bolder">Trưá»ng</td> 1725 <td class="fw-bolder" data-lang="Description">Description</td> 1726 </tr> 1727 <tr> 1728 <td><span class="badge bg-secondary me-1">không bắt buá»c</span>minutes</td> 1729 <td> 1730 Only present on LiveStream services that have preset minute tiers. It lists the minute values accepted by the 1731 <code>minute</code> parameter of <code>action=add</code>. 1732 Sending fewer minutes than the lowest tier returns an error; any other value is rounded DOWN to the nearest tier (above the highest tier it becomes the highest tier). You are charged for the rounded value. 1733 </td> 1734 </tr> 1735 </tbody> 1736 </table> 1737 1738 <h6 class="mt-4">
1738Example response (<code>extra=1</code>)</h6> 1739 <div class="bg-light p-3"> 1740 <pre class="mb-0">[ 1741 { 1742 "service": 2, 1743 "name": "TÄng View Tiktok", 1744 "type": "Default", 1745 "category": "TÄng Lượt Xem Tiktok", 1746 "rate": "4", 1747 "min": "10", 1748 "max": "1500", 1749 "refill": false, 1750 "cancel": true, 1751 1752 "name_default": "TikTok Views Max: 500M 10M/ Ngà y", 1753 "description": "TÄng lượt xem video TikTok nhanh chóng, sá» lượng lá»n.", 1754 "status": "stable", 1755 "status_text": "á»n Äá»nh", 1756 "stable": true, 1757 "platform": "Tiktok" 1758 } 1759 ]</pre> 1760 </div> 1761 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5 mt-3"> 1762 <tbody> 1763 <tr class="bg-light"> 1764 <td class="fw-bolder">Trưá»ng (<code>extra=1</code>)</td> 1765 <td class="fw-bolder" data-lang="Description">Description</td> 1766 </tr> 1767 <tr> 1768 <td>name_default</td> 1769 <td>Tên gá»c cá»§a dá»ch vụ (trưá»c khi dá»ch sang tiếng Viá»t).</td> 1770 </tr> 1771 <tr> 1772 <td>description</td> 1773 <td>Mô tả dá»ch vụ, Äã bá» thẻ HTML.</td> 1774 </tr> 1775 <tr> 1776 <td>status</td> 1777 <td><code>stable</code>, <code>beta</code>, <code>slow</code>, <code>many_errors</code>, <code>die</code></td> 1778 </tr> 1779 <tr> 1780 <td>status_text</td> 1781 <td>á»n Äá»nh / Thá» nghiá»m / Cháºm / Nhiá»u lá»i / Ngừng hoạt Äá»ng</td> 1782 </tr> 1783 <tr> 1784 <td>stable</td> 1785 <td><code>true</code> chá» khi trạng thái là <code>stable</code></td> 1786 </tr> 1787 <tr> 1788 <td>platform</td> 1789 <td>Facebook, Tiktok, Youtube, Instagramâ¦</td> 1790 </tr> 1791 </tbody> 1792 </table> 1793 </div> 1794 1795 <div class="tab-pane fade" id="add" role="tabpanel"> 1796 <div class="mb-3"> 1797 <label class="form-label">Type</label> 1798 <select id="sl-add-type" class="form-select mx-0"> 1799 <option value="default">Default</option> 1800 <option value="package">Package</option> 1801 <option value="reaction">Reaction</option> 1802 <option value="custom-comments">Custom Comments (or Comments)</option> 1803 <option value="custom-comments">Custom Review</option> 1804 <option value="livestream">Custom Livestream</option> 1805 </select> 1806 </div> 1807 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 1808 <tbody> 1809 <tr class="bg-light"> 1810 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 1811 <td class="fw-bolder" data-lang="Description">Description</td> 1812 </tr> 1813 <tr> 1814 <td>key</td> 1815 <td>API Key </td> 1816 </tr> 1817 <tr> 1818 <td>action</td> 1819 <td>"add"</td> 1820 </tr> 1821 <tr> 1822 <td>service</td> 1823 <td>Service ID</td> 1824 </tr> 1825 <tr> 1826 <td>link</td> 1827 <td>Url</td> 1828 </tr> 1829 <tr class="options default special special1 livestream reaction"> 1830 <td>quantity</td> 1831 <td>Needed quantity</td> 1832 </tr> 1833 <tr class="options custom-comments" style="display: none;"> 1834 <td>comments</td> 1835 <td>Comment list separated by \n</td> 1836 </tr> 1837 <tr class="options livestream"> 1838 <td>minute</td> 1839 <td> 1840 Needed minute â 1841 use one of the tiers listed in the <code>minutes</code> 1842 field of <code>action=services</code>. 1843 Any other value is rounded DOWN to the nearest tier; below the lowest tier the order is rejected. 1844 </td> 1845 </tr> 1846 <tr class="options reaction"> 1847 <td>reaction</td> 1848 <td>Include: "like", "love", "haha", "wow", "sad", "angry"</td> 1849 </tr> 1850 </tbody> 1851 </table> 1852 <h6 data-lang="Example response">Example response</h6> 1853 <div class="bg-light p-3"> 1854 <pre class="mb-0">{ 1855 "order": 99999 1856 }</pre> 1857 </div> 1858 </div> 1859 1860 <div class="tab-pane fade" id="status" role="tabpanel"> 1861 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 1862 <tbody> 1863 <tr class="bg-light"> 1864 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 1865 <td class="fw-bolder" data-lang="Description">Description</td> 1866 </tr> 1867 <tr> 1868 <td>key</td> 1869 <td>API Key </td> 1870 </tr> 1871 <tr> 1872 <td>action</td> 1873 <td>"status"</td> 1874 </tr> 1875 <tr> 1876 <td>order</td> 1877 <td>Order ID</td> 1878 </tr> 1879 </tbody> 1880 </table> 1881 <h6 data-lang="Example response">Example response</h6> 1882 <div class="bg-light p-3"> 1883 <pre class="mb-0">{ 1884 "charge": "2.5", 1885 "start_count": "168", 1886 "status": "Completed", 1887 "remains": "-2" 1888 }</pre> 1889 </div> 1890 <p><strong>Status</strong>: <em>Pending, Processing, In progress, Completed, Partial, 1891 Canceled</em> 1892 </p> 1893 </div> 1894 1895 <div class="tab-pane fade" id="multistatus" role="tabpanel"> 1896 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 1897 <tbody> 1898 <tr class="bg-light"> 1899 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 1900 <td class="fw-bolder" data-lang="Description">Description</td> 1901 </tr> 1902 <tr> 1903 <td>key</td> 1904 <td>API Key </td> 1905 </tr> 1906 <tr> 1907 <td>action</td> 1908 <td>"status"</td> 1909 </tr> 1910 <tr> 1911 <td>orders</td> 1912 <td>Order IDs separated by comma (E.g: 123,456,789) (Limit 100)</td> 1913 </tr> 1914 </tbody> 1915 </table> 1916 <h6 data-lang="Example response">Example response</h6> 1917 <div class="bg-light p-3"> 1918 <pre class="mb-0">{ 1919 "123": { 1920 "charge": "0.27819", 1921 "start_count": "3572", 1922 "status": "Partial", 1923 "remains": "157" 1924 }, 1925 "456": { 1926 "error": "Incorrect order ID" 1927 }, 1928 "789": { 1929 "charge": "1.44219", 1930 "start_count": "234", 1931 "status": "In progress", 1932 "remains": "10" 1933 } 1934 }</pre> 1935 </div> 1936 </div> 1937 1938 <div class="tab-pane fade" id="balances" role="tabpanel"> 1939 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 1940 <tbody> 1941 <tr class="bg-light"> 1942 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 1943 <td class="fw-bolder" data-lang="Description">Description</td> 1944 </tr> 1945 <tr> 1946 <td>key</td> 1947 <td>API Key </td> 1948 </tr> 1949 <tr> 1950 <td>action</td> 1951 <td>"balance"</td> 1952 </tr> 1953 </tbody> 1954 </table> 1955 <h6 data-lang="Example response">Example response</h6> 1956 <div class="bg-light p-3"> 1957 <pre class="mb-0">{ 1958 "balance": "343.22", 1959 "currency": "USD" 1960 }</pre> 1961 </div> 1962 </div> 1963 1964 <div class="tab-pane fade" id="refill" role="tabpanel"> 1965 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 1966 <tbody> 1967 <tr class="bg-light"> 1968 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 1969 <td class="fw-bolder" data-lang="Description">Description</td> 1970 </tr> 1971 <tr> 1972 <td>key</td> 1973 <td>API Key </td> 1974 </tr> 1975 <tr> 1976 <td>action</td> 1977 <td>"refill"</td> 1978 </tr> 1979 <tr> 1980 <td>order</td> 1981 <td>Order ID</td> 1982 </tr> 1983 </tbody> 1984 </table> 1985 <h6 data-lang="Example response">Example response</h6> 1986 <div class="bg-light p-3"> 1987 <pre class="mb-0">{ 1988 "refill": "1" 1989 }</pre> 1990 </div> 1991 </div> 1992 1993 <div class="tab-pane fade" id="refills" role="tabpanel"> 1994 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 1995 <tbody> 1996 <tr class="bg-light"> 1997 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 1998 <td class="fw-bolder" data-lang="Description">Description</td> 1999 </tr> 2000
2000 <tr> 2001 <td>key</td> 2002 <td>API Key </td> 2003 </tr> 2004 <tr> 2005 <td>action</td> 2006 <td>"refill"</td> 2007 </tr> 2008 <tr> 2009 <td>orders</td> 2010 <td>Order IDs separated by comma (E.g: 123,456,789) (Limit 100)</td> 2011 </tr> 2012 </tbody> 2013 </table> 2014 <h6 data-lang="Example response">Example response</h6> 2015 <div class="bg-light p-3"> 2016 <pre class="mb-0">[ 2017 { 2018 "order": 1, 2019 "refill": 1 2020 }, 2021 { 2022 "order": 2, 2023 "refill": 2 2024 }, 2025 { 2026 "order": 3, 2027 "refill": { 2028 "error": "Incorrect order ID" 2029 } 2030 } 2031 ]</pre> 2032 </div> 2033 </div> 2034 2035 <div class="tab-pane fade" id="refill_status" role="tabpanel"> 2036 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2037 <tbody> 2038 <tr class="bg-light"> 2039 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2040 <td class="fw-bolder" data-lang="Description">Description</td> 2041 </tr> 2042 <tr> 2043 <td>key</td> 2044 <td>API Key </td> 2045 </tr> 2046 <tr> 2047 <td>action</td> 2048 <td>"refill_status"</td> 2049 </tr> 2050 <tr> 2051 <td>refill</td> 2052 <td>Refill ID</td> 2053 </tr> 2054 </tbody> 2055 </table> 2056 <h6 data-lang="Example response">Example response</h6> 2057 <div class="bg-light p-3"> 2058 <pre class="mb-0">{ 2059 "status": "Completed" 2060 }</pre> 2061 </div> 2062 </div> 2063 2064 <div class="tab-pane fade" id="refills_status" role="tabpanel"> 2065 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2066 <tbody> 2067 <tr class="bg-light"> 2068 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2069 <td class="fw-bolder" data-lang="Description">Description</td> 2070 </tr> 2071 <tr> 2072 <td>key</td> 2073 <td>API Key </td> 2074 </tr> 2075 <tr> 2076 <td>action</td> 2077 <td>"refill_status"</td> 2078 </tr> 2079 <tr> 2080 <td>refills</td> 2081 <td>Refill IDs separated by comma (E.g: 123,456,789) (Limit 100)</td> 2082 </tr> 2083 </tbody> 2084 </table> 2085 <h6 data-lang="Example response">Example response</h6> 2086 <div class="bg-light p-3"> 2087 <pre class="mb-0">[ 2088 { 2089 "refill": 1, 2090 "status": "Completed" 2091 }, { 2092 "refill": 2, 2093 "status": "Rejected" 2094 }, { 2095 "refill": 3, 2096 "status": { 2097 "error": "Incorrect refill ID" 2098 } 2099 } 2100 ]</pre> 2101 </div> 2102 </div> 2103 2104 <div class="tab-pane fade" id="createcancel" role="tabpanel"> 2105 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2106 <tbody> 2107 <tr class="bg-light"> 2108 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2109 <td class="fw-bolder" data-lang="Description">Description</td> 2110 </tr> 2111 <tr> 2112 <td>key</td> 2113 <td>API Key </td> 2114 </tr> 2115 <tr> 2116 <td>action</td> 2117 <td>"cancel"</td> 2118 </tr> 2119 <tr> 2120 <td>orders</td> 2121 <td>Order IDs separated by comma (E.g: 123,456,789) (Limit 100)</td> 2122 </tr> 2123 </tbody> 2124 </table> 2125 <h6 data-lang="Example response">Example response</h6> 2126 <div class="bg-light p-3"> 2127 <pre class="mb-0">[ 2128 { 2129 "order": 123, 2130 "cancel": { 2131 "error": "Incorrect order ID" 2132 } 2133 }, 2134 { 2135 "order": 456, 2136 "cancel": 1 2137 } 2138 ]</pre> 2139 </div> 2140 </div> 2141 2142 <div class="tab-pane fade apidoc-pane" id="proxy_prices" role="tabpanel"> 2143 <div class="alert alert-info py-2 px-3" style="font-size:13px"> 2144 <b data-lang="Read-only">Read-only</b> â <span data-lang="proxy_prices_desc">lấy bảng giá proxy & báo giá theo loại / sá» lượng / sá» ngà y TRƯá»C khi mua. Không tạo ÄÆ¡n, không trừ tiá»n.
2144</span> 2145 </div> 2146 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2147 <tbody> 2148 <tr class="bg-light"> 2149 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2150 <td class="fw-bolder" data-lang="Description">Description</td> 2151 </tr> 2152 <tr> 2153 <td>key</td> 2154 <td>API Key</td> 2155 </tr> 2156 <tr> 2157 <td>action</td> 2158 <td>"proxy_prices"</td> 2159 </tr> 2160 <tr> 2161 <td>type</td> 2162 <td>Optional â Proxy type: FPT, VNPT, Viettel, 4Gvinaphone, DatacenterA, DatacenterB, DatacenterC, US, V6, GoiViettel, GoiVNPT, GoiFPT, GoiDATACENTER, xoayngay, xoaytuan, xoaythang. Leave empty to get the full price list only.</td> 2163 </tr> 2164 <tr> 2165 <td>quantity</td> 2166 <td>Optional â Quantity (default 1)</td> 2167 </tr> 2168 <tr> 2169 <td>days</td> 2170 <td>Optional â Number of days (default 1)</td> 2171 </tr> 2172 </tbody> 2173 </table> 2174 <div class="apidoc-note"> 2175 <b>Cách tÃnh giá:</b> má»i <code>prices[price_key]</code> có KEY chÃnh là <b>ngưỡng báºc</b> â chá»n ngưỡng <b>lá»n nhất ≤ cÆ¡ sá»</b> 2176 (cÆ¡ sá» = <code>days</code>, riêng <code>V6</code> = <code>quantity</code>; <code>xoay*</code> giá phẳng).<br> 2177 <code>total = unit_price × quantity × days</code> â Äúng bằng sá» tiá»n <code>buy_proxy</code> sẽ trừ. 2178 Giá Äã áp % theo <b>cấp báºc</b> cá»§a API key. 2179 </div> 2180 <h6 data-lang="Example response">Example response</h6> 2181 <div class="bg-light p-3"> 2182 <pre class="mb-0">{ 2183 "status": "success", 2184 "level": "member", 2185 "currency": "VND", 2186 "note": "unit_price = giá 1 proxy / 1 ngà y. total = unit_price * quantity * days.", 2187 "type_map": { 2188 "FPT": { "price_key": "VN", "tier_by": "days" }, 2189 "US": { "price_key": "US", "tier_by": "days" }, 2190 "V6": { "price_key": "V6", "tier_by": "quantity" } 2191 }, 2192 "prices": { 2193 "VN": { "1": 5000, "5": 4500, "10": 4000, "20": 3500, "30": 3000, "45": 2800, "60": 2600, "90": 2400, "120": 2200 }, 2194 "US": { "1": 3000, "5": 2700, "10": 2500, "20": 2300, "30": 2000 }, 2195 "V6": { "1": 500, "100": 450, "500": 400, "1000": 350, "2000": 300 }, 2196 "xoayngay": 20000 2197 }, 2198 "quote": { 2199 "type": "FPT", 2200 "quantity": 10, 2201 "days": 30, 2202 "unit_price": 3000, 2203 "price_per_proxy": 90000, 2204 "total": 900000, 2205 "balance": 5000000, 2206 "enough_balance": true 2207 } 2208 }</pre> 2209 </div> 2210 </div> 2211 <div class="tab-pane fade apidoc-pane" id="buy_proxy" role="tabpanel"> 2212 <div class="mb-3"> 2213 <label class="form-label">Proxy Type</label> 2214 <select id="sl-add-proxy" class="form-select mx-0"> 2215 <option value="v4static">Proxy ipV4 static</option> 2216 <option value="v4package">Proxy ipV4 static package</option> 2217 <!--<option value="v6static">Proxy ipV6 static</option>--> 2218 <option value="v4rotate">Proxy ipV4 rotate</option> 2219 </select> 2220 </div> 2221 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2222 <tbody> 2223 <tr class="bg-light"> 2224 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2225 <td class="fw-bolder" data-lang="Description">Description</td> 2226 </tr> 2227 <tr> 2228 <td>key</td> 2229 <td>API Key </td> 2230 </tr> 2231 <tr> 2232 <td>action</td> 2233 <td>"buy_proxy"</td> 2234 </tr> 2235 <tr> 2236 <td>proxy</td> 2237 <td class="proxies v4
2237static v4package">v4static</td> 2238 <td class="proxies v6static">v6static</td> 2239 <td class="proxies v4rotate">v4rotate</td> 2240 </tr> 2241 <tr class="proxies v4static v4rotate v4package"> 2242 <td>type</td> 2243 <td class="proxies v4static"> 2244 <select> 2245 <option>Viettel</option> 2246 <option>FPT</option> 2247 <option>VNPT</option> 2248 <option>DatacenterA</option> 2249 <option>DatacenterB</option> 2250 <option>DatacenterC</option> 2251 <option>US</option> 2252 <option>4Gvinaphone</option> 2253 </select> 2254 </td> 2255 <td class="proxies v4package"> 2256 <select> 2257 <option>GoiViettel</option> 2258 <option>GoiFPT</option> 2259 <option>GoiVNPT</option> 2260 <option>GoiDATACENTER</option> 2261 </select> 2262 </td> 2263 <td class="proxies v4rotate"> 2264 <select> 2265 <option>xoayngay</option> 2266 <option>xoaytuan</option> 2267 <option>xoaythang</option> 2268 </select> 2269 </td> 2270 </tr> 2271 <tr class="proxies v4static v6static v4rotate"> 2272 <td>quantity</td> 2273 <td>Needed quantity</td> 2274 </tr> 2275 <tr class="proxies v4static v6static v4package"> 2276 <td>days</td> 2277 <td class="proxies v4static v4package">Min 1</td> 2278 <td class="proxies v6static">Min 30</td> 2279 </tr> 2280 <tr class="proxies v4static v6static v4package"> 2281 <td>protocol</td> 2282 <td>"HTTP" or "SOCKS5"</td> 2283 </tr> 2284 <tr class="proxies v4static v4package"> 2285 <td>user</td> 2286 <td>Optional - Custom username for proxy authentication</td> 2287 </tr> 2288 <tr class="proxies v4static v4package"> 2289 <td>password</td> 2290 <td>Optional - Custom password for proxy authentication</td> 2291 </tr> 2292 </tbody> 2293 </table> 2294 <h6 data-lang="Example response">Example response</h6> 2295 <div class="bg-light p-3"> 2296 <pre class="mb-0">{ 2297 "status": "success", 2298 "data": [ 2299 { 2300 "id": 279, 2301 "proxy_type": "Proxy v4 static", 2302 "protocol": "HTTPS", 2303 "data": "206.125.175.230:13271:bUMBYc:YbhrHU", 2304 "data2": "114.256.712.19:13271:bUMBYc:YbhrHU", 2305 "status": "success", 2306 "expired_at": "18-05-2025 22:14:17" 2307 }, 2308 { 2309 "id": 280, 2310 "proxy_type": "Proxy v4 static", 2311 "protocol": "HTTPS", 2312 "data": "14.224.198.65:20693:user20694:AXYAE", 2313 "data2": "114.256.712.19:14221:user20694:AXYAE", 2314 "status": "success", 2315 "expired_at": "18-05-2025 22:14:17" 2316 } 2317 ], 2318 "payment": 1152, 2319 "balance": 965567 2320 }</pre> 2321 </div> 2322 </div> 2323 <div class="tab-pane fade" id="get_proxy" role="tabpanel"> 2324 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2325 <tbody> 2326 <tr class="bg-light"> 2327 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2328 <td class="fw-bolder" data-lang="Description">Description</td> 2329 </tr> 2330 <tr> 2331 <td>key</td> 2332 <td>API Key </td> 2333 </tr> 2334 <tr> 2335 <td>action</td> 2336 <td>"get_proxy"</td> 2337 </tr> 2338 <tr> 2339 <td>proxy_id</td> 2340 <td>Example: 37775</td> 2341 </tr> 2342 </tbody> 2343 </table> 2344 <h6 data-lang="Example response">Example response</h6> 2345 <div class="bg-light p-3"> 2346 <pre class="mb-0">{ 2347 "status": "success", 2348 "order": { 2349 "proxy_id": 37775, 2350 "proxy_type": "Proxy v4 static", 2351 "protocol": "HTTPS", 2352 "data": "172.111.171.99:14288:10md12:123456", 2353 "data2": "114.122.09.99:11218:10md12:123456", 2354 "status": "success", 2355 "expired_at": "18-05-2025 22:14:17" 2356 } 2357 }</pre> 2358 </div> 2359 </div> 2360 <div class="tab-pane fade" id="get_rotate_proxy" role="tabpanel"> 2361 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2362 <tbody> 2363 <tr class="bg-light"> 2364 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2365 <td class="fw-bolder" data-lang="Description">Description</td> 2366 </tr> 2367 <tr> 2368 <td>key</td> 2369 <td>API Key </td> 2370 </tr> 2371 <tr> 2372 <td>action</td> 2373 <td>"get_rotate_proxy"</td> 2374 </tr> 2375 <tr> 2376 <td>key_rotate</td> 2377 <td>Key proxy rotate</td> 2378 </tr> 2379 <tr> 2380 <td>operator</td> 2381 <td> 2382 <select> 2383 <option>Viettel</option> 2384 <option>FPT</option> 2385 <option>VNPT</option> 2386 </select> 2387 </td> 2388 </tr> 2389 <tr> 2390 <td>location</td> 2391 <td> 2392 <select> 2393 <option value="0">Random</option> 2394 <option value="1">Phú Thá»</option> 2395 <option value="2">Tuyên Quang</option> 2396 <option value="3">Hà Ná»i</option> 2397 <option value="4">Hải Dương</option> 2398 <option value="5">Bắc Giang</option> 2399 <option value="6">TP Há» Chà Minh</option> 2400 <option value="7">Tây Ninh</option> 2401 <option value="8">Äá»ng Nai</option> 2402 <option value="9">VÅ©ng Tà u</option> 2403 <option value="10">Bình Dương</option> 2404 <option value="11">Nghá» An</option> 2405 <option value="12">Hà TÄ©nh</option> 2406 <option value="13">Quảng Bình</option> 2407 <option value="14">Quảng Trá»</option> 2408 <option value="15">Huế</option> 2409 <option value="16">Äà Nẵng</option> 2410 <option value="17">VÄ©nh Phúc</option> 2411 <option value="18">Yên Bái</option> 2412 <option value="19">Là o Cai</option> 2413 <option value="20">Lạng SÆ¡n</option> 2414 <option value="21">Thái Nguyên</option> 2415 <option value="22">Hà Nam</option> 2416 <option value="23">Nam Äá»nh</option> 2417 <option value="24">Thái Bình</option> 2418 <option value="25">Hải Phòng</option> 2419 <option value="26">Quảng Ninh</option> 2420 <option value="27">Cà Mau</option> 2421 <option value="28">Kiên Giang</option> 2422 <option value="29">Bạc Liêu</option> 2423 <option value="30">Sóc TrÄng</option> 2424 <option value="31">Háºu Giang</option> 2425 </select> 2426 </td> 2427 </tr> 2428 </tbody> 2429 </table> 2430 <h6 data-lang="Example response">Example response</h6> 2431 <div class="bg-light p-3"> 2432 <pre class="mb-0">{ 2433 "status": "success", 2434 "message": "Proxy nà y sẽ die sau 1021s", 2435 "data": { 2436 "key_rotate": "KFBlsUezBtRMKTmiHdlhHY", 2437 "http": "42.114.164.224:20841:khljtiNj3Kd:fdkm3nbjg45d", 2438 "socks5": "42.114.164.224:30841:khljtiNj3Kd:fdkm3nbjg45d", 2439 "operator": "viettel", 2440 "location": "HaiDuong1", 2441 "expired_at": "18-05-2025 22:14:17" 2442 } 2443 }</pre> 2444 </div> 2445 </div> 2446 <div class="tab-pane fade" id="software_products" role="tabpanel"> 2447 <p class="text-muted mb-3">Lấy danh sách phần má»m Äang bán, các gói và <b>giá Äúng cá»§a website bạn</b>
2447 (Äã cá»ng phần trÄm từng cấp). Gá»i trưá»c khi hiá»n thá» bảng giá cho khách cá»§a bạn.</p> 2448 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2449 <tbody> 2450 <tr class="bg-light"> 2451 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2452 <td class="fw-bolder" data-lang="Description">Description</td> 2453 </tr> 2454 <tr> 2455 <td>key</td> 2456 <td>API Key</td> 2457 </tr> 2458 <tr> 2459 <td>action</td> 2460 <td>"software_products"</td> 2461 </tr> 2462 </tbody> 2463 </table> 2464 <h6 data-lang="Example response">Example response</h6> 2465 <div class="bg-light p-3"> 2466 <pre class="mb-0">{ 2467 "status": "success", 2468 "data": [ 2469 { 2470 "slug": "antidetect-browser", 2471 "name": "XProfile Browser Pro", 2472 "version": "1.0.10", 2473 "plans": [ 2474 { "key": "trial", "name": "Dùng thá» 7 ngà y", "days": 7, "price": 0 }, 2475 { "key": "monthly", "name": "1 tháng", "days": 30, "price": 130000 }, 2476 { "key": "yearly", "name": "1 nÄm", "days": 365, "price": 650000 }, 2477 { "key": "lifetime", "name": "VÄ©nh viá» n", "days": null, "price": 1300000 } 2478 ] 2479 } 2480 ] 2481 }</pre> 2482 </div> 2483 </div> 2484 <div class="tab-pane fade" id="buy_software" role="tabpanel"> 2485 <p class="text-muted mb-3">Mua má»t giấy phép. Tiá»n trừ và o <b>và cá»§a tà i khoản gá»i API</b>. Trả vá» <code>license_key</code> â giao thẳng cho khách cá»§a bạn, khách dán và o mục “Äá»i giấy phép” trong phần má»m là dùng ÄÆ°á»£c.</p> 2486 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2487 <tbody> 2488 <tr class="bg-light"> 2489 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2490 <td class="fw-bolder" data-lang="Description">Description</td> 2491 </tr> 2492 <tr> 2493 <td>key</td> 2494 <td>API Key</td> 2495 </tr> 2496 <tr> 2497 <td>action</td> 2498 <td>"buy_software"</td> 2499 </tr> 2500 <tr> 2501 <td>slug</td> 2502 <td>Mã phần má»m, lấy á» <code>software_products</code>. Và dụ <code>antidetect-browser</code></td> 2503 </tr> 2504 <tr> 2505 <td>plan</td> 2506 <td>Mã gói: <code>trial</code> / <code>monthly</code> / <code>yearly</code> / <code>lifetime</code>. Bá» trá»ng = <code>lifetime</code></td> 2507 </tr> 2508 </tbody> 2509 </table> 2510 <h6 data-lang="Example response">Example response</h6> 2511 <div class="bg-light p-3"> 2512 <pre class="mb-0">{ 2513 "status": "success", 2514 "message": "Mua thà nh công! License Äã ÄÆ°á»£c cấp.", 2515 "license_key": "PX-E09B-C5C9-7CEF-9208", 2516 "download_url": "https://socialcare.vn/software/antidetect-browser/download" 2517 }</pre> 2518 </div> 2519 <div class="alert alert-warning mt-3 mb-0"> 2520 <b>Lưu ý</b> 2521 <ul class="mb-0 mt-2"> 2522 <li>Gói <code>trial</code> chá» cấp <b>má»t lần cho má»i tà i khoản</b> trên má»i phần má»m. Gá»i lần hai trả lá»i.</li> 2523 <li>Không Äá»§ sá» dư thì trả lá»i và <b>không cấp giấy phép</b> â không có trạng thái nợ.</li> 2524 <li>
2524Má»i giấy phép gắn và o <b>má»t máy</b> á» lần kÃch hoạt Äầu. Bán cho hai khách là ngưá»i thứ hai không kÃch hoạt ÄÆ°á»£c.</li> 2525 </ul> 2526 </div> 2527 </div> 2528 <div class="tab-pane fade" id="software_licenses" role="tabpanel"> 2529 <p class="text-muted mb-3">Liá»t kê giấy phép tà i khoản bạn Äã mua. Dùng Äá» Äá»i soát hoặc lấy lại mã Äã cấp cho khách. Tá»i Äa 500 bản ghi, má»i nhất trưá»c.</p> 2530 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2531 <tbody> 2532 <tr class="bg-light"> 2533 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2534 <td class="fw-bolder" data-lang="Description">Description</td> 2535 </tr> 2536 <tr> 2537 <td>key</td> 2538 <td>API Key</td> 2539 </tr> 2540 <tr> 2541 <td>action</td> 2542 <td>"software_licenses"</td> 2543 </tr> 2544 <tr> 2545 <td>slug</td> 2546 <td><i>Không bắt buá»c</i> â lá»c theo má»t phần má»m</td> 2547 </tr> 2548 <tr> 2549 <td>status</td> 2550 <td><i>Không bắt buá»c</i> â lá»c theo trạng thái, và dụ <code>active</code></td> 2551 </tr> 2552 </tbody> 2553 </table> 2554 <h6 data-lang="Example response">Example response</h6> 2555 <div class="bg-light p-3"> 2556 <pre class="mb-0">{ 2557 "status": "success", 2558 "data": [ 2559 { 2560 "license_key": "PX-5DAC-4E20-0189-0E66", 2561 "product": "antidetect-browser", 2562 "plan": "yearly", 2563 "status": "active", 2564 "machine_code": null, 2565 "issued_at": "2026-08-24 18:50:40", 2566 "expires_at": "2027-08-24 18:50:40" 2567 } 2568 ] 2569 }</pre> 2570 </div> 2571 <p class="text-muted mt-3 mb-0"><code>machine_code</code> rá»ng nghÄ©a là <b>chưa ai kÃch hoạt</b> â mã còn nguyên, giao cho khách ÄÆ°á»£c. <code>expires_at</code> rá»ng là gói vÄ©nh viá» n.</p> 2572 </div> 2573 <div class="tab-pane fade" id="get_all_proxy" role="tabpanel"> 2574 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2575 <tbody> 2576 <tr class="bg-light"> 2577 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2578 <td class="fw-bolder" data-lang="Description">Description</td> 2579 </tr> 2580 <tr> 2581 <td>key</td> 2582 <td>API Key </td> 2583 </tr> 2584 <tr> 2585 <td>action</td> 2586 <td>"get_all_proxy"</td> 2587 </tr> 2588 </tbody> 2589 </table> 2590 <h6 data-lang="Example response">Example response</h6> 2591 <div class="bg-light p-3"> 2592 <pre class="mb-0">{ 2593 "status": "success", 2594 "order": [ 2595 { 2596 "id": 251, 2597 "proxy_type": "Proxy v4 static", 2598 "protocol": "HTTP", 2599 "operator": "FPT", 2600 "day": 89, 2601 "data": "206.125.175.230:13271:bUMBYc:YbhrHU", 2602 "data2": "114.256.712.19:13271:bUMBYc:YbhrHU", 2603 "status": "success", 2604 "expired_at": "18-05-2025 22:14:17" 2605 "auto_renew": 0 2606 }, 2607 { 2608 "id": 252, 2609 "proxy_type": "Proxy v4 static", 2610 "protocol": "HTTP", 2611 "operator": "FPT", 2612 "day": 89, 2613 "data": "14.224.198.65:20693:user20694:AXYAE", 2614 "data2": "", 2615 "status": "success", 2616 "expired_at": "18-05-2025 22:14:17" 2617 "auto_renew": 0 2618 }, 2619 { 2620 "id": 253, 2621 "proxy_type": "Proxy v4 static", 2622 "protocol": "HTTP", 2623 "operator": "FPT", 2624 "day": 89, 2625 "data": "172.111.171.99:14288:10md12:123456", 2626 "data2": "114.122.09.99:11218:10md12:123456", 2627 "status": "success", 2628 "expired_at": "18-05-2025 22:14:17" 2629 "auto_renew": 0 2630 } 2631 ] 2632 }</pre> 2633 </div> 2634 </div> 2635 <div class="tab-pane fade" id="renew_proxy" role="tabpanel"> 2636 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2637 <tbody> 2638 <tr class="bg-light"> 2639 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2640 <td class="fw-bolder" data-lang="Description">Description</td> 2641 </tr> 2642 <tr> 2643 <td>key</td> 2644 <td>API Key </td> 2645 </tr> 2646 <tr> 2647 <td>action</td> 2648 <td>"renew_proxy"</td> 2649 </tr> 2650 <tr> 2651 <td>proxy_id</td> 2652 <td>Proxy ID(s). Single: 37775 or Multiple: 123,456,789</td> 2653 </tr> 2654 <tr> 2655 <td>days</td> 2656 <td>Number of days (required)</td> 2657 </tr> 2658 </tbody> 2659 </table> 2660 <h6 data-lang="Example response">Example response</h6> 2661 <div class="bg-light p-3"> 2662 <pre class="mb-0">{ 2663 "status": "success", 2664 "data": [ 2665 { 2666 "proxy_id": 37775, 2667 "proxy_type": "Proxy v4 static", 2668 "protocol": "SOCKS5", 2669 "operator": "FPT", 2670 "data": "172.111.171.99:14288:newuser:newpass", 2671 "data2": "114.122.09.99:11218:newuser:newpass", 2672 "status": "success", 2673 "expired_at": "18-05-2025 22:14:17" 2674 } 2675 ], 2676 "totalPrice": 5000 2677}</pre> 2678 </div> 2679 </div> 2680 <div class="tab-pane fade" id="download_package" role="tabpanel"> 2681 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2682 <tbody> 2683 <tr class="bg-light"> 2684 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2685 <td class="fw-bolder" data-lang="Description">Description</td> 2686 </tr> 2687 <tr> 2688 <td>key</td> 2689 <td>API Key </td> 2690 </tr> 2691 <tr> 2692 <td>action</td> 2693 <td>"download_package"</td> 2694 </tr> 2695 <tr> 2696 <td>proxy_id</td> 2697 <td>Example: 37775</td> 2698 </tr> 2699 <tr> 2700 <td>mode</td> 2701 <td>1 = source proxy, 2 = forward proxy</td> 2702 </tr> 2703 </tbody> 2704 </table> 2705 <h6 data-lang="Example response">Example response</h6> 2706 <div class="bg-light p-3"> 2707 <pre class="mb-0">{ 2708 "status": "success", 2709 "type": "HTTP", 2710 "count": 3, 2711 "list": [ 2712 "1.1.1.1:1010:user:pass", 2713 "2.2.2.2:2020:user:pass", 2714 "3.3.3.3:3030:user:pass" 2715 ] 2716}</pre> 2717 </div> 2718 </div> 2719 <div class="tab-pane fade" id="change_auth_proxy" role="tabpanel"> 2720 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2721 <tbody> 2722 <tr class="bg-light"> 2723 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2724 <td class="fw-bolder" data-lang="Description">Description</td> 2725 </tr> 2726 <tr> 2727 <td>key</td> 2728 <td>API Key</td> 2729 </tr> 2730 <tr> 2731 <td>action</td> 2732 <td>"change_auth_proxy"</td> 2733 </tr> 2734 <tr> 2735 <td>proxy_id</td> 2736 <td>Proxy ID(s). Single: 251 or Multiple: 251,252,253</td> 2737 </tr> 2738 <tr> 2739 <td>protocol</td> 2740 <td>"HTTP" or "SOCKS5" (optional, default: keep current)</td> 2741 </tr> 2742 <tr> 2743 <td>user</td> 2744 <td>New username (optional, default: "random")</td> 2745 </tr> 2746 <tr> 2747 <td>password</td> 2748 <td>New password (optional, default: "random")</td> 2749 </tr> 2750 </tbody> 2751 </table> 2752 <h6 data-lang="Example response">Example response</h6> 2753 <div class="bg-light p-3"> 2754 <pre class="mb-0">{ 2755 "status": "success", 2756 "data": [ 2757 { 2758 "proxy_id": 251, 2759 "proxy_type": "Proxy v4 static", 2760 "protocol": "SOCKS5", 2761 "operator": "FPT", 2762 "data": "172.111.171.99:14288:newuser:newpass", 2763 "data2": "114.122.09.99:11218:newuser:newpass", 2764 "status": "success", 2765 "expired_at": "18-05-2025 22:14:17" 2766 } 2767 ] 2768}</pre> 2769 </div> 2770 </div> 2771 <div class="tab-pane fade" id="change_proxy" role="tabpanel"> 2772 <div class="alert alert-warning" role="alert"> 2773 <i class="fa fa-exclamation-triangle me-2"></i> 2774 <strong>Note:</strong> This action costs 1,500Ä per proxy. 2775 </div> 2776 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2777 <tbody> 2778 <tr class="bg-light"> 2779 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2780 <td class="fw-bolder" data-lang="Description">Description</td> 2781 </tr> 2782 <tr> 2783 <td>key</td> 2784 <td>API Key</td> 2785 </tr> 2786 <tr> 2787 <td>action</td> 2788 <td>"change_proxy"</td> 2789 </tr> 2790 <tr> 2791 <td>proxy_id</td> 2792 <td>Proxy ID(s). Single: 251 or Multiple: 251,252,253</td> 2793 </tr> 2794 <tr> 2795 <td>loaiproxy</td> 2796 <td> 2797 <select> 2798 <option>Viettel</option> 2799 <option>FPT</option> 2800 <option>VNPT</option> 2801 <option>DatacenterB</option> 2802 </select> 2803 </td> 2804 </tr> 2805 <tr> 2806
2806 <td>protocol</td> 2807 <td>"HTTP" or "SOCKS5" (optional, default: keep current)</td> 2808 </tr> 2809 <tr> 2810 <td>user</td> 2811 <td>New username (optional, default: "random")</td> 2812 </tr> 2813 <tr> 2814 <td>password</td> 2815 <td>New password (optional, default: "random")</td> 2816 </tr> 2817 </tbody> 2818 </table> 2819 <h6 data-lang="Example response">Example response</h6> 2820 <div class="bg-light p-3"> 2821 <pre class="mb-0">{ 2822 "status": "success", 2823 "data": [ 2824 { 2825 "proxy_id": 251, 2826 "proxy_type": "Proxy v4 static", 2827 "protocol": "HTTP", 2828 "operator": "VNPT", 2829 "data": "42.115.123.45:12345:user123:pass456", 2830 "data2": "103.82.45.67:12345:user123:pass456", 2831 "status": "success", 2832 "expired_at": "18-05-2025 22:14:17" 2833 } 2834 ] 2835}</pre> 2836 </div> 2837 </div> 2838 <div class="tab-pane fade apidoc-pane" id="traffic_packages" role="tabpanel"> 2839 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2840 <tbody> 2841 <tr class="bg-light"> 2842 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2843 <td class="fw-bolder" data-lang="Description">Description</td> 2844 </tr> 2845 <tr> 2846 <td>key</td> 2847 <td>API Key </td> 2848 </tr> 2849 <tr> 2850 <td>action</td> 2851 <td>"traffic_packages"</td> 2852 </tr> 2853 </tbody> 2854 </table> 2855 <h6 data-lang="Example response">Example response</h6> 2856 <div class="bg-light p-3"> 2857 <pre class="mb-0">{ 2858 "status": "success", 2859 "data": [ 2860 { 2861 "id": 1, 2862 "name": "Package 1", 2863 "price": 1000, 2864 "min": 100, 2865 "max": 10000, 2866 "time": 60, 2867 "type": "default", 2868 "che_do_xac_minh": "ma", 2869 "step": 1 2870 } 2871 ] 2872 }</pre> 2873 <div class="apidoc-note mt-3"> 2874 <b>Lá»c theo <code>che_do_xac_minh</code> Äá» biết gói cần tham sá» gì:</b> 2875 <code>"ma"</code> = gắn mã theo dõi và o web · 2876 <code>"sdt"</code> = không gắn mã, khai mã cá» Äá»nh · 2877 <code>"faq"</code> = không gắn mã, câu há»i tá»± sinh · 2878 <code>"map"</code> = Äá»a Äiá»m Google Maps, không cần website. 2879 Má»i loại có mục riêng á» cá»t trái. 2880 </div> 2881 </div> 2882 </div> 2883 2884 2885 <div class="tab-pane fade apidoc-pane" id="traffic_widget" role="tabpanel"> 2886 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2887 <tbody> 2888 <tr class="bg-light"> 2889 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2890 <td class="fw-bolder" data-lang="Description">Description</td> 2891 </tr> 2892 <tr> 2893 <td>key</td> 2894 <td>API Key </td> 2895 </tr> 2896 <tr> 2897 <td>action</td> 2898 <td>"traffic_widget"</td> 2899 </tr> 2900 <tr> 2901 <td>domain</td> 2902 <td>Không bắt buá»c. Tên miá»n cá»§a chÃnh bạn Äá» phục vụ snippet (giấu nguá»n). Xem lưu ý bên dưá»i.</td> 2903 </tr> 2904 </tbody> 2905 </table> 2906 <p class="text-muted small mb-2">Returns the tracking snippet to paste before the closing body tag on every landing page of your campaign. The code belongs to your account, so one snippet works for all campaigns.</p> 2907 <h6 data-lang="Example response">Example response</h6> 2908 <div class="bg-light p-3"> 2909 <pre class="mb-0">{ 2910 "status": "success", 2911 "data": { 2912 "ref_code": "obEisMjUMf", 2913 "widget_url": "https://socialcare.vn/widget/service.js?key=obEisMjUMf", 2914 "snippet": "<script src=\"https://socialcare.vn/widget/service.js?key=obEisMjUMf\" data-no-optimize=\"1\" data-cfasync=\"false\"></script>" 2915 } 2916 }</pre> 2917 </div> 2918 </div> 2919 2920 2921 <div class="tab-pane fade apidoc-pane" id="traffic_subcode_create" role="tabpanel"> 2922 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2923 <tbody> 2924 <tr class="bg-light"> 2925 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2926 <td class="fw-bolder" data-lang="Description">Description</td> 2927 </tr> 2928 <tr><td>key</td><td>API Key </td></tr> 2929 <tr><td>action</td><td>"traffic_subcode_create"</td></tr> 2930 <tr><td>label</td><td>Không bắt buá»c. Nhãn bạn tá»± Äặt cho khách nà y, Äá» phân b
2930iá»t các mã.</td></tr> 2931 <tr><td>website</td><td>Không bắt buá»c. Website sẽ gắn mã nà y (chá» Äá» ghi chú).</td></tr> 2932 <tr><td>domain</td><td>Không bắt buá»c. Tên miá»n cá»§a chÃnh bạn Äá» phục vụ snippet (giấu nguá»n).</td></tr> 2933 </tbody> 2934 </table> 2935 <p class="text-muted small mb-2">Tạo má»t mã tracking riêng cho má»t khách cá»§a bạn. Má»i mã vẫn thuá»c tà i khoản cá»§a bạn; lượt truy cáºp ÄÆ°á»£c quy vá» chiến dá»ch theo TÃN MIá»N website, nên má»i khách chá» cần mã riêng chứ không cần chiến dá»ch riêng. Giá»i hạn: 500 mã Äang hoạt Äá»ng.</p> 2936 <h6 data-lang="Example response">Example response</h6> 2937 <div class="bg-light p-3"> 2938 <pre class="mb-0">{ 2939 "status": "success", 2940 "data": { 2941 "id": 12, 2942 "label": "Client A", 2943 "website": "https://clienta.com", 2944 "ref_code": "ehnUxcrhuR2L", 2945 "widget_url": "https://track.your-domain.com/widget/service.js?key=ehnUxcrhuR2L", 2946 "snippet": "<script src=\"https://track.your-domain.com/widget/service.js?key=ehnUxcrhuR2L\" data-no-optimize=\"1\" data-cfasync=\"false\"></script>", 2947 "chuyen_tiep": { 2948 "ghi_chu": "...", 2949 "nginx": "...", 2950 "cloudflare_worker": "..." 2951 } 2952 } 2953 }</pre> 2954 </div> 2955 <div class="alert alert-warning mt-3 mb-0 py-2 px-3"> 2956 <b>Giấu nguá»n: lưu ý quan trá»ng</b><br> 2957 Nếu bạn truyá»n "domain", tên miá»n cá»§a bạn phải chuyá»n tiếp CẢ HAI ÄÆ°á»ng â <code>/widget/service.js</code> và <code>/widget.js</code> â 2958 và phải GIá»® NGUYÃN header Origin. Chúng tôi dá»±a và o Origin Äá» biết lượt truy cáºp Äến từ website nà o; nuá»t mất Origin là không quy ÄÆ°á»£c vá» chiến dá»ch nà o cả. Cấu hình nginx và Cloudflare Worker có sẵn trong phần trả vá». 2959 </div> 2960 </div> 2961 2962 <div class="tab-pane fade apidoc-pane" id="traffic_subcode_list" role="tabpanel"> 2963 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2964 <tbody> 2965 <tr class="bg-light"> 2966 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2967 <td class="fw-bolder" data-lang="Description">Description</td> 2968 </tr> 2969 <tr><td>key</td><td>API Key </td></tr> 2970 <tr><td>action</td><td>"traffic_subcode_list"</td></tr> 2971 </tbody> 2972 </table> 2973 <h6 data-lang="Example response">Example response</h6> 2974 <div class="bg-light p-3"> 2975 <pre class="mb-0">{ 2976 "status": "success", 2977 "data": [ 2978 { 2979 "id": 12, 2980 "code": "ehnUxcrhuR2L", 2981 "label": "Client A", 2982 "website": "https://clienta.com", 2983 "status": "active", 2984 "last_used_at": "2026-08-09 17:20:11" 2985 } 2986 ] 2987 }</pre> 2988 </div> 2989 <p class="text-muted small mt-2 mb-0">last_used_at là lần cuá»i có lượt truy cáºp dùng mã nà y â dùng Äá» phát hiá»n mã Äã bá» khách gỡ khá»i web.</p> 2990 </div> 2991 2992 <div class="tab-pane fade apidoc-pane" id="traffic_subcode_delete" role="tabpanel"> 2993 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 2994 <tbody> 2995 <tr class="bg-light"> 2996 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 2997 <td class="fw-bolder" data-lang="Description">Description</td> 2998 </tr> 2999 <tr><td>key</td><td>API Key </td></tr> 3000 <tr><td>action</td><td>"traffic_subcode_delete"</td></tr> 3001 <tr><td><span class="badge bg-danger me-1">bắt buá»c</span>id</td><td>ID cá»§a mã con (lấy từ Sub Code · List)</td></tr> 3002 </tbody> 3003 </table> 3004 <p class="text-muted small mb-2">Tắt mã thay vì xoá dòng, Äá» lượt truy cáºp cÅ© vẫn tra lại ÄÆ°á»£c. Khi Äã tắt, snippet trên web khách sẽ không còn ÄÆ°á»£c tÃnh.</p> 3005 <h6 data-lang="Example response">Example response</h6> 3006 <div class="bg-light p-3"> 3007 <pre class="mb-0">{ 3008 "status": "success", 3009 "message": "Äã tắt mã ehnUxcrhuR2L" 3010 }</pre> 3011 </div> 3012 </div> 3013 3014 <div class="tab-pane fade" id="traffic_create" role="tabpanel"> 3015 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3016 <tbody> 3017 <tr class="bg-light"> 3018 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 3019 <td class="fw-bolder" data-lang="Description">Description</td> 3020 </tr> 3021 <tr> 3022 <td>key</td> 3023 <td>API Key </td> 3024 </tr> 3025 <tr> 3026 <td>action</td> 3027 <td>"traffic_create"</td> 3028 </tr> 3029 <tr> 3030 <td>name</td> 3031 <td><span class="badge bg-danger me-1">bắt buá»c</span>Campaign Name</td> 3032 </tr> 3033 <tr> 3034 <td>traffic_key</td> 3035 <td><span class="badge bg-danger me-1">bắt buá»c</span>Traffic Key</td> 3036 </tr> 3037 <tr> 3038 <td>package_id</td> 3039 <td><span class="badge bg-danger me-1">bắt buá»c</span>Package ID â 3040 chá»n gói có <code>che_do_xac_minh = "sdt"</code> nếu website cá»§a bạn 3041 <b>không gắn ÄÆ°á»£c mã theo dõi</b>. Loại Äó cần thêm và i tham sá» riêng, 3042 xem mục <b>Traffic không gắn mã</b>.<br> 3043 Gói <code>che_do_xac_minh = "map"</code> là <b>traffic cho Äá»a Äiá»m Google Maps</b> 3044 â không cần website. Tham sá» riêng á» mục <b>Traffic Google Maps</b>
3044.</td> 3045 </tr> 3046 <tr> 3047 <td>url</td> 3048 <td><span class="badge bg-danger me-1">bắt buá»c</span> 3049 Website URL â nên truyá»n <b>TÃN MIá»N</b> (vd <code>https://tenmien.com</code>). 3050 Chiến dá»ch phá»§ cả website, còn URL từng trang khai á» từng từ khoá qua 3051 <code>traffic_add_key</code>.<br> 3052 <b>Gói Google Maps thì Bá» TRá»NG</b> â há» thá»ng tá»± dá»±ng Äá»a chá» từ chÃnh Äá»a Äiá»m 3053 bạn chá»n. Gá»i lên cÅ©ng bá» ghi Äè.</td> 3054 </tr> 3055 <tr> 3056 <td>quantity</td> 3057 <td><span class="badge bg-danger me-1">bắt buá»c</span>Quantity</td> 3058 </tr> 3059 <tr> 3060 <td>image</td> 3061 <td><span class="badge bg-secondary me-1">không bắt buá»c</span> 3062 Image URL. <b>Bá» trá»ng thì há» thá»ng tá»± dá»±ng ảnh thẻ kết quả Google</b> cá»§a 3063 trang ÄÃch, khách không phải tá»± lo ảnh nữa.</td> 3064 </tr> 3065 <tr> 3066 <td>zone_1</td> 3067 <td><span class="badge bg-danger me-1">bắt buá»c</span>% Quantity (00:00 - 05:59)</td> 3068 </tr> 3069 <tr> 3070 <td>zone_2</td> 3071 <td><span class="badge bg-danger me-1">bắt buá»c</span>% Quantity (06:00 - 11:59)</td> 3072 </tr> 3073 <tr> 3074 <td>zone_3</td> 3075 <td><span class="badge bg-danger me-1">bắt buá»c</span>% Quantity (12:00 - 17:59)</td> 3076 </tr> 3077 <tr> 3078 <td>keywords</td> 3079 <td><span class="badge bg-secondary me-1">không bắt buá»c</span> 3080 <b>Nháºp từ khoá NGAY trong lá»nh tạo chiến dá»ch</b> â khá»i phải gá»i thêm 3081 <code>traffic_add_key</code> cho từng từ khoá. 3082 Nháºn mảng hoặc chuá»i JSON. Má»i phần tá»: 3083 <code>keyword</code> (bắt buá»c), <code>budget</code> (bắt buá»c, ⥠1), 3084 <code>url_step2</code> và <code>image</code> (không bắt buá»c). 3085 <div class="mt-2">Ãp Äúng các chá»t như <code>traffic_add_key</code>: 3086 tá»ng <code>budget</code> không vượt <code>quantity</code>, không trùng từ khoá, 3087 không vượt trần sá» từ khoá/chiến dá»ch, và <code>url_step2</code> phải 3088 cùng tên miá»n vá»i <code>url</code> chiến dá»ch.</div> 3089 <div class="mt-2 text-muted">Từ khoá nà o sai chá» bá» bá» qua và báo lý do â 3090 chiến dá»ch vẫn ÄÆ°á»£c tạo, gá»i <code>traffic_add_key</code> bù phần thiếu.</div> 3091 </td> 3092 </tr> 3093 </tbody> 3094 </table> 3095 3096 <h6>Example request (kèm từ khoá)</h6> 3097 <div class="bg-light p-3 mb-3"> 3098 <pre class="mb-0">{ 3099 "key": "API_KEY", 3100 "action": "traffic_create", 3101 "name": "Chiến dá»ch demo", 3102 "traffic_key": "abc123", 3103 "package_id": 1, 3104 "url": "https://tenmien.com", 3105 "quantity": 100, 3106 "image": "https://tenmien.com/anh.jpg", 3107 "zone_1": 25, "zone_2": 25, "zone_3": 25, "zone_4": 25, 3108 "keywords": [ 3109 { "keyword": "từ khoá 1", "budget": 20 }, 3110 { "keyword": "từ khoá 2", "budget": 30, "url_step2": "https://tenmien.com/bai-viet" } 3111 ] 3112 }</pre> 3113 </div> 3114 3115 <h6 data-lang="Example response">Example response</h6> 3116 <div class="bg-light p-3"> 3117 <pre class="mb-0">{ 3118 "status": "success", 3119 "message": "Success", 3120 "data": { 3121 "campaign_id": 123, 3122 "balance": 99000, 3123 "campaign": {...}, 3124 "keywords": { 3125 "da_nhan": 2, 3126 "tu_choi": 1, 3127 "chi_tiet": [ 3128 { "id": 1195, "keyword": "từ khoá 1", "budget": 20 } 3129 ], 3130 "loi": [ 3131 { "dong": 2, "keyword": "từ khoá 3", "ly_do": "Vượt sá» lượng Äã mua (còn 50)" } 3132 ] 3133 } 3134 } 3135 }</pre> 3136 </div> 3137 <div class="alert alert-info mt-3 mb-0"> 3138 <b>
3138Chiến dá»ch tạo xong mà chưa chạy?</b> 3139 Há» thá»ng chá» giao nhiá»m vụ cho từ khoá Äã có ảnh minh hoạ trang ÄÃch, mà ảnh nà y 3140 ÄÆ°á»£c dá»±ng ná»n nên mất má»t lúc. Muá»n chạy ngay thì truyá»n <code>image</code> cho 3141 chiến dá»ch â từ khoá chưa có ảnh riêng sẽ dùng ảnh chiến dá»ch. Chắc hÆ¡n nữa thì 3142 truyá»n <code>image</code> cho từng từ khoá. 3143 </div> 3144 <div class="alert alert-secondary mt-2 mb-0"> 3145 <b>Tương thÃch ngược:</b> <code>keywords</code> là tuỳ chá»n. Không truyá»n thì lá»nh 3146 chạy y như trưá»c và <code>traffic_add_key</code> vẫn dùng bình thưá»ng. 3147 </div> 3148 </div> 3149 <div class="tab-pane fade" id="traffic_nocode" role="tabpanel"> 3150 3151 <div class="apidoc-note"> 3152 <b>Loại nà y khác gì loại thưá»ng:</b> website cá»§a bạn <b>không phải gắn mã theo dõi</b>. 3153 Có <b>hai gói</b>, khác nhau á» cách xác minh và luáºt lặp lại â chá»n Äúng gói má»i ra 3154 Äúng thứ bạn cần. 3155 </div> 3156 3157 <h4 class="mt-4">Hai gói khác nhau á» Äâu</h4> 3158 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5 bang-2-goi"> 3159 <tbody> 3160 <tr class="bg-light"> 3161 <td class="fw-bolder">Tiêu chÃ</td> 3162 <td class="fw-bolder">Gói unique user</td> 3163 <td class="fw-bolder">Gói kết hợp</td> 3164 </tr> 3165 <tr> 3166 <td>Xác minh bằng</td> 3167 <td data-goi="Gói unique user"><b>Mã cá» Äá»nh</b> bạn tá»± khai</td> 3168 <td data-goi="Gói kết hợp"><b>Câu há»i há» thá»ng tá»± sinh</b> từ ná»i dung trang, má»i lượt má»t câu khác</td> 3169 </tr> 3170 <tr> 3171 <td>Lặp lại</td> 3172 <td data-goi="Gói unique user">Má»i ngưá»i <b>1 lượt duy nhất cho má»i tên miá»n, trá»n Äá»i</b></td> 3173 <td data-goi="Gói kết hợp">Lặp lại ÄÆ°á»£c sau <b>24 giá»</b>, như traffic nhiá»m vụ thưá»ng</td> 3174 </tr> 3175 <tr> 3176 <td>Tá»c Äá» giao</td> 3177 <td data-goi="Gói unique user">Cháºm â phụ thuá»c sá» ngưá»i má»i và o há» thá»ng má»i ngà y</td> 3178 <td data-goi="Gói kết hợp">Nhanh hÆ¡n hẳn</td> 3179 </tr> 3180 <tr> 3181 <td>Bạn phải chuẩn bá»</td> 3182 <td data-goi="Gói unique user"><code>ma_xac_minh</code> và 2 ảnh</td> 3183 <td data-goi="Gói kết hợp">Chá» <code>anh_serp</code> â phần câu há»i há» thá»ng tá»± lo</td> 3184 </tr> 3185 <tr> 3186 <td>Äiá»u kiá»n trang ÄÃch</td> 3187 <td data-goi="Gói unique user">Có má»t Äoạn chữ cá» Äá»nh Äá» là m mã</td> 3188 <td data-goi="Gói kết hợp">Äá»§ ná»i dung chữ Äá» sinh <b>Ãt nhất 4 câu há»i</b></td> 3189 </tr> 3190 <tr> 3191 <td>Nháºn biết qua API</td> 3192 <td data-goi="Gói unique user"><code>che_do_xac_minh = "sdt"</code></td> 3193 <td data-goi="Gói kết hợp"><code>che_do_xac_minh = "faq"</code></td> 3194 </tr> 3195 </tbody> 3196 </table> 3197 3198 <div class="apidoc-note" style="border-left-color:#dc2626"> 3199 <b>Cả hai gói Äá»u không cam kết thá»i gian á» lại và thao tác trên trang.</b> Không có mã 3200 theo dõi thì há» thá»ng không Äo ÄÆ°á»£c hai chá» sá» Äó, nên không hứa. Cần cam kết hà nh vi 3201 thì dùng loại có gắn mã. 3202 </div> 3203 3204 <h4 class="mt-4">Tham sá» riêng cá»§a loại không gắn mã</h4> 3205 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3206 <tbody> 3207 <tr class="bg-light"> 3208 <td class="fw-bolder">Parameters</td> 3209 <td class="fw-bolder">Description</td> 3210 </tr> 3211 <tr> 3212 <td>ma_xac_minh</td> 3213 <td><span class="badge bg-danger me-1">bắt buá»c â gói unique user</span> 3214 Äoạn chữ ngưá»i là m phải gõ lại. Tá»i thiá»u 4 ký tá»±, tá»i Äa 60.
3215 Há» thá»ng <b>tá»± má» trang ÄÃch và kiá»m tra chuá»i nà y có tháºt</b> trưá»c khi trừ tiá»n.</td> 3216 </tr> 3217 <tr> 3218 <td>anh_serp</td> 3219 <td><span class="badge bg-danger me-1">bắt buá»c</span> 3220 ÄÆ°á»ng dẫn ảnh chụp <b>kết quả cá»§a bạn trên Google</b>. 3221 <b>Phải bôi che tên miá»n</b> trong ảnh, chá» chừa tiêu Äá» và mô tả â thấy tên miá»n 3222 là ngưá»i là m gõ thẳng và o trình duyá»t, không qua Google, lượt Äó mất giá trá».</td> 3223 </tr> 3224 <tr> 3225 <td>anh_vi_tri_ma</td> 3226 <td><span class="badge bg-danger me-1">bắt buá»c â gói unique user</span> 3227 ÄÆ°á»ng dẫn ảnh chụp <b>chá» mã hiá»n thá» trên trang</b>. 3228 <b>Phải che bá»t và i ký tá»±</b> cá»§a mã â ngưá»i là m nhìn ra mã nằm chá» nà o nhưng 3229 vẫn phải má» trang má»i Äá»c Äá»§.</td> 3230 </tr> 3231 <tr> 3232 <td>goi_y_vi_tri</td> 3233 <td><span class="badge bg-secondary me-1">gói unique user</span>Câu chá» ÄÆ°á»ng, tá»i Äa 120 ký tá»±. Và dụ: <code>á» chân trang, mục thông tin doanh nghiá»p</code>. 3234 Bá» trá»ng thì há» thá»ng dùng câu mặc Äá»nh.</td> 3235 </tr> 3236 <tr> 3237 <td>tang_toc</td> 3238 <td><code>1</code> = bá» giá»i hạn theo khung giá», giao hết công suất tá»i khi hết sá» lượng 3239 cá»§a <b>ngà y</b>. Mặc Äá»nh <code>0</code>. Sá» lượng má»i ngà y vẫn giữ nguyên, không vượt.</td> 3240 </tr> 3241 </tbody> 3242 </table> 3243 3244 <h4 class="mt-4">Và dụ</h4> 3245 <div class="bg-light p-3"><pre class="mb-0">POST /api/v2 3246{ 3247 "key": "API_KEY_CUA_BAN", 3248 "action": "traffic_create", 3249 "name": "Chiến dá»ch không gắn mã", 3250 "traffic_key": "abc123", 3251 "package_id": 9, 3252 "url": "https://tenmien.com", 3253 "quantity": 500, 3254 "zone_1": 25, "zone_2": 25, "zone_3": 25, "zone_4": 25, 3255 "ma_xac_minh": "0123456789", 3256 "goi_y_vi_tri": "á» chân trang, mục thông tin doanh nghiá»p", 3257 "anh_serp": "https://cdn-cua-ban.com/anh-ket-qua-google.png", 3258 "anh_vi_tri_ma": "https://cdn-cua-ban.com/anh-vi-tri-ma.png", 3259 "tang_toc": 1 3260}</pre></div> 3261 3262 <h4 class="mt-4">Lá»i thưá»ng gặp</h4> 3263 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3264 <tbody> 3265 <tr class="bg-light"> 3266 <td class="fw-bolder">Thông báo</td> 3267 <td class="fw-bolder">Nguyên nhân và cách sá»a</td> 3268 </tr> 3269 <tr> 3270 <td>Không tìm thấy mã nà y trên trang</td> 3271 <td>Chuá»i bạn khai không có trong ná»i dung chữ cá»§a trang. Có thá» nó Äang nằm trong 3272 ảnh, hoặc chá» hiá»n sau khi trang chạy mã phÃa trình duyá»t. Thêm nó và o chân 3273 trang dưá»i dạng chữ rá»i gá»i lại.</td> 3274 </tr> 3275 <tr> 3276 <td>Mã nà y Äang nằm trong tiêu Äá» hoặc mô tả trang</td> 3277 <td>Google hiá»n thá» sẵn tiêu Äá» và mô tả á» trang kết quả, nên ngưá»i là m trả lá»i 3278 ÄÆ°á»£c mà không cần má» web. Chá»n chuá»i nằm trong phần ná»i dung.</td> 3279 </tr> 3280 <tr> 3281 <td>Mã quá ngắn</td> 3282 <td>Dưá»i 4 ký tá»± thì Äoán bừa quá dá» . Dùng chuá»i dà i hÆ¡n.</td> 3283 </tr> 3284 <tr> 3285 <td>Bạn chưa tải Ảnh 1 / Ảnh 2</td> 3286 <td>Thiếu <code>anh_serp</code> hoặc <code>anh_vi_tri_ma</code>. Hai ảnh nà y bắt buá»c: 3287 tên miá»n bá» giấu có chá»§ ý nên ảnh kết quả Google là thứ duy nhất chá» Äúng trang 3288 cần bấm.</td> 3289 </tr> 3290 <tr> 3291 <td>Trang nà y chá» cho ra N câu há»i dùng ÄÆ°á»£c</td> 3292 <td><span class="badge bg-secondary me-1">gói kết hợp</span> 3293 Trang ÄÃch quá Ãt ná»i dung chữ, hoặc thông tin nằm trong ảnh nên máy không 3294 Äá»c ÄÆ°á»£c. Dùng trang nhiá»u ná»i dung hÆ¡n, hoặc chuyá»n sang gói unique user.</td> 3295 </tr> 3296 <tr> 3297 <td>Không tải ÄÆ°á»£c trang nà y</td> 3298 <td>Máy chá»§ không má» ÄÆ°á»£c <code>url</code> bạn khai. Kiá»m tra ÄÆ°á»ng dẫn, hoặc trang 3299 Äang chặn truy cáºp tá»± Äá»ng.</td> 3300 </tr> 3301 </tbody> 3302 </table> 3303 3304 <div class="apidoc-note" style="border-left-color:#16a34a"> 3305 <b>Ngưá»i là m có công cụ thì không phải gõ lại mã.</b> Ai dùng ứng dụng Android hoặc tiá»n Ãch 3306 Chrome cá»§a há» thá»ng sẽ ÄÆ°á»£c ghi nháºn tá»± Äá»ng bằng hà nh vi tháºt (và o từ Google, thá»i gian á» 3307 lại, Äá» cuá»n trang). Bạn không phải khai báo gì thêm â cùng má»t chiến dá»ch phục vụ ÄÆ°á»£c cả 3308 hai nhóm. 3309 </div> 3310 </div> 3311 3312 3313 3314 <div class="tab-pane fade" id="traffic_map" role="tabpanel"> 3315 <div class="apidoc-note"> 3316 <b>Dà nh cho Äá»a Äiá»m trên Google Maps â không cần website.</b> Ngưá»i là m má» Google Maps,
3317 gõ Äúng từ khoá bạn mua, kéo danh sách rá»i bấm và o Äá»a Äiá»m cá»§a bạn. Äá» chứng minh Äã bấm 3318 và o tháºt, há» phải Äá»c lại <b>sá» Äiá»n thoại</b> hoặc <b>sá» nhà + tên ÄÆ°á»ng</b> Äang hiá»n thá» 3319 trên há» sÆ¡ Äá»a Äiá»m. 3320 </div> 3321 3322 <h4 class="mt-4">Luá»ng gá»i â hai bưá»c</h4> 3323 <div class="apidoc-note" style="border-left-color:#dc2626"> 3324 <b>Không tra ÄÆ°á»£c Äá»a Äiá»m bằng tên riêng.</b> Nguá»n dữ liá»u Google Maps tìm theo 3325 <b>loại hình</b>: <code>"nha khoa"</code> ra 20 kết quả, còn gõ thẳng 3326 <code>"Nha Khoa Äà Nẵng Center"</code> trả vá» <b>0 kết quả</b>. Vì váºy phải tra danh sách 3327 trưá»c rá»i <b>chá»n</b> Äá»a Äiá»m cá»§a bạn trong Äó, chứ không khai tên. 3328 </div> 3329 3330 <p class="mt-3"><b>Bưá»c 1 â tra danh sách Äá»a Äiá»m</b> bằng <code>action = "serp_map"</code> 3331 3332 (xem mục <b>Map places lookup</b> á» cá»t trái). 3333 Lấy <code>place_id</code>
3333 cá»§a Äá»a Äiá»m bạn muá»n chạy.</p> 3334 <div class="bg-light p-3"><pre class="mb-0">POST /api/v2 3335{ 3336 "key": "API_KEY_CUA_BAN", 3337 "action": "serp_map", 3338 "query": "nha khoa", 3339 "location": "Äà Nẵng" 3340} 3341 3342// -> data.places[]: { "place_id": "ChIJ...", "title": "...", "address": "...", "phone": "+8496...", ... }</pre></div> 3343 3344 <p class="mt-3"><b>Bưá»c 2 â tạo chiến dá»ch</b> bằng <code>traffic_create</code>, truyá»n 3345 <code>place_id</code> vừa lấy kèm <b>Äúng</b> từ khoá và khu vá»±c Äã dùng á» bưá»c 1.</p> 3346 3347 <h4 class="mt-4">Tham sá» riêng cá»§a gói Google Maps</h4> 3348 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3349 <tbody> 3350 <tr class="bg-light"> 3351 <td class="fw-bolder">Parameters</td> 3352 <td class="fw-bolder">Description</td> 3353 </tr> 3354 <tr> 3355 <td>map_tu_khoa</td> 3356 <td><span class="badge bg-danger me-1">bắt buá»c</span> 3357 Từ khoá dùng Äá» tra danh sách Äá»a Äiá»m, tá»i Äa 160 ký tá»±. Gõ theo 3358 <b>loại hình</b> (<code>nha khoa</code>, <code>quán cà phê</code>, 3359 <code>sá»a xe máy</code>), không phải tên riêng.</td> 3360 </tr> 3361 <tr> 3362 <td>map_khu_vuc</td> 3363 <td><span class="badge bg-secondary me-1">nên có</span> 3364 Tá»nh/thà nh, tá»i Äa 120 ký tá»±. Bá» trá»ng thì kết quả trải toà n quá»c và rất dá» 3365 không có Äá»a Äiá»m cá»§a bạn. Nếu <code>map_tu_khoa</code> Äã chứa tên khu vá»±c thì 3366 há» thá»ng tá»± bá», không ghép lặp.</td> 3367 </tr> 3368 <tr> 3369 <td>map_place_id</td> 3370 <td><span class="badge bg-danger me-1">bắt buá»c</span> 3371 <code>place_id</code> cá»§a Äá»a Äiá»m, lấy từ <code>serp_map</code>. 3372 Há» thá»ng <b>tra lại</b> Äúng cặp từ khoá + khu vá»±c và phải thấy 3373 <code>place_id</code> nà y trong kết quả thì má»i cho tạo.</td> 3374 </tr> 3375 <tr> 3376 <td>map_kieu</td> 3377 <td><code>"sdt"</code> (mặc Äá»nh) â ngưá»i là m Äiá»n <b>3 sá» cuá»i bá» che</b> cá»§a sá» 3378 Äiá»n thoại. <code>"diachi"</code> â Äiá»n <b>sá» nhà + tên ÄÆ°á»ng</b>.<br> 3379 <b>Nên dùng <code>sdt</code>:</b> sá» Äiá»n thoại chá» hiá»n khi bấm má» há» sÆ¡, còn 3380 Äá»a chá» Äôi khi Google in sẵn ngoà i danh sách. Chá» chá»n <code>diachi</code> khi 3381 Äá»a Äiá»m chưa khai sá» Äiá»n thoại.</td> 3382 </tr> 3383 <tr> 3384 <td>anh_serp</td> 3385 <td><span class="badge bg-secondary me-1">không bắt buá»c</span> 3386 Ảnh minh hoạ Äá»a Äiá»m. Bá» trá»ng thì há» thá»ng <b>tá»± lấy ảnh cá»§a chÃnh Äá»a Äiá»m</b> 3387 trên Google Maps. Chá» bá
3387º¯t buá»c khi Äá»a Äiá»m không có ảnh nà o.</td> 3388 </tr> 3389 <tr> 3390 <td>tang_toc</td> 3391 <td><code>1</code> = bá» giá»i hạn theo khung giá», giao hết công suất tá»i khi hết sá» 3392 lượng cá»§a <b>ngà y</b>. Mặc Äá»nh <code>0</code>.</td> 3393 </tr> 3394 </tbody> 3395 </table> 3396 3397 <div class="apidoc-note" style="border-left-color:#dc2626"> 3398 <b>Sá» Äiá»n thoại và Äá»a chá» do há» thá»ng tá»± Äá»c lại từ Google Maps</b> lúc tạo chiến dá»ch, 3399 không nháºn chữ bạn gá»i lên. Äó là Äáp án cá»§a nhiá»m vụ â Äá» phÃa gá»i API Äặt ÄÆ°á»£c thì 3400 khai sai má»t ký tá»± là má»i ngưá»i là m Äá»c Äúng trên Maps Äá»u bá» chấm trượt. 3401 </div> 3402 3403 <h4 class="mt-4">Và dụ</h4> 3404 <div class="bg-light p-3"><pre class="mb-0">POST /api/v2 3405{ 3406 "key": "API_KEY_CUA_BAN", 3407 "action": "traffic_create", 3408 "name": "Nha khoa Äà Nẵng - Maps", 3409 "traffic_key": "abc123", 3410 "package_id": 10, 3411 "quantity": 500, 3412 "zone_1": 25, "zone_2": 25, "zone_3": 25, "zone_4": 25, 3413 "map_tu_khoa": "nha khoa", 3414 "map_khu_vuc": "Äà Nẵng", 3415 "map_place_id": "ChIJ-07EesYZQjER8Ty4kR4dV-Y", 3416 "map_kieu": "sdt", 3417 "keywords": [ 3418 { "keyword": "nha khoa Äà nẵng", "budget": 100 }, 3419 { "keyword": "trá»ng rÄng implant Äà nẵng", "budget": 100 } 3420 ] 3421}</pre></div> 3422 3423 <h4 class="mt-4">Từ khoá phải ra ÄÆ°á»£c Äá»a Äiá»m</h4> 3424 <p>Má»i giá» há» thá»ng tra lại 20 kết quả Maps cá»§a từng từ khoá. Từ khoá <b>không thấy</b> Äá»a 3425 Äiá»m cá»§a bạn sẽ bá» cảnh báo, và <b>trượt hai lần liên tiếp thì tạm dừng</b> â ngưá»i là m 3426 cuá»n cả ngà y cÅ©ng không tìm ra thì nháºn viá»c rá»i bá», tiá»n nằm chết trong chiến dá»ch. 3427 Từ khoá tá»± chạy lại khi Äá»a Äiá»m lên hạng. Xem trạng thái qua 3428 <code>traffic_detail</code>.</p> 3429 3430 <h4 class="mt-4">Lá»i thưá»ng gặp</h4> 3431 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3432 <tbody> 3433 <tr class="bg-light"> 3434 <td class="fw-bolder">Thông báo</td> 3435 <td class="fw-bolder">Nguyên nhân và cách sá»a</td> 3436 </tr> 3437 <tr> 3438 <td>Google Maps không trả vá» Äá»a Äiá»m nà o cho từ khoá â¦</td> 3439 <td>Bạn Äang tra bằng <b>tên riêng</b> cá»§a Äá»a Äiá»m. Äá»i sang từ khoá theo loại 3440 hình rá»i tra lại.</td> 3441 </tr> 3442 <tr> 3443 <td>
3443Äá»a Äiá»m bạn chá»n không còn trong kết quả cá»§a từ khoá nà y</td> 3444 <td><code>map_place_id</code> không khá»p cặp <code>map_tu_khoa</code> + 3445 <code>map_khu_vuc</code> bạn gá»i. Gá»i lại <code>serp_map</code> vá»i Äúng cặp Äó 3446 rá»i lấy <code>place_id</code> má»i.</td> 3447 </tr> 3448 <tr> 3449 <td>⦠chưa khai sá» Äiá»n thoại trên Google Maps</td> 3450 <td>Äá»a Äiá»m không có sá» nên không là m Äá» bà i <code>sdt</code> ÄÆ°á»£c. Bá» sung sá» và o 3451 há» sÆ¡ Äá»a Äiá»m, hoặc chuyá»n <code>map_kieu = "diachi"</code>.</td> 3452 </tr> 3453 <tr> 3454 <td>Äá»a chỠ⦠không có sá» nhà </td> 3455 <td>Äá» bà i <code>diachi</code> cần sá» nhà ; Äá»a chá» chá» có tên ÄÆ°á»ng thì ngưá»i là m 3456 Äá»c ngoà i danh sách kết quả là trả lá»i ÄÆ°á»£c, không chứng minh ÄÆ°á»£c Äã bấm và o.</td> 3457 </tr> 3458 <tr> 3459 <td>Chưa tra ÄÆ°á»£c Äá»a Äiá»m ngay lúc nà y</td> 3460 <td>Nguá»n tra cứu Äang lá»i hoặc quá tải. <b>Chưa trừ tiá»n</b> â gá»i lại sau Ãt phút.</td> 3461 </tr> 3462 </tbody> 3463 </table> 3464 3465 <div class="apidoc-note" style="border-left-color:#b45309"> 3466 <b>Má»i ngưá»i chá» là m 1 lượt cho má»i Äá»a Äiá»m, trá»n Äá»i.</b> Sá» Äiá»n thoại và Äá»a chá» là 3467 thông tin cá» Äá»nh, biết má»t lần là má»i lượt sau không còn giá trá». Vì váºy tá»c Äá» giao phụ 3468 thuá»c sá» ngưá»i má»i và o há» thá»ng má»i ngà y, và <b>không cam kết</b> thá»i gian á» lại hay thao 3469 tác trong há» sÆ¡ Äá»a Äiá»m â trên Google Maps không gắn ÄÆ°á»£c mã Äo. 3470 </div> 3471 </div> 3472 3473 <div class="tab-pane fade" id="traffic_update" role="tabpanel"> 3474 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3475 <tbody> 3476 <tr class="bg-light"> 3477 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 3478 <td class="fw-bolder" data-lang="Description">Description</td> 3479 </tr> 3480 <tr> 3481 <td>key</td> 3482 <td>API Key </td> 3483 </tr> 3484 <tr> 3485 <td>action</td> 3486 <td>"traffic_update"</td> 3487 </tr> 3488 <tr> 3489 <td>id</td> 3490 <td>Campaign ID</td> 3491 </tr> 3492 <tr> 3493 <td>name</td> 3494 <td>Campaign Name</td> 3495 </tr> 3496 <tr> 3497 <td>image</td> 3498 <td>Image URL</td> 3499 </tr> 3500 <tr> 3501 <td>zone_1</td> 3502 <td>% Quantity (00:00 - 05:59)</td> 3503 </tr> 3504 <tr> 3505 <td>zone_2</td> 3506 <td>% Quantity (06:00 - 11:59)</td> 3507 </tr> 3508 <tr> 3509 <td>zone_3</td> 3510 <td>% Quantity (12:00 - 17:59)</td> 3511 </tr> 3512 </tbody> 3513 </table> 3514 <h6 data-lang="Example response">Example response</h6> 3515 <div class="bg-light p-3"> 3516 <pre class="mb-0">{ 3517 "status": "success", 3518 "message": "Success" 3519 }</pre> 3520 </div> 3521 </div> 3522 <div class="tab-pane fade" id="traffic_buymore" role="tabpanel"> 3523 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3524 <tbody> 3525 <tr class="bg-light"> 3526 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 3527 <td class="fw-bolder" data-lang="Description">Description</td> 3528 </tr> 3529 <tr> 3530 <td>key</td> 3531 <td>API Key </td> 3532 </tr> 3533 <tr> 3534 <td>action</td> 3535 <td>"traffic_buymore"</td> 3536 </tr> 3537 <tr> 3538 <td>id</td> 3539 <td>Campaign ID</td> 3540 </tr> 3541 <tr> 3542 <td>quantity</td> 3543 <td>Quantity to buy more</td> 3544 </tr> 3545 </tbody> 3546 </table> 3547 <h6 data-lang="Example response">Example response</h6> 3548 <div class="bg-light p-3"> 3549 <pre class="mb-0">{ 3550 "status": "success", 3551 "message": "Success" 3552 }</pre> 3553 </div> 3554 </div> 3555 <div class="tab-pane fade" id="traffic_refund" role="tabpanel"> 3556 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3557 <tbody> 3558 <tr class="bg-light"> 3559 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 3560 <td class="fw-bolder" data-lang="Description">Description</td> 3561 </tr> 3562 <tr> 3563 <td>key</td> 3564 <td>API Key </td> 3565 </tr> 3566 <tr> 3567 <td>action</td> 3568 <td>"traffic_refund"</td> 3569 </tr> 3570 <tr> 3571 <td>id</td> 3572 <td>Campaign ID</td> 3573 </tr> 3574 </tbody> 3575 </table> 3576 <h6 data-lang="Example response">Example response</h6> 3577 <div class="bg-light p-3"> 3578 <pre class="mb-0">{ 3579 "status": "success", 3580 "message": "Success" 3581 }</pre> 3582 </div> 3583 </div> 3584 <div class="tab-pane fade" id="traffic_add_key" role="tabpanel"> 3585 <div class="alert alert-info mb-3"> 3586 Muá»n tạo chiến dá»ch và từ khoá trong <b>má»t lá»nh duy nhất</b>? Dùng tham sá» 3587 <code>keywords</code> cá»§a <b>Create Traffic</b>. Lá»nh nà y vẫn giữ nguyên Äá» thêm 3588 từ khoá cho chiến dá»ch Äã có. 3589 </div> 3590 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3591 <tbody> 3592 <tr class="bg-light"> 3593 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 3594 <td class="fw-bolder" data-lang="Description">Description</td> 3595 </tr> 3596 <tr> 3597 <td>key</td> 3598 <td>API Key </td> 3599 </tr> 3600 <tr> 3601 <td>action</td> 3602 <td>"traffic_add_key"</td> 3603 </tr> 3604 <tr> 3605 <td>campaign_id</td> 3606 <td>Campaign ID</td> 3607 </tr> 3608 <tr> 3609 <td>keyword</td> 3610 <td>Keyword (if creating new)</td> 3611 </tr> 3612 <tr> 3613 <td>budget</td> 3614 <td>Budget (traffic/day) â sá» lượt má»i ngà y cho RIÃNG từ khoá nà y. 3615 Tá»ng budget các từ khoá không ÄÆ°á»£c vượt <code>quantity</code> cá»§a chiến dá»ch.</td> 3616 </tr> 3617 <tr> 3618 <td>url_step2</td> 3619 <td> 3620 <b>Gói 2 bưá»c:</b> <span class="badge bg-danger me-1">bắt buá»c</span> URL trang thứ hai.<br> 3621 <b>Gói 1 bưá»c:</b> <span class="badge bg-secondary me-1">không bắt buá»c</span> 3622 URL trang riêng cá»§a từ khoá nà y. Phải <b>cùng tên miá»n</b>
3622 vá»i chiến dá»ch. 3623 Dùng Äá» <b>chá» ÄÆ°á»ng cho ngưá»i là m</b> và Äá» dá»±ng ảnh kết quả Google cá»§a từ khoá â 3624 <b>không rà ng buá»c</b>: ngưá»i là m và o từ Google nên có thá» rÆ¡i và o trang khác cùng 3625 website, trưá»ng hợp Äó vẫn ÄÆ°á»£c cấp mã bình thưá»ng. 3626 </td> 3627 </tr> 3628 <tr> 3629 <td>image</td> 3630 <td><span class="badge bg-secondary me-1">không bắt buá»c</span> 3631 Ảnh hiá»n thá» trên Google cá»§a riêng từ khoá nà y. Bá» trá»ng thì há» thá»ng 3632 <b>tá»± dá»±ng ảnh thẻ kết quả Google</b> cá»§a Äúng cặp (từ khoá, URL) á» trên; 3633 dá»±ng không ÄÆ°á»£c thì dùng ảnh chiến dá»ch.</td> 3634 </tr> 3635 <tr> 3636 <td>key_id</td> 3637 <td>Keyword ID (if updating)</td> 3638 </tr> 3639 <tr> 3640 <td>status</td> 3641 <td>Status (active/paused) (if updating)</td> 3642 </tr> 3643 </tbody> 3644 </table> 3645 <h6 data-lang="Example response">Example response</h6> 3646 <div class="bg-light p-3"> 3647 <pre class="mb-0">{ 3648 "status": "success", 3649 "message": "Success" 3650 }</pre> 3651 </div> 3652 <div class="alert alert-warning mt-3 mb-0 py-2 px-3"> 3653 <b>Cách dùng khuyến nghá»:</b> tạo <b>má»t</b> chiến dá»ch cho cả tên miá»n 3654 (<code>traffic_create</code> vá»i <code>url</code> = tên miá»n, bá» trá»ng <code>image</code>), 3655 rá»i gá»i <code>traffic_add_key</code> nhiá»u lần â má»i từ khoá kèm 3656 <code>url_step2</code> (trang riêng) và <code>budget</code> (lượt/ngà y). 3657 Không cần tạo má»i URL má»t chiến dá»ch. 3658 </div> 3659 </div> 3660 <div class="tab-pane fade" id="traffic_edit_key" role="tabpanel"> 3661 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3662 <tbody> 3663 <tr class="bg-light"> 3664 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 3665 <td class="fw-bolder" data-lang="Description">Description</td> 3666 </tr> 3667 <tr> 3668 <td>key</td> 3669 <td>API Key </td> 3670 </tr> 3671 <tr> 3672 <td>action</td> 3673 <td>"traffic_edit_key"</td> 3674 </tr> 3675 <tr> 3676 <td>campaign_id</td> 3677 <td>Campaign ID</td> 3678 </tr> 3679 <tr> 3680 <td>key_id</td> 3681 <td>Keyword ID (to edit)</td> 3682 </tr> 3683 <tr> 3684 <td>keyword</td> 3685 <td>Keyword</td> 3686 </tr> 3687 <tr> 3688 <td>budget</td> 3689 <td>Limit / Day</td> 3690 </tr> 3691 </tbody> 3692 </table> 3693 <h6 data-lang="Example response">Example response</h6> 3694 <div class="bg-light p-3"> 3695 <pre class="mb-0">{ 3696 "status": "success", 3697 "message": "Success" 3698 }</pre> 3699 </div> 3700 </div> 3701 <div class="tab-pane fade" id="traffic_delete_key" role="tabpanel"> 3702 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3703 <tbody> 3704 <tr class="bg-light"> 3705 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 3706 <td class="fw-bolder" data-lang="Description">Description</td> 3707 </tr> 3708 <tr> 3709 <td>key</td> 3710 <td>API Key </td> 3711 </tr> 3712 <tr> 3713 <td>action</td> 3714 <td>"traffic_delete_key"</td> 3715 </tr> 3716 <tr> 3717 <td>id</td> 3718 <td>Keyword ID</td> 3719 </tr> 3720 </tbody> 3721 </table> 3722 <h6 data-lang="Example response">Example response</h6> 3723 <div class="bg-light p-3"> 3724 <pre class="mb-0">{ 3725 "status": "success", 3726 "message": "Success" 3727 }</pre> 3728 </div> 3729 </div> 3730 <div class="tab-pane fade" id="traffic_detail" role="tabpanel"> 3731 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3732 <tbody> 3733 <tr class="bg-light"> 3734 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 3735 <td class="fw-bolder" data-lang="Description">Description</td> 3736 </tr> 3737 <tr> 3738 <td>key</td> 3739 <td>API Key </td> 3740 </tr> 3741 <tr> 3742 <td>action</td> 3743 <td>"traffic_detail"</td> 3744 </tr> 3745 <tr> 3746 <td>id</td> 3747 <td>Campaign ID</td> 3748 </tr> 3749 <tr> 3750 <td>yearmonth</td> 3751 <td>Optional: format Y-m (e.g. 2023-10)</td> 3752 </tr> 3753 </tbody> 3754 </table> 3755 <h6 data-lang="Example response">Example response</h6> 3756 <div class="bg-light p-3"> 3757 <pre class="mb-0">{ 3758 "status": "success", 3759 "data": { 3760 "campaign": {...}, 3761 "package": {...}, 3762 "daily": { 3763 "2023-10-01": { 3764 "budget": 100, 3765 "hits": 50, 3766 "spent": 5000 3767 }, 3768 ... 3769 }, 3770 "current_ym": "2023-10" 3771 } 3772 }</pre> 3773 </div> 3774 </div> 3775 3776 3777 <div class="tab-pane fade apidoc-pane" id="earn-balance" role="tabpanel"> 3778 <div class="alert alert-info py-2 mb-3"> 3779 <b>Earn money</b> â Account must be verified (KYC) to receive tasks. <b>type</b>: <code>review_map</code> | <code>report</code> | <code>seeding</code> | <code>traffic</code>. <code>traffic</code> requires Vietnam IP & no proxy/VPN; the pass code is generated only by a real browser visit. 3780 </div> 3781 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3782 <tbody> 3783 <tr class="bg-light"><td class="fw-bolder" data-lang="Parameters">Parameters</td><td class="fw-bolder" data-lang="Description">Description</td></tr> 3784 <tr><td>key</td><td>API Key</td></tr> 3785 <tr><td>action</td><td>"earn_balance"</td></tr> 3786 </tbody> 3787 </table> 3788 <h6 data-lang="Example response">Example response</h6> 3789 <div class="bg-light p-3"><pre class="mb-0">{ 3790 "status": "success", 3791 "data": { 3792 "balance_earn": 250000, 3793 "balance_commission": 80000, 3794 "total_earn": 1250000, 3795 "total_commission": 300000, 3796 "total_withdraw": 900000, 3797 "currency": "VND" 3798 } 3799}</pre></div> 3800 </div> 3801 3802 <div class="tab-pane fade apidoc-pane" id="earn-task-types" role="tabpanel"> 3803 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3804 <tbody> 3805 <tr class="bg-light"><td class="fw-bolder" data-lang="Parameters">Parameters</td><td class="fw-bolder" data-lang="Description">Description</td></tr> 3806 <tr><td>key</td><td>API Key</td></tr> 3807 <tr><td>action</td><td>"earn_task_types"</td></tr> 3808 </tbody> 3809 </table> 3810 <h6 data-lang="Example response">Example response</h6> 3811 <div class="bg-light p-3"><pre class="mb-0">{ 3812 "status": "success", 3813 "data": [ 3814 { "type": "review_map", "label": "Review Map", "enabled": true, "pay_per_task": 5000 }, 3815 { "type": "report", "label": "Báo lá»i Review Map", "enabled": true, "pay_per_task": 3000 }, 3816 { "type": "seeding", "label": "Nhiá»m vụ Seeding", "enabled": true, "pay_per_task": null }, 3817 { "type": "traffic", "label": "Nhiá»m vụ Traffic", "enabled": false, "pay_per_task": null } 3818 ], 3819 "verified": true 3820}</pre></div> 3821 </div> 3822 3823 <div class="tab-pane fade apidoc-pane" id="earn-get-task" role="tabpanel"> 3824 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3825 <tbody> 3826 <tr class="bg-light"><td class="fw-bolder" data-lang="Parameters">Parameters</td><td class="fw-bolder" data-lang="Description">Description</td></tr> 3827 <tr><td>key</td><td>API Key</td></tr> 3828 <tr><td>action</td><td>"earn_get_task"</td></tr> 3829 <tr><td>type</td><td>review_map | report | seeding | traffic</td></tr> 3830 <tr><td>platform</td><td>Tùy chá»n â sub-filter, meaning depends on <code>type</code>:<br> ⢠<code>type=seeding</code> â <code>facebook</code>, <code>tiktok</code>, <code>youtube</code>â¦<br> ⢠<code>type=traffic</code> â <b><code>earn</code></b> (paid tasks â DEFAULT if omitted), <code>free</code> (free-buff tasks), <code>proxy</code>, <code>wheel</code><br><span style="color:#b45309">Leaving it empty on a traffic call returns PAID tasks. To get the free-buff tasks you see on the website, send <code>platform=free</code>.</span></td></tr> 3831 <tr class="table-warning"><td>user_ip</td><td><b>traffic: REQUIRED</b> â the worker's real public IP (the one their browser will open the website with)</td></tr> 3832 <tr class="table-warning"><td>user_agent</td><td><b>traffic: REQUIRED</b> â the worker's browser User-Agent, copied verbatim</td></tr> 3833 </tbody> 3834 </table> 3835 <div class="alert alert-warning py-2 px-3 mb-3"><small> 3836 <b>Traffic tasks are bound to the worker's IP and browser.</b> The widget on the target website only shows the "LẤY MÃ" button when it finds a pending task whose <code>ip</code> and <code>user_agent</code> match the visit exactly. You call this API from your server, so we cannot detect them â send <code>user_ip</code> and <code>user_agent</code> of the worker, otherwise the button never appears and the task simply expires. 3837 </small></div> 3838 <h6 data-lang="Example response">Example response</h6> 3839 <div class="bg-light p-3"><pre class="mb-0">{ 3840 "status": "success", 3841 "message": "Get Mission Successful", 3842 "data": { 3843 "id": 12345, 3844 "status": "pending", 3845 "place_name": "ABC Coffee", 3846 "address": "12 Lê Lợi, Q1, HCM", 3847 "link": "https://maps.google.com/...", 3848 "review": "Quán Äẹp, phục vụ tá»t!", 3849 "stars": 5, 3850 "money": 5000 3851 } 3852}</pre></div> 3853 <small class="text-muted">The data object differs by type (review_map/report/seeding/traffic). Read money for the pay of this task.</small> 3854 3855 <h6 class="mt-3">Và dụ phản há»i â <code>type=traffic</code></h6> 3856 <div class="bg-light p-3"><pre class="mb-0">{ 3857 "status": "success", 3858 "message": "Nháºn nhiá»m vụ thà nh công", 3859 "data": { 3860 "id": 204107,
3861 "keyword": "sá»a máy lạnh thá»§ Äức", 3862 "url_keyword": "https://tenmien.com/dich-vu/sua-may-lanh-thu-duc", 3863 "image": "https://drive.google.com/thumbnail?id=...&sz=w600", 3864 "name": "Chiến dá»ch Äiá»n lạnh", 3865 "pay": 680, 3866 "time": 60, 3867 "status": "pending" 3868 } 3869}</pre></div> 3870 <div class="alert alert-info py-2 px-3 mt-2 mb-0"><small> 3871 <b>Má»i:</b> <code>url_keyword</code> là trang <b>nên</b> và o cho từ khoá nà y â hãy hiá»n thá» cho ngưá»i là m 3872 Äá» há» bấm Äúng kết quả. <b>Không bắt buá»c:</b> ngưá»i là m và o từ Google nên có thá» rÆ¡i và o trang khác, 3873 miá» n <b>cùng tên miá»n</b> là vẫn ÄÆ°á»£c cấp mã. Rá»ng nghÄ©a là không có trang gợi ý.<br> 3874 <code>image</code> là ảnh thẻ kết quả Google cá»§a Äúng từ khoá Äó â cho ngưá»i là m xem Äá» biết 3875 phải bấm và o kết quả nà o trên trang tìm kiếm. 3876 </small></div> 3877 <h6 class="mt-3" data-lang="No task available">No task available</h6> 3878 <div class="bg-light p-3"><pre class="mb-0">{ 3879 "status": "error", 3880 "message": "Hiá»n tại Äã hết nhiá»m vụ...", 3881 "chan_doan": { 3882 "ten_mien_dang_goi": "viraly.vn", 3883 "lay_nhiem_vu_tu": "viraly.vn", 3884 "chien_dich_con_luot": 0, 3885 "khung_gio": "zone_1", 3886 "ip_nguoi_lam": "27.72.88.99", 3887 "ip_nay_da_dung": 0, 3888 "chu_ky_ngay": 1, 3889 "goi_y": "..." 3890 } 3891}</pre></div> 3892 <small class="text-muted">traffic only â when no task is returned, <code>chan_doan</code> tells you which gate blocked it. <code>chien_dich_con_luot: 0</code> means you are calling a domain that has no running campaign.</small> 3893 </div> 3894 3895 <div class="tab-pane fade apidoc-pane" id="earn-submit-task" role="tabpanel"> 3896 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3897 <tbody> 3898 <tr class="bg-light"><td class="fw-bolder" data-lang="Parameters">Parameters</td><td class="fw-bolder" data-lang="Description">Description</td></tr> 3899 <tr><td>key</td><td>API Key</td></tr> 3900 <tr><td>action</td><td>"earn_submit_task"</td></tr> 3901 <tr><td>type</td><td>review_map | report | seeding | traffic</td></tr> 3902 <tr><td>id</td><td>Task ID from get task</td></tr> 3903 <tr><td>proof</td><td>review_map: Google review URL · report: report URL · traffic: pass code · seeding: optional confirmation URL</td></tr> 3904 <tr><td>images[]</td><td>seeding â array of proof image URLs (publicly accessible)</td></tr> 3905 <tr><td>note</td><td>Optional note</td></tr> 3906 <tr class="table-warning"><td>user_ip</td><td><b>traffic: REQUIRED</b> â the same IP you sent to earn_get_task; the pass code is only valid from that IP</td></tr> 3907 <tr><td>user_agent</td><td>Tùy chá»n â the worker's browser User-Agent</td></tr> 3908 </tbody> 3909 </table> 3910 <h6 data-lang="Example response">Example response</h6> 3911 <div class="bg-light p-3"><pre class="mb-0">{ "status": "success", "message": "Sending successful" }</pre></div> 3912 </div> 3913 3914 <div class="tab-pane fade apidoc-pane" id="earn-cancel-task" role="tabpanel"> 3915 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3916 <tbody> 3917 <tr class="bg-light"><td class="fw-bolder" data-lang="Parameters">Parameters</td><td class="fw-bolder" data-lang="Description">Description</td></tr> 3918 <tr><td>key</td><td>API Key</td></tr> 3919 <tr><td>action</td><td>"earn_cancel_task"</td></tr> 3920 <tr><td>type</td><td>review_map | report | seeding | traffic</td></tr> 3921 <tr><td>id</td><td>Task ID</td></tr> 3922 </tbody> 3923 </table> 3924 <h6 data-lang="Example response">Example response</h6> 3925 <div class="bg-light p-3"><pre class="mb-0">{ "status": "success", "message": "Canceled Successful" }</pre></div> 3926 </div> 3927 3928 <div class="tab-pane fade apidoc-pane" id="earn-task-status" role="tabpanel"> 3929 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3930 <tbody> 3931 <tr class="bg-light"><td class="fw-bolder" data-lang="Parameters">Parameters</td><td class="fw-bolder" data-lang="Description">Description</td></tr> 3932 <tr><td>key</td><td>API Key</td></tr> 3933 <tr><td>action</td><td>"earn_task_status"</td></tr> 3934 <tr><td>type</td><td>review_map | report | seeding | traffic</td></tr> 3935 <tr><td>id</td><td>Tùy chá»n â one task. Omit to list latest tasks (paginated)</td></tr> 3936 <tr><td>page</td><td>Optional, default 1 (when listing)</td></tr> 3937 </tbody> 3938 </table> 3939 <h6 data-lang="Example response">Example response</h6> 3940 <div class="bg-light p-3"><pre class="mb-0">{ 3941 "status": "success", 3942 "data": { 3943 "id": 12345, 3944 "type": "review_map", 3945 "task_status": "success", 3946 "money": 5000, 3947 "created_at": "2026-06-25T08:00:00+07:00", 3948 "updated_at": "2026-06-25T08:20:00+07:00" 3949 } 3950}</pre></div> 3951 <small class="text-muted">task_status: pending · running · waiting · success · failed · expired · canceled</small> 3952 </div> 3953 3954 3955 <div class="tab-pane fade apidoc-pane" id="free-order" role="tabpanel"> 3956 <div class="alert alert-warning py-2 mb-3"> 3957 <b>Different endpoint</b> â this is NOT /api/v2 and has no <code>action</code>.<br> 3958 <code>POST https://socialcare.vn/api/v1/get-free</code><br> 3959 Auth by header: <code>Authorization: Bearer {api_key}</code> 3960 </div> 3961 <div class="alert alert-info py-2 mb-3"> 3962 <b>Where does <code>traffic_code</code> come from?</b> It is the pass code produced by the <b>LẤY MÃ</b> button after a real browser visit on the campaign website â the same value you send as <code>
3962proof</code> to <code>earn_submit_task</code> with <code>type=traffic</code>. Each code can be redeemed once. 3963 </div> 3964 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 3965 <tbody> 3966 <tr class="bg-light"><td class="fw-bolder" data-lang="Parameters">Parameters</td><td class="fw-bolder" data-lang="Description">Description</td></tr> 3967 <tr><td>object_id</td><td><b>Required</b> â link to the post / profile / video to boost</td></tr> 3968 <tr><td>service_id</td><td><b>Required</b> â id NHÃM Dá»CH VỤ (không phải id máy chá»§ cá»§a action=services). Tra bằng /api/v1/free-services á» khá»i bên dưá»i. Link phải Äúng ná»n tảng cá»§a nhóm: dán link TikTok và o nhóm Instagram sẽ bá» từ chá»i.</td></tr> 3969 <tr><td>traffic_code</td><td><b>Required</b> â the traffic mission pass code</td></tr> 3970 <tr><td>server_id</td><td>Tùy chá»n â pick one server; it must belong to the free-eligible group. Omit it and the system chooses for you</td></tr> 3971 <tr><td>comments</td><td>Comment services only â one comment per line</td></tr> 3972 </tbody> 3973 </table> 3974 <h6 data-lang="Example request">Example request</h6> 3975 <div class="bg-light p-3"><pre class="mb-0">curl -X POST "https://socialcare.vn/api/v1/get-free" \ 3976 -H "Authorization: Bearer YOUR_API_KEY" \ 3977 -d "service_id=1" \ 3978 -d "object_id=https://www.facebook.com/xxx/posts/yyy" \ 3979 -d "traffic_code=ABC123"</pre></div> 3980 <h6 data-lang="Example response">Example response</h6> 3981 <div class="bg-light p-3"><pre class="mb-0">{ 3982 "status": "success", 3983 "message": "Order created successfully", 3984 "order": 1997856 3985}</pre></div> 3986 <small class="text-muted">Common errors: <code>Vui lòng nháºp mã hoà n thà nh nhiá»m vụ traffic</code> · <code>Không có server nà o Äá»§ Äiá»u kiá»n nháºn miá» n phÃ</code> · <code>Máy chá»§ bạn chá»n không nằm trong nhóm ÄÆ°á»£c nháºn miá» n phÃ</code> · <code>Link bạn dán không thuá»c {ná»n tảng}</code></small> 3987 3988 <hr class="my-4"> 3989 <h6 class="mb-2">Tra danh mục dá»ch vụ miá» n phÃ</h6> 3990 <div class="alert alert-info py-2 mb-3"> 3991 Trả vá» cây <b>ná»n tảng â dá»ch vụ â máy chá»§</b> Äang má» miá» n phÃ, kèm Äúng <code>service_id</code> và <code>server_id</code> Äá» gá»i sang <code>get-free</code>. Danh mục nà y giá»ng há»t trang <code>/service-free</code> nên không bao giá» lá»ch. 3992 </div> 3993 <div class="bg-light p-3"><pre class="mb-0">curl "https://socialcare.vn/api/v1/free-services" \ 3994 -H "Authorization: Bearer YOUR_API_KEY"</pre></div> 3995 <div class="apidoc-note mt-2">Hoặc qua API v2: <code>action=free_services</code></div> 3996 <h6 class="mt-3" data-lang="Example response">Example response</h6> 3997 <div class="bg-light p-3"><pre class="mb-0">{ 3998 "status": "success", 3999 "data": [ 4000 { 4001 "id": 2, "ten": "Tiktok", 4002 "dich_vu": [ 4003 { "id": 15, "ten": "TÄng Lượt ThÃch Video", 4004 "may_chu": [ { "id": 1187854, "ten": "...", "min": 10, "chi_phi": 83 } ] } 4005 ] 4006 } 4007 ] 4008}</pre></div> 4009 </div> 4010 4011 <div class="tab-pane fade apidoc-pane" id="free-proxy" role="tabpanel"> 4012 <div class="alert alert-warning py-2 mb-3"> 4013 <b>Different endpoint</b> â <code>POST https://socialcare.vn/api/v1/proxy-free-claim</code><br> 4014 Auth by header: <code>Authorization: Bearer {api_key}</code> 4015 </div> 4016 <div class="alert alert-info py-2 mb-3"> 4017 Uses the same <code>traffic_code</code> as Free order â one traffic mission can be redeemed for <b>either</b> a free boost <b>or</b> a free proxy, not both. 4018 </div> 4019 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 4020 <tbody> 4021 <tr class="bg-light"><td class="fw-bolder" data-lang="Parameters">Parameters</td><td class="fw-bolder" data-lang="Description">Description</td></tr> 4022 <tr><td>traffic_code</td><td><b>Required</b> â the traffic mission pass code</td></tr> 4023 </tbody> 4024 </table> 4025 <h6 data-lang="Example request">Example request</h6> 4026 <div class="bg-light p-3"><pre class="mb-0">curl -X POST "https://socialcare.vn/api/v1/proxy-free-claim" \ 4027 -H "Authorization: Bearer YOUR_API_KEY" \ 4028 -d "traffic_code=ABC123"</pre></div> 4029 <h6 data-lang="Example response">Example response</h6> 4030 <div class="bg-light p-3"><pre class="mb-0">{ 4031 "status": "success", 4032 "message": "...", 4033 "data": { "host": "...", "port": "...", "username": "...", "password": "..." } 4034}</pre></div> 4035 <small class="text-muted">The admin can switch this programme off; while closed the endpoint returns <code>Chương trình nháºn proxy miá» n phà Äang tạm Äóng.</code></small> 4036 </div> 4037 4038 4039 <div class="tab-pane fade apidoc-pane" id="cross-intro" role="tabpanel"> 4040 <div class="alert alert-info py-2 mb-3"> 4041 Your users do real Facebook interactions (comment / reaction / share) on customers' posts and get paid per job. The system reads the post itself to verify â <b>no screenshots, no manual approval</b>. 4042 </div> 4043 <p class="text-muted">Same flow as the <b>/nhiem-vu-facebook</b> page, exposed for partners who want to build their own interface. The key belongs to <b>the worker</b>, and the money goes into that worker's wallet on your site.</p> 4044 4045 <h6 class="mt-4 mb-2">Flow</h6> 4046 <div class="bg-light p-3"><pre class="mb-0">cross_accounts ââ⺠no verified account? ââ⺠cross_account_code ââ⺠post the code publicly 4047 âââ⺠cross_account_verify 4048
4049cross_jobs ââ⺠cross_claim ââ⺠worker does it on Facebook ââ⺠cross_submit 4050 â 4051 the system reads the post âââ´ââ⺠ok: held 24h, then paid 4052 missed: cross_appeal</pre></div> 4053 4054 <div class="alert alert-warning py-2 px-3 mt-3 mb-0"><small> 4055 A worker with <b>no verified Facebook account</b> can browse jobs but cannot claim any. The number of jobs they may hold at the same time <b>equals</b> their number of verified accounts (max 3) â that is the lever to push in your interface. 4056 </small></div> 4057 4058 4059 <div class="alert alert-warning py-3 px-3 mt-3 mb-3"> 4060 <b>ð This channel needs approval before use.</b><br> 4061 Log in, then send the request below. 4062 </div> 4063 <h6 class="mt-3 mb-2">Request access</h6> 4064 <div class="bg-light p-3"><pre class="mb-0">curl -X POST "https://socialcare.vn/api/v2" \ 4065 -d "key=YOUR_API_KEY" \ 4066 -d "action=cross_request_access" \ 4067 -d "ten=Tên Äá»i tác" \ 4068 -d "lien_he=zalo/telegram/email" \ 4069 -d "ghi_chu=Bạn Äá»nh dùng Äá» là m gì, dá»± kiến bao nhiêu ngưá»i là m"</pre></div> 4070 <small class="text-muted">The full specification appears here once approved.</small> 4071 </div> 4072 4073 4074 4075 4076 4077 <div class="tab-pane fade apidoc-pane" id="serp" role="tabpanel"> 4078 <div class="alert alert-info py-2 px-3" style="font-size:13px"> 4079 Look up the <b>real Google results page</b> for a keyword: position, title, link, description, domain, favicon. Charged <b>per lookup</b> from your balance. 4080 </div> 4081 4082 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 4083 <tbody> 4084 <tr class="bg-light"> 4085 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 4086 <td class="fw-bolder" data-lang="Description">Description</td> 4087 </tr> 4088 <tr><td>key</td><td>API Key</td></tr> 4089 <tr><td>action</td><td>"serp"</td></tr> 4090 <tr><td>query</td><td>Keyword to look up. Max 200 characters.</td></tr> 4091 <tr><td>gl</td><td>Optional â country, default <code>vn</code></td></tr> 4092 <tr><td>hl</td><td>Optional â language, default <code>vi</code></td></tr> 4093 <tr><td>limit</td><td>Optional â number of results, 1â10, default 10</td></tr> 4094 <tr><td>page</td><td>Optional â result page, 1â10, default 1</td></tr> 4095 </tbody> 4096 </table> 4097 4098 <div class="apidoc-note"> 4099 <b>Giá:</b> 75Ä / lookup. 4100 The exact amount charged is returned in <code>charged</code>, 4101 and your remaining balance in <code>balance</code>.<br> 4102 <b>Repeated lookups are free:</b> 4103 the same <code>query</code> + <code>gl</code> + <code>hl</code> + <code>limit</code> + <code>page</code> within <b>5 minutes</b> is served from cache with <code>cached: true</code> and <code>charged: 0</code>. Safe to retry after a timeout â you will not be billed twice.<br> 4104 <b>Rate limit:</b> 30 requests per minute per account. 4105 </div> 4106 4107 <div class="apidoc-note" style="border-left-color:#16a34a"> 4108 <b>
4108Track your usage:</b> 4109 every lookup is logged â what was charged, what came from cache, what failed. 4110 <a href="https://socialcare.vn/api/serp/lich-su" target="_blank" rel="noopener"> 4111 <b>Open usage history â</b></a> 4112 </div> 4113 4114 <h6 data-lang="Example request">Example request</h6> 4115 <div class="bg-light p-3 mb-3"> 4116<pre class="mb-0">curl -X POST https://socialcare.vn/api/v2 \ 4117 -d "key=YOUR_API_KEY" \ 4118 -d "action=serp" \ 4119 -d "query=áo thun nam" \ 4120 -d "gl=vn" -d "hl=vi" -d "limit=10"</pre> 4121 </div> 4122 4123 <h6 data-lang="Example response">Example response</h6> 4124 <div class="bg-light p-3 mb-3"> 4125<pre class="mb-0">{ 4126 "status": "success", 4127 "query": "áo thun nam", 4128 "gl": "vn", 4129 "hl": "vi", 4130 "page": 1, 4131 "total_results": 11500000, 4132 "search_time": 0.42, 4133 "charged": 75, 4134 "balance": 1250000, 4135 "cached": false, 4136 "results": [ 4137 { 4138 "position": 1, 4139 "title": "Ão thun nam - Giá Tá»t, Miá» n Phà Váºn Chuyá»n - Shopee", 4140 "link": "https://shopee.vn/list/áo thun/nam", 4141 "snippet": "Mua online áo thun nam chất lượng, má»i nhất, giảm tá»i 50%...", 4142 "displayed_link": "shopee.vn", 4143 "domain": "shopee.vn", 4144 "favicon": "https://www.google.com/s2/favicons?domain=shopee.vn&sz=32", 4145 "thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=...", 4146 "breadcrumb": "shopee.vn ⺠áo thun" 4147 } 4148 ] 4149}</pre> 4150 </div> 4151 4152 <h6 data-lang="Errors">Errors</h6> 4153 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 4154 <tbody> 4155 <tr class="bg-light"> 4156 <td class="fw-bolder">HTTP</td> 4157 <td class="fw-bolder">Meaning</td> 4158 </tr> 4159 <tr><td>400</td><td>Missing or invalid parameter (empty keyword, limit out of range...)</td></tr> 4160 <tr><td>402</td><td>Not enough balance</td></tr> 4161 <tr><td>403</td><td>Account is locked</td></tr> 4162 <tr><td>429</td><td>Too many requests â wait for the next minute</td></tr> 4163 <tr><td>503</td><td>Source is busy or temporarily out of quota â safe to retry later. Nothing is charged.</td></tr> 4164 </tbody> 4165 </table> 4166 4167 <div class="alert alert-warning py-2 px-3 mb-0"><small> 4168 Nothing is charged when a lookup fails. If you get a <code>503</code>, retry after a short pause instead of looping â repeated calls only consume your rate limit. 4169 </small></div> 4170 </div> 4171 4172 4173 <div class="tab-pane fade apidoc-pane" id="serp-map" role="tabpanel"> 4174 <div class="alert alert-info py-2 px-3" style="font-size:13px"> 4175 Look up <b>businesses on the map</b> for a keyword and area: map position, rating, review count, phone, website, opening hours and coordinates. Charged <b>per lookup</b>, not per place. 4176 </div> 4177 4178 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 4179 <tbody> 4180 <tr class="bg-light"> 4181 <td class="fw-bolder" data-lang="Parameters">Parameters</td> 4182 <td class="fw-bolder" data-lang="Description">Description</td> 4183 </tr> 4184 <tr><td>key</td><td>API Key</td></tr> 4185 <tr><td>action</td><td>"serp_map"</td></tr> 4186 <tr><td>query</td><td>What to look for: "coffee shop", "dentist"⦠Max 160 characters.</td></tr> 4187 <tr><td>location</td><td><b>Strongly recommended</b> â the area, e.g. <code>Quáºn 1 TP.HCM</code>. Appended to the keyword; see the note below.</td></tr> 4188 <tr><td>ll</td><td>Optional â map centre <code>@latitude,longitude,zoomz</code>, e.g. <code>@10.7769,106.7009,13z</code>. Plain <code>10.7769,106.7009</code> is accepted too.</td></tr> 4189 <tr><td>gl</td><td>Optional â country, default <code>vn</code></td></tr> 4190 <tr><td>hl</td><td>Optional â language, default <code>vi</code></td></tr> 4191 <tr><td>limit</td><td>Optional â number of places, 1â20, default 20</td></tr> 4192 </tbody> 4193 </table> 4194 4195 <div class="apidoc-note" style="border-left-color:#dc2626"> 4196 <b>Use <code>location</code>, do not rely on <code>ll</code> alone:</b> 4197 results for a keyword are cached upstream <b>by keyword text only</b>. Sending the same <code>query</code>
4197 with different coordinates returns the <b>first</b> area's places. Putting the area in <code>location</code> makes each area a distinct keyword, so it always returns the right city. 4198 </div> 4199 4200 <div class="apidoc-note"> 4201 <b>Giá:</b> 150Ä / lookup â 4202 the same price whether 1 or 20 places come back. 4203 The exact amount charged is returned in <code>charged</code>, 4204 and your remaining balance in <code>balance</code>.<br> 4205 <b>Repeated lookups are free:</b> 4206 the same <code>query</code> + <code>location</code> + <code>limit</code> within <b>5 minutes</b> returns <code>cached: true</code> and <code>charged: 0</code>.<br> 4207 <b>Rate limit:</b> 30 requests per minute per account 4208 â shared with <code>action=serp</code>.<br> 4209 <b>No paging:</b> 4210 20 places per lookup is the ceiling. To get more, change the keyword or the area â there is no page parameter. 4211 </div> 4212 4213 <div class="apidoc-note" style="border-left-color:#16a34a"> 4214 <b>Prefer clicking over coding?</b> 4215 The same lookup runs on-screen, with CSV export. 4216 <a href="https://socialcare.vn/cong-cu/dia-diem" target="_blank" rel="noopener"> 4217 <b>Open the map places tool â</b></a> 4218 </div> 4219 4220 <h6 data-lang="Example request">Example request</h6> 4221 <div class="bg-light p-3 mb-3"> 4222<pre class="mb-0">curl -X POST https://socialcare.vn/api/v2 \ 4223 -d "key=YOUR_API_KEY" \ 4224 -d "action=serp_map" \ 4225 -d "query=nha hà ng hải sản" \ 4226 -d "location=Äà Nẵng" \ 4227 -d "limit=20"</pre> 4228 </div> 4229 4230 <h6 data-lang="Example response">Example response</h6> 4231 <div class="bg-light p-3 mb-3"> 4232<pre class="mb-0">{ 4233 "status": "success", 4234 "query": "nhà hà ng hải sản", 4235 "location": "Äà Nẵng", 4236 "gl": "vn", 4237 "hl": "vi", 4238 "charged": 150, 4239 "balance": 1250000, 4240 "cached": false, 4241 "total": 20, 4242 "places": [ 4243 { 4244 "position": 1, 4245 "title": "Má»c quán Seafood Äà Nẵng", 4246 "place_id": "ChIJ_bKDMykvdTERlAcbXthvEuE", 4247 "cid": "0x31752f293383b2fd:0xe1126fd85e1b0794", 4248 "category": "Nhà hà ng hải sản", 4249 "categories": ["Nhà hà ng hải sản"], 4250 "rating": 4.8, 4251 "reviews": 28092, 4252 "price": "100.000-200.000 â«", 4253 "address": "Lô 9-10 Võ Nguyên Giáp, SÆ¡n Trà , Äà Nẵng, Viá»t Nam", 4254 "latitude": 16.0544, 4255 "longitude": 108.2455, 4256 "phone": "+84905665058", 4257 "website": "https://mocseafood.com/", 4258 "domain": "mocseafood.com", 4259 "hours": [ { "day": "Thứ Hai", "hours": "09:00â22:00" } ], 4260 "thumbnail": "https://lh3.googleusercontent.com/...", 4261 "maps_url": "https://maps.google.com/?cid=16217076...", 4262 "reviews_url": "https://search.google.com/local/reviews?placeid=ChIJ..." 4263 } 4264 ] 4265}</pre> 4266 </div> 4267 4268 <div class="apidoc-note"> 4269 <b>Field notes:</b> 4270 <code>website</code>, <code>phone</code>, <code>price</code> and <code>thumbnail</code> can be empty â not every business publishes them. <code>rating</code> is <code>0</code> when a place has no reviews yet; treat that as "no data", not "bad". 4271 </div> 4272 4273 <h6 data-lang="Errors">Errors</h6> 4274 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 4275 <tbody> 4276 <tr class="bg-light"> 4277 <td class="fw-bolder">HTTP</td> 4278 <td class="fw-bolder">Meaning</td> 4279 </tr> 4280 <tr><td>400</td><td>Missing or invalid parameter (empty keyword, limit out of range...)</td></tr> 4281 <tr><td>402</td><td>Not enough balance</td></tr> 4282 <tr><td>403</td><td>Account is locked</td></tr> 4283 <tr><td>429</td><td>Too many requests â wait for the next minute</td></tr> 4284 <tr><td>503</td><td>Source is busy or temporarily out of quota â safe to retry later. Nothing is charged.</td></tr> 4285 </tbody> 4286 </table> 4287 4288 <div class="alert alert-warning py-2 px-3 mb-0"><small> 4289 Nothing is charged when a lookup fails. An empty <code>places</code> array is a <b>successful</b> lookup that found nothing â it is billed, so send a realistic keyword and area. 4290 </small></div> 4291 </div> 4292 4293 <div class="tab-pane fade apidoc-pane" id="serp-extra" role="tabpanel"> 4294 <div class="alert alert-info py-2 px-3" style="font-size:13px"> 4295 Four Google search types share one request shape. Set <code>action</code> to <code>serp_news</code>, <code>serp_videos</code>, <code>serp_images</code> or <code>serp_shopping</code>. Charged <b>per lookup</b>; cached results (5 min) are free. 4296 </div> 4297 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 4298 <tbody> 4299 <tr class="bg-light"><td class="fw-bolder">Parameters</td><td class="fw-bolder">Description</td></tr> 4300 <tr><td>key</td><td>API Key</td></tr> 4301 <tr><td>action</td><td><code>serp_news</code> | <code>serp_videos</code> | <code>serp_images</code> | <code>serp_shopping</code></td></tr> 4302 <tr><td>query</td><td>Keyword to search. Max 200 characters.</td></tr> 4303 <tr><td>gl</td><td>Optional â country, default <code>vn</code></td></tr> 4304 <tr><td>hl</td><td>Optional â language, default <code>vi</code></td></tr> 4305 <tr><td>limit</td><td>Optional â number of results, 1â20, default 10</td></tr> 4306 </tbody> 4307 </table> 4308 <h6 data-lang="Request">Request</h6> 4309 <div class="bg-light"><pre>curl -X POST "https://socialcare.vn/api/v2" \ 4310 -d "key=YOUR_API_KEY" \ 4311 -d "action=serp_news" \ 4312 -d "query=giá cà phê" \ 4313 -d "gl=vn" -d "hl=vi" -d "limit=10"</pre></div> 4314 <h6 data-lang="Response">Response</h6> 4315 <div class="bg-light"><pre>{ 4316 "status": "success", 4317 "type": "news", 4318 "query": "giá cà phê", 4319 "total": 10, 4320 "charged": 26, 4321 "balance": 74000, 4322 "cached": false, 4323 "results": [ { "position": 1, "title": "...", "link": "https://...", "snippet": "...", "publisher": "...", "date": "...", "thumbnail": "https://..." } ] 4324}</pre></div> 4325 <div class="apidoc-note"> 4326 <b>Result fields by type:</b> 4327 <code>serp_news</code>: title, link, snippet, publisher, date, author, thumbnail. <code>serp_videos</code>: title, link, thumbnail, duration, channel, published, views, snippet. <code>serp_images</code>: title, image_url, width, height, source_url. <code>serp_shopping</code>: title, price, original_price, discount, merchant, shipping, rating, rating_count, thumbnail, link. 4328 </div> 4329 <h6 data-lang="Errors">Errors</h6> 4330 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 4331 <tbody> 4332 <tr class="bg-light"><td class="fw-bolder">HTTP</td><td class="fw-bolder">Meaning</td></tr> 4333 <tr><td>400</td><td>Missing or invalid parameter</td></tr> 4334 <tr><td>402</td><td>Not enough balance</td></tr> 4335 <tr><td>429</td><td>Too many requests â wait for the next minute</td></tr> 4336 <tr><td>503</td><td>Source busy or out of quota â retry later. Nothing is charged.</td></tr> 4337 </tbody> 4338 </table> 4339 </div> 4340 4341 <div class="tab-pane fade apidoc-pane" id="verify-email" role="tabpanel"> 4342 <div class="alert alert-info py-2 px-3" style="font-size:13px"> 4343 Check whether an email address is real and reachable before you send to it. Charged <b>per lookup</b>; repeated checks of the same address within 5 minutes are free. 4344 </div> 4345 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 4346 <tbody> 4347 <tr class="bg-light"><td class="fw-bolder">Parameters</td><td class="fw-bolder">Description</td></tr> 4348 <tr><td>key</td><td>API Key</td></tr> 4349 <tr><td>action</td><td><code>verify_email</code></td></tr> 4350 <tr><td>email</td><td>The email address to verify.</td></tr> 4351 </tbody> 4352 </table> 4353 <h6 data-lang="Request">Request</h6> 4354 <div class="bg-light"><pre>curl -X POST "https://socialcare.vn/api/v2" \ 4355 -d "key=YOUR_API_KEY" \ 4356 -d "action=verify_email" \ 4357 -d "[email protected]"</pre></div> 4358 <h6 data-lang="Response">Response</h6> 4359 <div class="bg-light"><pre>{ 4360 "status": "success", 4361 "email": "[email protected]", 4362 "result": "valid", 4363 "domain": "example.com", 4364 "message": "Email is valid and successfully reachable.", 4365 "details": { "format": "valid", "mailbox_status": "valid", "mailbox_type": "professional" }, 4366 "charged": 26, 4367 "balance": 74000 4368}</pre></div> 4369 <div class="apidoc-note"> 4370 <b>Field notes:</b> 4371 <code>result</code> is <code>valid</code>, <code>invalid</code> or <code>unknown</code>. Use <code>unknown</code> as "cannot confirm", not "bad". 4372 </div> 4373 </div> 4374 4375 <div class="tab-pane fade apidoc-pane" id="api-pricing" role="tabpanel"> 4376 <div class="alert alert-info py-2 px-3" style="font-size:13px"> 4377 Each successful lookup is charged the price below, deducted from your account balance. Repeats of the same request within 5 minutes are served from cache and <b>not charged</b>; failed lookups are <b>not charged</b>. 4378 </div> 4379 <table class="table align-middle table-row-bordered table-rounded border rounded gy-2 gs-5"> 4380 <tbody> 4381 <tr class="bg-light"> 4382 <td class="fw-bolder">action</td> 4383 <td class="fw-bolder" data-lang="Description">Description</td> 4384 <td class="fw-bolder text-end">Price / call</td> 4385 </tr> 4386 <tr> 4387 <td><code>serp</code></td> 4388 <td>Google web search</td> 4389 <td class="text-end fw-bold">75 Ä</td> 4390 </tr> 4391 <tr> 4392 <td><code>serp_map</code></td> 4393 <td>Google Maps places</td> 4394 <td class="text-end fw-bold">150 Ä</td> 4395 </tr> 4396 <tr> 4397 <td><code>serp_news</code></td> 4398 <td>Google News</td> 4399 <td class="text-end fw-bold">26 Ä</td> 4400 </tr> 4401 <tr> 4402 <td><code>serp_videos</code></td> 4403 <td>Google Videos</td> 4404 <td class="text-end fw-bold">26 Ä</td> 4405 </tr> 4406 <tr> 4407 <td><code>serp_images</code></td> 4408 <td>Google Images</td> 4409 <td class="text-end fw-bold">26 Ä</td> 4410 </tr> 4411 <tr> 4412 <td><code>serp_shopping</code></td> 4413 <td>Google Shopping</td> 4414 <td class="text-end fw-bold">26 Ä</td> 4415 </tr> 4416 <tr> 4417 <td><code>verify_email</code></td> 4418 <td>Email verification</td> 4419 <td class="text-end fw-bold">130 Ä</td> 4420 </tr> 4421 </tbody> 4422 </table> 4423 4424 <h6 data-lang="Get prices via API">Get prices via API</h6> 4425 <p style="font-size:13px">Fetch the current price list programmatically with <code>action=prices</code> â free, not charged. Use it to show live prices in your own app.</p> 4426 <div class="bg-light"><pre>curl -X POST "https://socialcare.vn/api/v2" \ 4427 -d "key=YOUR_API_KEY" \ 4428 -d "action=prices"</pre></div> 4429 <div class="bg-light"><pre>{ 4430 "status": "success", 4431 "balance": 74000, 4432 "prices": [ 4433 { "action": "serp", "description": "Google web search results", "price_per_call": 75, "currency": "VND" }, 4434 { "action": "serp_map", "description": "Google Maps places", "price_per_call": 150, "currency": "VND" }, 4435 { "action": "serp_news", "description": "Google News",
4435 "price_per_call": 26, "currency": "VND" } 4436 ] 4437}</pre></div> 4438 </div> 4439 4440 </div><!-- /.apidoc-panes --> 4441 </main> 4442 </div><!-- /.apidoc-body --> 4443 </div><!-- /.apidoc --> 4444 </div> 4445 </div> 4446 </div> 4447 </div> 4448 </div><!-- container --> 4449 4450 4451 <div class="pb-4"></div> 4452<footer class="footer d-print-none mt-5" style="border-top: none !important; background: transparent !important; position: relative !important;"> 4453 <div class="container-fluid"> 4454 <div class="card mb-0 mx-3 rounded-bottom-0 shadow-sm border-0" style="border-top: 3px solid #667eea !important;"> 4455 <div class="card-body text-center py-4"> 4456 <p class="mb-2 fw-bold" style="background: linear-gradient(135deg, #667eea, #764ba2); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: 15px; letter-spacing: 0.5px;"> 4457 ©
4457<script>document.write(new Date().getFullYear())</script>
4457 - Socialcare.vn - All Rights Reserved. 4458 </p> 4459 <div class="footer-links d-flex justify-content-center align-items-center gap-2 flex-wrap" style="font-size: 13px;"> 4460 <a href="https://socialcare.vn/sitemap.xml" class="footer-link text-muted text-decoration-none" style="transition: color .2s;"> 4461 <i class="las la-sitemap me-1" style="font-size: 14px;"></i>Sitemap 4462 </a> 4463 <span class="text-muted opacity-50">·</span> 4464 <a href="https://socialcare.vn/page/doi-tac" class="footer-link text-muted text-decoration-none" style="transition: color .2s;"> 4465 <i class="las la-handshake me-1" style="font-size: 14px;"></i>Äá»i tác 4466 </a> 4467 <span class="text-muted opacity-50">·</span> 4468 <a href="https://socialcare.vn/rule" class="footer-link text-muted text-decoration-none" style="transition: color .2s;"> 4469 <i class="las la-file-contract me-1" style="font-size: 14px;"></i>Terms of Service 4470 </a> 4471 <span class="text-muted opacity-50">·</span> 4472 <a href="https://socialcare.vn/docs-api-v2" class="footer-link text-muted text-decoration-none" style="transition: color .2s;"> 4473 <i class="las la-code me-1" style="font-size: 14px;"></i>API Docs 4474 </a> 4475 <span class="text-muted opacity-50">·</span> 4476 <a href="https://socialcare.vn/blog" class="footer-link text-muted text-decoration-none" style="transition: color .2s;"> 4477 <i class="las la-blog me-1" style="font-size: 14px;"></i>Blog 4478 </a> 4479 <span class="text-muted opacity-50">·</span> 4480 <a href="https://socialcare.vn/bao-vi-pham" class="footer-link text-muted text-decoration-none" style="transition: color .2s;"> 4481 <i class="las la-flag me-1" style="font-size: 14px;"></i>Báo cáo vi phạm 4482 </a> 4483 </div> 4484 </div> 4485 </div> 4486 </div> 4487 <style> 4488 .footer-link:hover { color: #667eea !important; } 4489 </style> 4490</footer> 4491 <!--end footer--> 4492 </div> 4493 <!-- end page content --> 4494 </div> 4495 <!-- end page-wrapper --> 4496 4497
4497<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
4497 4498
4498<script src="/assets/libs/bootstrap/js/bootstrap.bundle.min.js"></script>
4498 4499
4499<script src="/assets/libs/simplebar/simplebar.min.js"></script>
4499 4500 4501
4501<script src="//cdn.datatables.net/2.2.0/js/dataTables.min.js"></script>
4501 4502
4502<script src="https://cdn.datatables.net/2.2.0/js/dataTables.bootstrap5.js"></script>
4502 4503
4503<script src="https://cdn.datatables.net/responsive/3.0.2/js/dataTables.responsive.min.js"></script>
4503 4504 4505
4505<script src="/assets/js/app.js?v=1.0.2"></script>
4505 4506
4506<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
4506 4507
4507<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment.min.js"></script>
4507 4508
4509<script> 4510moment.updateLocale('vi', { 4511 week: { 4512 dow: 1, 4513 } 4514}); 4515 4516const loadTable = (elm, key, columns, url = null, order = 0) => { 4517 const dtable = $(elm).DataTable({ 4518 /*responsive: { 4519 details: { 4520 type: 'inline', 4521 target: 'tr', 4522 display: $.fn.dataTable.Responsive.display.childRowImmediate, 4523 renderer: $.fn.dataTable.Responsive.renderer.tableAll() 4524 } 4525 }, 4526 columnDefs: [ 4527 { responsivePriority: -1, targets: '_all' }, 4528 { className: 'dtr-control', targets: [] } 4529 ],*/ 4530 "processing": true, 4531 "serverSide": true, 4532 "ajax": { 4533 url: url ? url : '/vi/user/get-data?model=' + key, 4534 type: 'GET', 4535 data: { 4536 key: key 4537 }, 4538 error: function (xhr, error, code) { 4539 Swal.fire({ 4540 toast: true, 4541 position: 'top-end', 4542 showConfirmButton: false, 4543 timer: 2000, 4544 icon: 'error', 4545 title: 'Lá»i' 4546 }); 4547 } 4548 }, 4549 columns: columns, 4550 "order": [[order, "desc"]], 4551 "language": { 4552 "sProcessing": "Äang xá» lý...", 4553 "sLengthMenu": "Xem _MENU_ mục", 4554 "sZeroRecords": "Không tìm thấy kết quả phù hợp", 4555 "sInfo": "Äang xem _START_ Äến _END_ trong tá»ng sá» _TOTAL_ mục", 4556 "sInfoEmpty": "0 mục", 4557 "sInfoFiltered": "(ÄÆ°á»£c lá»c từ _MAX_ mục)", 4558 "sSearch": "Tìm kiếm:", 4559 "sEmptyTable": `<div class="mb-3 text-center"><svg height=152 viewBox="0 0 184 152"width=184 xmlns=http://www.w3.org/2000/svg><g fill=none fill-rule=evenodd><g transform="translate(24 31.67)"><ellipse cx=67.797 cy=106.89 rx=67.797 ry=12.668 fill=#F5F5F7 fill-opacity=.8></ellipse><path d="M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z"fill=#AEB8C2></path><path d="M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z"fill=url(#linearGradient-1) transform=translate(13.56)></path><path d="M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z"fill=#F5F5F7></path><path d="M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z"fill=#DCE0E6></path></g><path d="M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z"fill=#DCE0E6></path><g fill=#FFF transform="translate(149.65 15.383)"><ellipse cx=20.654 cy=3.167 rx=2.849 ry=2.815></ellipse><path d="M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"></path></g></g></svg></div>`, 4560 "oPaginate": { 4561 "sFirst": "Äầu", 4562 "sPrevious": "Trưá»c", 4563 "sNext": "Tiếp", 4564 "sLast": "Cuá»i" 4565 } 4566 }, 4567 // "scrollX": true, 4568 "lengthMenu": [ 4569 [10, 25, 50, 100, -1], 4570 [10, 25, 50, 100, "Tất cả"] 4571 ], 4572 }); 4573 4574 4575 return dtable; 4576} 4577 4578const copyData = (value) => { 4579 navigator.clipboard.writeText(value); 4580 Swal.fire({ 4581 toast: true, 4582 position: 'top-end',
4583 showConfirmButton: false, 4584 icon: 'success', 4585 title: "Äã sao chép và o clipboard", 4586 timer: 2000 4587 }); 4588} 4589 4590function statusOrder(status, html = false) { 4591 // Danh sách ánh xạ trạng thái 4592 const statuses = { 4593 'Running': ["Äang chạy", 'bg-primary'], 4594 'Processing': ["Äang xá» lý", 'bg-primary'], 4595 'Completed': ["Hoà n thà nh", 'bg-success'], 4596 'Canceled': ["Äã há»§y", 'bg-danger'], 4597 'Refunded': ["Äã hoà n tiá»n", 'bg-danger'], 4598 'Failed': ["Thất bại", 'bg-danger'], 4599 'Pending': ["Chá» xá» lý", 'bg-warning'], 4600 'Partially Refunded': ["Hoà n tiá»n má»t phần", 'bg-danger'], 4601 'Partially Completed': ["Hoà n thà nh má»t phần", 'bg-success'], 4602 'Partial': ["Hoà n tiá»n má»t phần", 'bg-danger'], 4603 'WaitingForRefund': ["Chá» hoà n tiá»n", 'bg-warning'], 4604 'WaitingForRefill': ["Chá» bảo hà nh", 'bg-warning'], 4605 'Expired': ["Hết hạn", 'bg-danger'], 4606 'Active': ["Hoạt Äá»ng", 'bg-success'], 4607 'Scheduled': ["Äã lên lá»ch", 'bg-info'], 4608 'In Progress': ["Äang chạy", 'bg-primary'], 4609 'In progress': ["Äang chạy", 'bg-primary'], 4610 'Refilled': ["Äã bảo hà nh", 'bg-success'], 4611 }; 4612 const defaultStatus = ["Äang xá» lý", 'bg-primary']; 4613 const result = statuses[status] || defaultStatus; 4614 if (html) { 4615 return `<span class="badge ${result[1]}">${result[0]}</span>`; 4616 } 4617 4618 return result[0]; 4619} 4620 4621const statusSupport = (status, html = false) => { 4622 const statuses = { 4623 'NoSupport': ["Chưa há» trợ", 'bg-danger'], 4624 'WaitingForRefund': ["Chá» huá»· ÄÆ¡n", 'bg-warning'], 4625 'Refunded': ["Äã hoà n tiá»n", 'bg-success'], 4626 'RefundRejected': ["Từ chá»i há»§y ÄÆ¡n", 'bg-danger'], 4627 'WaitingForSpeed': ["Chá» tÄng tá»c", 'bg-warning'], 4628 'Speeding': ["Äang tÄng tá»c", 'bg-primary'], 4629 'Refilling': ["Refilling", 'bg-primary'], 4630 'Speeded': ["Äã tÄng tá»c", 'bg-success'], 4631 'SpeedUpRejected': ["Từ chá»i tÄng tá»c", 'bg-danger'], 4632 'Refilled': ["Äã bảo hà nh", 'bg-success'], 4633 'WaitingForRefill': ["Chá» bảo hà nh", 'bg-warning'], 4634 'RefillRejected': ["Từ chá»i bảo hà nh", 'bg-danger'], 4635 }; 4636 4637 const defaultStatus = ["Chưa há» trợ", 'bg-danger']; 4638 4639 const result = statuses[status] || defaultStatus; 4640 4641 if (html) { 4642 return `<span class="badge ${result[1]}">${result[0]}</span>`; 4643 } 4644 4645 return result[0]; 4646} 4647 4648 4649const handleCheckRecharge = async () => { 4650 $.ajax({ 4651 url: 'https://socialcare.vn/user/recharge/check', 4652 type: 'GET', 4653 dataType: 'json', 4654 success: function (res) { 4655 if (res.status === 'success') { 4656 Swal.fire("Thà nh công", res.message, "success").then(() => window.location.reload()); 4657 } 4658 }, 4659 }); 4660} 4661 4662const handleCheckLevel = async () => { 4663 $.ajax({ 4664 url: 'https://socialcare.vn/user/level/check', 4665 type: 'GET', 4666 dataType: 'json', 4667 success: function (res) { 4668 if (res.status === 'success') { 4669 Swal.fire("Thà nh công", res.message, "success"); 4670 } 4671 }, 4672 }); 4673} 4674 4675function countDecimals(value) { 4676 if (Math.floor(value) === value) return 0; 4677 return value.toString().split(".")[1]?.length || 0; 4678} 4679 4680const formatCurrency = (value) => { 4681 let formatted; 4682 4683 if (value > 1000) { 4684 const rounded = Math.round(value); 4685 formatted = rounded.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); 4686 } else if (value >= 1) { 4687 const rounded = Math.round(value * 100) / 100; 4688 formatted = rounded.toFixed(2).replace(/\.?0+$/, ''); 4689 } else { 4690 const rounded = Math.round(value * 10000) / 10000; 4691 formatted = rounded.toFixed(4).replace(/\.?0+$/, ''); 4692 } 4693 4694 return formatted + ' â«'; 4695 } 4696 4697const formatCurrency2 = (value) => { 4698 if (value > 1000) { 4699 const rounded = Math.round(value); 4700 return rounded.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); 4701 } else if (value >= 1) { 4702 const rounded = Math.round(value * 100) / 100; 4703 return rounded.toFixed(2).replace(/\.?0+$/, ''); 4704 } else { 4705 const rounded = Math.round(value * 10000) / 10000; 4706 return rounded.toFixed(4).replace(/\.?0+$/, ''); 4707 } 4708 } 4709 4710const formatCurrency3 = (value) => { 4711 let formatted; 4712 4713 if (value > 1000) { 4714 const rounded = Math.round(value); 4715 formatted = rounded.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); 4716 } else if (value >= 1) { 4717 const rounded = Math.round(value * 100) / 100; 4718 formatted = rounded.toFixed(2).replace(/\.?0+$/, ''); 4719 } else { 4720 const rounded = Math.round(value * 10000) / 10000; 4721 formatted = rounded.toFixed(4).replace(/\.?0+$/, ''); 4722 } 4723 4724 return formatted + ' â«'; 4725 } 4726 4727const formatDate = (date) => {
4728 return new Date(date).toLocaleString(); 4729} 4730 4731const formatNumber = (value) => { 4732 return new Intl.NumberFormat('vi-VN').format(value); 4733} 4734 4735const levelUser = (level, html = false) => { 4736 const levels = { 4737 'member': ["Thà nh viên", 'bg-primary'], 4738 'collaborator': ["Cá»ng tác viên", 'bg-success'], 4739 'agency': ["Äại lý", 'bg-warning'], 4740 'distributor': ["Nhà phân phá»i", 'bg-danger'], 4741 'marketing': ["Marketing", 'bg-info'], 4742 }; 4743 4744 const defaultLevel = ["Thà nh viên", 'bg-primary']; 4745 4746 const result = levels[level] || defaultLevel; 4747 4748 if (html) { 4749 return `<span class="badge ${result[1]}">${result[0]}</span>`; 4750 } 4751 4752 return result[0]; 4753} 4754 function copyToClipboard(element) { 4755 // Há» trợ: '#id'/'.class' (selector), 'id' (không # â coi là id), hoặc DOM node. 4756 var $el; 4757 if (typeof element === 'string') { 4758 $el = /^[#.\[]/.test(element) ? $(element) : $('#' + element); 4759 if (!$el.length) $el = $(element); 4760 } else { 4761 $el = $(element); 4762 } 4763 // input/textarea â val(); span/div â text(). (Trưá»c Äây dùng $(element).val() nên 4764 // copy 'key' (span, thiếu #) ra rá»ng/thiếu â gây lá»i sao chép api_key.) 4765 var text = $el.is('input, textarea') ? $el.val() : ($el.val() || $el.text()); 4766 text = (text || '').trim(); 4767 4768 if (navigator.clipboard && window.isSecureContext) { 4769 navigator.clipboard.writeText(text).catch(function () {}); 4770 } else { 4771 var $temp = $("<textarea>"); 4772 $("body").append($temp); 4773 $temp.val(text).select(); 4774 document.execCommand("copy"); 4775 $temp.remove(); 4776 } 4777 Swal.fire({ 4778 toast: true, 4779 position: 'top-end',
4780 showConfirmButton: false, 4781 icon: 'success', 4782 title: "Äã sao chép và o clipboard", 4783 timer: 2000 4784 }); 4785 } 4786 function toggleContent() { 4787 var content = document.getElementById("seoContentText"); 4788 var btn = document.getElementById("showMoreBtn"); 4789 content.classList.toggle("show-all"); 4790 if (content.classList.contains("show-all")) { 4791 btn.textContent = "Thu gá»n"; 4792 } else { 4793 btn.textContent = "Xem thêm"; 4794 } 4795 } 4796</script>
4796 4797 4798 4799 4800 4801 4802 <div id="ai-chat-widget" style="position: fixed; bottom: 20px; right: 20px; z-index: 99;"> 4803 <!-- Nút má» --> 4804 <button id="ai-chat-toggle" class="btn btn-primary rounded-circle shadow-lg d-flex align-items-center justify-content-center p-0 position-relative" 4805 style="width: 60px; height: 60px; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;"> 4806 <i class="fas fa-headset fs-24"></i> 4807 </button> 4808 4809 <!-- Bong bóng chà o --> 4810 <div id="welcome-bubble" class="d-none position-absolute bg-white shadow-lg rounded-4 p-2" style="bottom: 5px; right: 75px; width: 280px; z-index: 10; animation: slideInRight 0.5s ease-out;"> 4811 <div class="d-flex align-items-start gap-2"> 4812 <div class="bg-primary rounded-circle d-flex align-items-center justify-content-center flex-shrink-0" style="width: 36px; height: 36px;"> 4813 <i class="fas fa-headset text-white"></i> 4814 </div> 4815 <div class="flex-grow-1"> 4816 <p class="mb-0 text-dark fw-semibold" style="font-size: 13px; line-height: 1.5;"> 4817 Xin chà o! ð<br>Bạn cần há» trợ gì không? 4818 </p> 4819 </div> 4820 <button class="btn btn-sm p-0 text-muted" id="close-bubble" style="width: 20px; height: 20px; line-height: 1;"> 4821 <i class="fas fa-times" style="font-size: 12px;"></i> 4822 </button> 4823 </div> 4824 <div class="position-absolute" style="bottom: 15px; right: -8px; width: 0; height: 0; 4825 border-top: 8px solid transparent; border-bottom: 8px solid transparent; 4826 border-left: 8px solid white;"></div> 4827 </div> 4828 4829 <!-- Bảng liên há» --> 4830 <div id="ai-chat-box" class="card shadow-lg mb-0 d-none" 4831 style="position: absolute; bottom: 0; right: 0; width: 380px; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; background-color: #ffffff; border: 1px solid #dee2e6;"> 4832 <!-- Äầu bảng --> 4833 <div class="card-header border-0 d-flex justify-content-between align-items-center py-2 px-3 text-white" style="background-color: #2b5fed; border-bottom: 1px solid #e9ecef; z-index: 2;"> 4834 <div class="d-flex align-items-center gap-2"> 4835 <div class="bg-white rounded-circle d-flex align-items-center justify-content-center" style="width: 40px; height: 40px;"> 4836 <i class="fas fa-headset fs-20" style="color: #2b5fed;"></i> 4837 </div> 4838 4839 <div> 4840 <h6 class="mb-0 fw-bold">Há» trợ khách hà ng</h6> 4841 <small style="font-size: 11px; opacity: 0.9;"><i class="fas fa-circle text-success" style="font-size: 8px;"></i> Chá»n kênh liên há» bên dưá»i</small> 4842 </div> 4843 </div> 4844 <button id="ai-chat-close" class="btn btn-sm btn-link text-white p-0 hover-light" style="opacity: 0.8"><i class="fas fa-times fs-20"></i></button> 4845 </div> 4846 4847 <!-- Danh sách kênh --> 4848 <div class="card-body p-4 text-center" id="cskh-body" style="background-color: #f0f2f5; overflow-y: auto; display: flex; flex-direction: column;"> 4849 <div class="m-auto w-100 d-flex flex-column align-items-center"> 4850 <div class="text-white rounded-circle d-flex align-items-center justify-content-center mb-3 mx-auto flex-shrink-0" style="width: 70px; height: 70px; min-width: 70px; min-height: 70px; font-size: 32px; background-color: #2b5fed;"> 4851 <i class="fas fa-headset"></i> 4852 </div> 4853 <h5 class="fw-bold mb-2 text-dark">Liên há» CSKH</h5> 4854 <p class="text-muted mb-3" style="font-size: 13px;">Äá»i ngÅ© luôn sẵn sà ng há» trợ bạn! ðª<br>Chá»n kênh liên há» phù hợp nhé.</p> 4855 4856 4857 <div class="w-100 mb-3 px-3 py-2 rounded-3 text-start d-flex align-items-start gap-2" 4858 style="background-color: #fff8e1; border: 1px solid #ffe0a3;"> 4859 <i class="far fa-clock" style="color: #b8860b; font-size: 15px; margin-top: 2px;"></i> 4860 <div> 4861 <div class="fw-bold text-dark" style="font-size: 12px;">Thá»i gian há» trợ</div> 4862 <div class="text-dark" style="font-size: 12px; line-height: 1.6; opacity: .85;">Sáng 8h30â12h · Chiá»u 13h30â17h · Tá»i 18hâ21h (Thứ 2 â Chá»§ nháºt)</div> 4863 </div> 4864 </div> 4865 4866 <div class="w-100 d-flex flex-column gap-2"> 4867 <a href="https://zalo.me/3938139223101952461" target="_blank" rel="noopener" class="btn text-start d-flex align-items-center rounded-3 p-2 px-3 text-white text-decoration-none border-0 shadow-sm" style="background-color: #0068ff;"> 4868 <i class="fas fa-comment-dots fs-3 me-2"></i> 4869 <div class="flex-grow-1"> 4870 <div class="fw-bold mb-0" style="font-size: 14px;">
4870Zalo</div> 4871 <div style="font-size: 11px; opacity: 0.9;">Nhắn tin trá»±c tiếp qua Zalo</div> 4872 </div> 4873 <i class="fas fa-chevron-right fs-6 opacity-75" style="font-size: 14px !important;"></i> 4874 </a> 4875 4876 <a href="https://m.me/61579532100952" target="_blank" rel="noopener" class="btn text-start d-flex align-items-center rounded-3 p-2 px-3 text-white text-decoration-none border-0 shadow-sm" style="background-color: #0084ff;"> 4877 <i class="fab fa-facebook-messenger fs-3 me-2"></i> 4878 <div class="flex-grow-1"> 4879 <div class="fw-bold mb-0" style="font-size: 14px;">Messenger</div> 4880 <div style="font-size: 11px; opacity: 0.9;">Facebook Messenger</div> 4881 </div> 4882 <i class="fas fa-chevron-right fs-6 opacity-75" style="font-size: 14px !important;"></i> 4883 </a> 4884 4885 4886 4887 </div> 4888 </div> 4889 4890 <div class="text-center text-muted mt-4" style="font-size: 12px;"> 4891 Thưá»ng phản há»i trong và i phút â¡ 4892 </div> 4893 </div> 4894 </div> 4895</div> 4896 4897<style> 4898 @media (max-width: 768px) { 4899 #ai-chat-box { 4900 position: fixed !important; 4901 top: 0 !important; 4902 left: 0 !important; 4903 bottom: 0 !important; 4904 right: 0 !important; 4905 width: 100% !important; 4906 height: 100% !important; 4907 border-radius: 0 !important; 4908 z-index: 9999 !important; 4909 } 4910 #ai-chat-widget { 4911 z-index: 9999 !important; 4912 } 4913 } 4914 4915 #cskh-body::-webkit-scrollbar { width: 6px; } 4916 #cskh-body::-webkit-scrollbar-track { background: #f1f1f1; } 4917 #cskh-body::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 3px; } 4918 4919 @keyframes slideInRight { 4920 from { opacity: 0; transform: translateX(20px); } 4921 to { opacity: 1; transform: translateX(0); } 4922 } 4923</style> 4924
4925<script> 4926 document.addEventListener('DOMContentLoaded', function () { 4927 const chatToggle = document.getElementById('ai-chat-toggle'); 4928 const chatBox = document.getElementById('ai-chat-box'); 4929 const chatClose = document.getElementById('ai-chat-close'); 4930 const welcomeBubble = document.getElementById('welcome-bubble'); 4931 const closeBubble = document.getElementById('close-bubble'); 4932 4933 if (!chatToggle || !chatBox) return; 4934 4935 function anBongBong() { 4936 if (!welcomeBubble) return; 4937 welcomeBubble.classList.add('d-none'); 4938 localStorage.setItem('chat_welcome_seen', 'true'); 4939 } 4940 4941 // Bong bóng chà o: chá» hiá»n má»t lần cho má»i trình duyá»t. 4942 if (welcomeBubble && !localStorage.getItem('chat_welcome_seen')) { 4943 setTimeout(() => welcomeBubble.classList.remove('d-none'), 3000); 4944 } 4945 if (closeBubble) { 4946 closeBubble.addEventListener('click', (e) => { e.stopPropagation(); anBongBong(); }); 4947 } 4948 if (welcomeBubble) { 4949 welcomeBubble.addEventListener('click', () => { anBongBong(); chatToggle.click(); }); 4950 } 4951 4952 chatToggle.addEventListener('click', () => { 4953 chatBox.classList.toggle('d-none'); 4954 anBongBong(); 4955 }); 4956 4957 chatClose.addEventListener('click', () => chatBox.classList.add('d-none')); 4958 }); 4959</script>
4959 4960 4961 4962 <div id="pwa-install-backdrop" style="display:none"></div> 4963<div id="pwa-install-popup" style="display:none"> 4964 <div class="pwa-popup-content"> 4965 <div class="pwa-popup-icon"> 4966 <img src="https://socialcare.vn/uploads/1744562175_l95R6hPsDO.png" alt="App Icon" width="50" height="50"> 4967 </div> 4968 <div class="pwa-popup-info"> 4969 <div class="pwa-popup-title">Cà i Äặt socialcare.vn</div> 4970 <div class="pwa-popup-desc">Thêm và o mà n hình chÃnh Äá» tiá»n lợi & nháºn ưu Äãi.</div> 4971 </div> 4972 </div> 4973 <div class="pwa-popup-actions"> 4974 <button type="button" id="pwa-install-btn" class="pwa-btn-install">Cà i Äặt</button> 4975 <button type="button" id="pwa-dismiss-btn" class="pwa-btn-dismiss">Äá» sau</button> 4976 </div> 4977</div> 4978 4979<style> 4980/* ===== PWA Install Popup ===== */ 4981#pwa-install-backdrop { 4982 display: none; 4983 position: fixed; 4984 inset: 0; 4985 background: rgba(0,0,0,.45); 4986 z-index: 10999; 4987 opacity: 0; 4988 transition: opacity .3s ease; 4989} 4990#pwa-install-backdrop.show { opacity: 1; } 4991 4992#pwa-install-popup { 4993 display: none; 4994 position: fixed; 4995 z-index: 11000; 4996 background: #fff; 4997 border-radius: 16px; 4998 box-shadow: 0 8px 32px rgba(0,0,0,.18); 4999 padding: 18px 20px 16px; 5000 max-width: 370px; 5001 width: calc(100% - 32px); 5002 opacity: 0; 5003 transition: opacity .35s ease, transform .35s ease; 5004} 5005 5006/* Desktop: bottom-left, no backdrop */ 5007#pwa-install-popup { 5008 bottom: 24px; 5009 left: 24px; 5010 transform: translateY(30px); 5011} 5012#pwa-install-popup.show { 5013 opacity: 1; 5014 transform: translateY(0); 5015} 5016 5017/* Mobile: bottom-center with backdrop */ 5018@media (max-width: 768px) { 5019 #pwa-install-backdrop { 5020 z-index: 999998 !important; 5021 } 5022 #pwa-install-popup { 5023 left: 50%; 5024 bottom: 60px !important; /* Position perfectly above the bottom navigation bar */ 5025 transform: translate(-50%, 150%) !important; 5026 border-radius: 16px !important; /* Floating card styling */ 5027 max-width: calc(100% - 32px) !important; 5028 width: calc(100% - 32px) !important; 5029 z-index: 999999 !important; /* Render on top of the bottom navigation bar */ 5030 box-shadow: 0 10px 30px rgba(0,0,0,.25) !important; 5031 } 5032 #pwa-install-popup.show { 5033 transform: translate(-50%, -10px) !important; /* Hover beautifully above the bottom bar with a 10px spacing */ 5034 } 5035} 5036 5037.pwa-popup-content { 5038 display: flex; 5039 align-items: center; 5040 gap: 14px; 5041 margin-bottom: 16px; 5042} 5043 5044.pwa-popup-icon { 5045 flex-shrink: 0; 5046 width: 54px; 5047 height: 54px; 5048 border-radius: 12px; 5049 overflow: hidden; 5050 background: #f0f4ff; 5051 display: flex; 5052 align-items: center; 5053 justify-content: center; 5054} 5055.pwa-popup-icon img { 5056 width: 50px; 5057 height: 50px; 5058 object-fit: contain; 5059 border-radius: 10px; 5060} 5061 5062.pwa-popup-title { 5063 font-size: 15px; 5064 font-weight: 700; 5065 color: #1a1a2e; 5066 margin-bottom: 3px; 5067 line-height: 1.3; 5068} 5069 5070.pwa-popup-desc { 5071 font-size: 13px; 5072 color: #666; 5073 line-height: 1.4; 5074} 5075 5076.pwa-popup-actions { 5077 display: flex; 5078 gap: 10px; 5079} 5080 5081.pwa-btn-install { 5082 flex: 1; 5083 padding: 10px 0; 5084 background: #3b82f6; 5085 color: #fff; 5086 border: none; 5087 border-radius: 10px; 5088 font-size: 14px; 5089 font-weight: 600; 5090 cursor: pointer; 5091 transition: background .2s; 5092} 5093.pwa-btn-install:hover { background: #2563eb; } 5094 5095.pwa-btn-dismiss { 5096 flex: 1; 5097 padding: 10px 0; 5098 background: #f1f3f5; 5099 color: #555; 5100 border: none; 5101 border-radius: 10px; 5102 font-size: 14px; 5103 font-weight: 600; 5104 cursor: pointer; 5105 transition: background .2s; 5106} 5107.pwa-btn-dismiss:hover { background: #e2e5e9; } 5108</style> 5109
5110<script> 5111(function() { 5112 const STORAGE_KEY = 'pwa_install_dismissed'; 5113 const COOLDOWN_MS = 24 * 60 * 60 * 1000; // 24 hours 5114 const SHOW_DELAY = 12000; // fallback: hiá»n sau 12s nếu user chưa cuá»n (tránh che lúc má»i và o) 5115 5116 // 1. Already running as installed app? â skip 5117 const isStandalone = 5118 window.matchMedia('(display-mode: standalone)').matches || 5119 window.matchMedia('(display-mode: fullscreen)').matches || 5120 window.navigator.standalone === true; 5121 if (isStandalone) return; 5122 5123 // 2. Dismissed within 24h? â skip 5124 const dismissed = localStorage.getItem(STORAGE_KEY); 5125 if (dismissed && (Date.now() - parseInt(dismissed, 10)) < COOLDOWN_MS) return; 5126 5127 // 3. Capture the beforeinstallprompt event (Chrome / Edge) 5128 let deferredPrompt = null; 5129 window.addEventListener('beforeinstallprompt', function(e) { 5130 e.preventDefault(); 5131 deferredPrompt = e; 5132 }); 5133 5134 // 4. Hiá»n popup sau khi user CUá»N 1 Äoạn HOẶC sau SHOW_DELAY â KHÃNG là m tá»i ná»n, không che lúc má»i và o 5135 const popup = document.getElementById('pwa-install-popup'); 5136 const backdrop = document.getElementById('pwa-install-backdrop'); // giữ phần tá» nhưng không hiá»n (bá» là m tá»i ná»n) 5137 5138 let pwaShown = false; 5139 function showPwaPopup() { 5140 if (pwaShown) return; 5141 pwaShown = true; 5142 window.removeEventListener('scroll', onPwaScroll); 5143 popup.style.display = 'block'; 5144 void popup.offsetHeight; // reflow Äá» chạy animation 5145 popup.classList.add('show'); 5146 } 5147 function onPwaScroll() { 5148 if (window.scrollY > 500) showPwaPopup(); 5149 } 5150 window.addEventListener('scroll', onPwaScroll, { passive: true }); 5151 setTimeout(showPwaPopup, SHOW_DELAY); 5152 5153 // Helper: close popup 5154 function closePopup() { 5155 popup.classList.remove('show'); 5156 backdrop.classList.remove('show'); 5157 setTimeout(function() { 5158 popup.style.display = 'none'; 5159 backdrop.style.display = 'none'; 5160 }, 350); 5161 } 5162 5163 // 5. "Äá» sau" button 5164 document.getElementById('pwa-dismiss-btn').addEventListener('click', function() { 5165 localStorage.setItem(STORAGE_KEY, Date.now().toString()); 5166 closePopup(); 5167 }); 5168 5169 // 6. Backdrop click â dismiss (mobile) 5170 backdrop.addEventListener('click', function() { 5171 localStorage.setItem(STORAGE_KEY, Date.now().toString()); 5172 closePopup(); 5173 }); 5174 5175 // 7. "Cà i Äặt" button 5176 document.getElementById('pwa-install-btn').addEventListener('click', function() { 5177 if (deferredPrompt) { 5178 // Native install prompt (Chrome/Edge) 5179 deferredPrompt.prompt(); 5180 deferredPrompt.userChoice.then(function(result) { 5181 deferredPrompt = null; 5182 closePopup(); 5183 if (result.outcome === 'accepted') { 5184 localStorage.setItem(STORAGE_KEY, Date.now().toString()); 5185 } 5186 }); 5187 } else { 5188 // Fallback: show manual instructions 5189 var ua = navigator.userAgent || ''; 5190 var msg = ''; 5191 if (/iPhone|iPad|iPod/i.test(ua)) { 5192 msg = 'Nhấn nút Chia sẻ (hình vuông có mÅ©i tên) á» thanh dưá»i trình duyá»t Safari (hoặc góc trên bên phải cá»§a trình duyá»t Chrome), sau Äó chá»n "Thêm và o MH chÃnh".'; 5193 } else if (/Firefox/i.test(ua)) { 5194 msg = 'Má» menu (â®) á» góc phải trên, chá»n "Cà i Äặt" hoặc "Thêm và o MH chÃnh".'; 5195 } else { 5196 msg = 'Má» menu trình duyá»t (â®), chá»n "Cà i Äặt ứng dụng" hoặc "Thêm và o MH chÃnh".'; 5197 } 5198 if (typeof Swal !== 'undefined') { 5199 Swal.fire({ 5200 title: 'Hưá»ng dẫn cà i Äặt', 5201 html: '<div style="text-align:left;font-size:14px;line-height:1.6">' + msg + '</div>', 5202 icon: 'info', 5203 confirmButtonText: 'Äã hiá»u', 5204 customClass: { confirmButton: 'btn btn-primary' }, 5205 buttonsStyling: false 5206 }); 5207 } else { 5208 alert(msg); 5209 } 5210 localStorage.setItem(STORAGE_KEY, Date.now().toString()); 5211 closePopup(); 5212 } 5213 }); 5214 5215 // 8. Listen for successful install 5216 window.addEventListener('appinstalled', function() { 5217 localStorage.setItem(STORAGE_KEY, Date.now().toString()); 5218 closePopup(); 5219 }); 5220})(); 5221</script>
5221 5222 5223 5224 5225 <!-- Mobile Bottom Navigation Bar --> 5226 <div class="mobile-bottom-nav"> 5227 <a href="https://socialcare.vn" class="nav-item "> 5228 <div class="nav-icon-wrapper"> 5229 <i class="fas fa-plus-circle"></i> 5230 </div> 5231 <span>Äặt ÄÆ¡n</span> 5232 </a> 5233 <a href="https://socialcare.vn/user/recharge" class="nav-item "> 5234 <div class="nav-icon-wrapper"> 5235 <i class="fas fa-wallet"></i> 5236 </div> 5237 <span>Nạp tiá»n</span> 5238 </a> 5239 <a href="javascript:void(0);" class="nav-item" id="mobile-support-btn"> 5240 <div class="nav-icon-wrapper"> 5241 <i class="fas fa-headset"></i> 5242 </div> 5243 <span>Há» trợ</span> 5244 </a> 5245 <a href="https://socialcare.vn/user/orders" class="nav-item "> 5246 <div class="nav-icon-wrapper"> 5247 <i class="fas fa-clipboard-list"></i> 5248 </div> 5249 <span>ÄÆ¡n hà ng</span> 5250 </a> 5251 </div> 5252 5253
5253<script> 5254 document.addEventListener('DOMContentLoaded', function() { 5255 const mobileSupportBtn = document.getElementById('mobile-support-btn'); 5256 if (mobileSupportBtn) { 5257 mobileSupportBtn.addEventListener('click', function(e) { 5258 e.preventDefault(); 5259 const aiChatToggle = document.getElementById('ai-chat-toggle'); 5260 if (aiChatToggle) { 5261 aiChatToggle.click(); 5262 } else { 5263 window.location.href = "https://socialcare.vn/ticket"; 5264 } 5265 }); 5266 } 5267 5268 function updateSupportBtnState() { 5269 const chatBox = document.getElementById('ai-chat-box'); 5270 const supportBtn = document.getElementById('mobile-support-btn'); 5271 if (chatBox && supportBtn) { 5272 const isOpen = !chatBox.classList.contains('d-none'); 5273 if (isOpen) { 5274 supportBtn.classList.add('active'); 5275 document.body.classList.add('chat-open'); 5276 } else { 5277 supportBtn.classList.remove('active'); 5278 document.body.classList.remove('chat-open'); 5279 } 5280 } 5281 } 5282 5283 // Hook into chat widget elements to update bottom nav support active state 5284 setTimeout(() => { 5285 const toggleBtn = document.getElementById('ai-chat-toggle'); 5286 const closeBtn = document.getElementById('ai-chat-close'); 5287 if (toggleBtn) { 5288 toggleBtn.addEventListener('click', () => setTimeout(updateSupportBtnState, 50)); 5289 } 5290 if (closeBtn) { 5291 closeBtn.addEventListener('click', () => setTimeout(updateSupportBtnState, 50)); 5292 } 5293 updateSupportBtnState(); 5294 }, 1000); 5295 }); 5296 </script>
5296 5297 5298 5299 5300 5301
5301<script> 5302 // Má» Äúng mục theo neo trên ÄÆ°á»ng dẫn: gá»i cho Äá»i tác link 5303 // /docs-api-v2#traffic_add_key là há» tá»i thẳng mục Äó. Trưá»c Äây neo không có tác dụng â 5304 // ai nháºn link cÅ©ng phải tá»± dò trong danh sách hà ng chục mục. 5305 (function moTheoNeo() { 5306 function mo(neo) { 5307 if (!neo) return; 5308 var nut = document.querySelector('.apidoc-link[href="' + neo + '"]'); 5309 if (!nut || typeof bootstrap === 'undefined') return; 5310 5311 bootstrap.Tab.getOrCreateInstance(nut).show(); 5312 nut.scrollIntoView({ block: 'center' }); 5313 } 5314 5315 document.addEventListener('DOMContentLoaded', function () { 5316 mo(window.location.hash); 5317 }); 5318 window.addEventListener('hashchange', function () { 5319 mo(window.location.hash); 5320 }); 5321 })(); 5322 5323 function refreshTokenClick() { 5324 Swal.fire({ 5325 title: "Xác nháºn", 5326 text: "Bạn có chắc chắn muá»n tạo lại API KEY không?", 5327 icon: 'warning', 5328 showCancelButton: true, 5329 confirmButtonColor: '#3085d6', 5330 cancelButtonColor: '#d33', 5331 confirmButtonText: "Tạo lại", 5332 cancelButtonText: "Há»§y" 5333 }).then((result) => { 5334 if (result.isConfirmed) { 5335 $.ajax({ 5336 url: "https://socialcare.vn/user/refresh-token", 5337 type: "POST", 5338 data: { 5339 _token: "H0tM5qqDQdVvZbwbODMb7aDAvKMQziNaW75RaVNT" 5340 }, 5341 dataType: "json", 5342 success: function (response) { 5343 if (response.status) { 5344 $('#key').text(response.api_key); 5345 Swal.fire( 5346 "Thà nh công", 5347 "Tạo API KEY má»i thà nh công", 5348 'success' 5349 ) 5350 } else { 5351 Swal.fire( 5352 "Thất bại", 5353 "Có lá»i xảy ra, vui lòng thá» lại sau", 5354 'error' 5355 ) 5356 } 5357 } 5358 }); 5359 } 5360 }); 5361 } 5362 </script>
5362 5363
5363<script> 5364 document.addEventListener("DOMContentLoaded", function () { 5365 const select = document.getElementById("sl-add-type"); 5366 const allOptionRows = document.querySelectorAll("tr.options"); 5367 5368 function toggleTableRows(type) { 5369 allOptionRows.forEach(row => row.style.display = "none"); 5370 if (type) { 5371 const matchingRows = document.querySelectorAll(`tr.options.${type}`); 5372 matchingRows.forEach(row => row.style.display = ""); 5373 } 5374 } 5375 toggleTableRows(select.value); 5376 select.addEventListener("change", function () { 5377 toggleTableRows(this.value); 5378 }); 5379 }); 5380 document.addEventListener("DOMContentLoaded", function () { 5381 const select = document.getElementById("sl-add-proxy"); 5382 const allOptionRows = document.querySelectorAll(".proxies"); 5383 5384 function toggleTableRows(type) { 5385 allOptionRows.forEach(row => row.style.display = "none"); 5386 if (type) { 5387 const matchingRows = document.querySelectorAll(`.proxies.${type}`); 5388 matchingRows.forEach(row => row.style.display = ""); 5389 } 5390 } 5391 toggleTableRows(select.value); 5392 select.addEventListener("change", function () { 5393 toggleTableRows(this.value); 5394 }); 5395 }); 5396 </script>
5396 5397
5397<script> 5398 (function () { 5399 // Äá»ng bá» tiêu Äá» endpoint Äang xem + Äóng sidebar mobile khi chá»n 5400 var titleEl = document.getElementById('apidocCurrentTitle'); 5401 function syncTitle(link) { if (titleEl && link) titleEl.textContent = link.textContent.trim(); } 5402 document.querySelectorAll('.apidoc-link').forEach(function (a) { 5403 a.addEventListener('click', function () { 5404 syncTitle(a); 5405 var sb = document.getElementById('apidocSidebar'); if (sb) sb.classList.remove('open'); 5406 var m = document.getElementById('apidocMain'); if (m && window.innerWidth < 992) m.scrollIntoView({ behavior: 'smooth', block: 'start' }); 5407 }); 5408 }); 5409 5410 // Lá»c endpoint theo từ khóa 5411 var search = document.getElementById('apidocSearch'); 5412 if (search) { 5413 search.addEventListener('input', function () { 5414 var q = this.value.toLowerCase().trim(); 5415 document.querySelectorAll('.apidoc-nav .apidoc-link').forEach(function (a) { 5416 a.style.display = (!q || a.textContent.toLowerCase().indexOf(q) > -1) ? '' : 'none'; 5417 }); 5418 document.querySelectorAll('.apidoc-group-title').forEach(function (t) { 5419 var any = false, el = t.nextElementSibling; 5420 while (el && el.classList.contains('apidoc-link')) { if (el.style.display !== 'none') { any = true; break; } el = el.nextElementSibling; } 5421 t.style.display = any ? '' : 'none'; 5422 }); 5423 }); 5424 } 5425 5426 // Toggle sidebar trên mobile 5427 var toggle = document.querySelector('.apidoc-nav-toggle'); 5428 if (toggle) toggle.addEventListener('click', function () { var sb = document.getElementById('apidocSidebar'); if (sb) sb.classList.toggle('open'); }); 5429 5430 // Nút Copy cho má»i khá»i code. `div.bg-light` chứ không phải `.bg-light`: hà ng tiêu Äá» 5431 // bảng cÅ©ng mang class Äó, quét trần là gắn nút Copy và o giữa bảng tham sá». 5432 document.querySelectorAll('.apidoc-main div.bg-light').forEach(function (box) { 5433 var pre = box.querySelector('pre'); if (!pre) return; 5434 var btn = document.createElement('button'); 5435 btn.type = 'button'; btn.className = 'apidoc-copy-btn'; btn.textContent = 'Copy'; 5436 btn.addEventListener('click', function () { 5437 navigator.clipboard.writeText(pre.textContent).then(function () { 5438 btn.textContent = 'Copied'; setTimeout(function () { btn.textContent = 'Copy'; }, 1500); 5439 }); 5440 }); 5441 box.appendChild(btn); 5442 }); 5443 })(); 5444 </script>
5444 5445 5446 5447 5448 5449 <div id="cspGate" class="csp-gate" role="dialog" aria-modal="true" aria-labelledby="cspGateTitle"> 5450 <div class="csp-box"> 5451 <div class="csp-head"> 5452 <i class="fa-solid fa-file-shield"></i> 5453 <span id="cspGateTitle">Äiá»u khoản sá» dụng dá»ch vụ</span> 5454 </div> 5455 5456 <div class="csp-body"> 5457 <p class="csp-intro"> 5458 Äá» sá» dụng <strong>Socialcare.vn</strong>, vui lòng Äá»c và Äá»ng ý vá»i các vÄn bản dưá»i Äây. 5459 Viá»c Äá»ng ý là Äiá»u kiá»n bắt buá»c trưá»c khi Äặt ÄÆ¡n hoặc sá» dụng dá»ch vụ. 5460 </p> 5461 5462 <div class="csp-docs"> 5463 <a href="https://socialcare.vn/rule" target="_blank" rel="noopener"> 5464 <i class="fa-solid fa-scale-balanced"></i> 5465 <span>Äiá»u khoản & Äiá»u kiá»n sá» dụng</span> 5466 <i class="fa-solid fa-arrow-up-right-from-square csp-ext"></i> 5467 </a> 5468 <a href="https://socialcare.vn/chinh-sach-noi-dung" target="_blank" rel="noopener"> 5469 <i class="fa-solid fa-circle-exclamation"></i> 5470 <span>ChÃnh sách ná»i dung (ná»i dung/ÄÆ°á»ng dẫn ÄÆ°á»£c phép)</span> 5471 <i class="fa-solid fa-arrow-up-right-from-square csp-ext"></i> 5472 </a> 5473 </div> 5474 5475 <label class="csp-check"> 5476 <input type="checkbox" id="cspAgreeChk"> 5477 <span> 5478 Tôi Äã <strong>Äá»c, hiá»u và Äá»ng ý</strong> vá»i Äiá»u khoản sá» dụng và ChÃnh sách ná»i dung cá»§a Socialcare.vn. 5479 </span> 5480 </label> 5481 5482 <p class="csp-note"> 5483 <i class="fa-solid fa-shield-halved"></i> 5484 Thá»i Äiá»m, Äá»a chá» IP và thiết bá» cá»§a bạn ÄÆ°á»£c ghi lại Äá» xác nháºn sá»± Äá»ng ý nà y (phiên bản 2026-09-15). 5485 </p> 5486 </div> 5487 5488 <div class="csp-foot"> 5489 <button type="button" id="cspAgreeBtn" class="csp-btn" disabled> 5490 Äá»ng ý & Tiếp tục 5491 </button> 5492 </div> 5493 </div> 5494</div> 5495 5496<style> 5497 .csp-gate { 5498 position: fixed; inset: 0; z-index: 20000; 5499 display: flex; align-items: center; justify-content: center; 5500 padding: 16px; background: rgba(15, 23, 42, .62); backdrop-filter: blur(3px); 5501 } 5502 body.csp-locked { overflow: hidden !important; } 5503 .csp-box { 5504 width: 100%; max-width: 520px; background: #fff; border-radius: 16px; 5505 box-shadow: 0 30px 70px -20px rgba(15, 23, 42, .55); overflow: hidden; 5506 animation: cspIn .18s ease-out; 5507 } 5508 @keyframes cspIn { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } } 5509 .csp-head { 5510 display: flex; align-items: center; gap: .6rem; padding: 1.05rem 1.25rem; 5511 font-size: 1.05rem; font-weight: 800; color: #fff; 5512 background: linear-gradient(135deg, rgb(var(--primary-rgb, 99 102 241)), #7c3aed); 5513 } 5514 .csp-body { padding: 1.15rem 1.25rem .5rem; } 5515 .csp-intro { margin: 0 0 .95rem; color: #334155; font-size: .93rem; line-height: 1.6; } 5516 .csp-docs { display: flex; flex-direction: column; gap: .55rem; margin-bottom: 1rem; } 5517 .csp-docs a { 5518 display: flex; align-items: center; gap: .6rem; padding: .7rem .85rem; 5519 border: 1px solid rgba(var(--primary-rgb, 99 102 241), .25); border-radius: .7rem; 5520 background: rgba(var(--primary-rgb, 99 102 241), .05); 5521 color: #0f172a; font-weight: 600; font-size: .9rem; text-decoration: none; transition: background .15s; 5522 } 5523 .csp-docs a:hover { background: rgba(var(--primary-rgb, 99 102 241), .12); } 5524 .csp-docs a > span { flex: 1; } 5525 .csp-docs .csp-ext { font-size: .72rem; opacity: .55; } 5526 .csp-check { 5527 display: flex; gap: .65rem; align-items: flex-start; cursor: pointer; 5528 padding: .8rem .9rem; border-radius: .7rem; background: #f8fafc; border: 1px solid #e2e8f0; 5529 font-size: .9rem; color: #334155; line-height: 1.55; margin-bottom: .75rem; 5530 } 5531 .csp-check input { margin-top: .25rem; width: 1.05rem; height: 1.05rem; flex: 0 0 auto; cursor: pointer; } 5532 .csp-note { display: flex; gap: .5rem; align-items: flex-start; margin: 0 0 .5rem; 5533 font-size: .8rem; color: #64748b; line-height: 1.5; } 5534 .csp-note i { margin-top: .15rem; color: rgb(var(--primary-rgb, 99 102 241)); } 5535 .csp-foot { padding: .5rem 1.25rem 1.25rem; } 5536 .csp-btn { 5537 width: 100%; border: 0; border-radius: .7rem; padding: .8rem 1rem; 5538 font-size: .98rem; font-weight: 700; color: #fff; cursor: pointer; 5539 background: rgb(var(--primary-rgb, 99 102 241)); transition: opacity .15s, filter .15s; 5540 } 5541 .csp-btn:hover:not(:disabled) { filter: brightness(1.06); } 5542 .csp-btn:disabled { opacity: .5;
5542 cursor: not-allowed; } 5543 @media (max-width: 480px) { 5544 .csp-box { max-width: 100%; } 5545 .csp-head { font-size: .98rem; } 5546 } 5547</style> 5548
5549<script> 5550(function () { 5551 var gate = document.getElementById('cspGate'); 5552 if (!gate) return; 5553 var chk = document.getElementById('cspAgreeChk'); 5554 var btn = document.getElementById('cspAgreeBtn'); 5555 var version = "2026-09-15"; 5556 var url = "https:\/\/socialcare.vn\/dong-y-dieu-khoan"; 5557 var tokenMeta = document.querySelector('meta[name="csrf-token"]'); 5558 var csrf = tokenMeta ? tokenMeta.getAttribute('content') : ''; 5559 5560 document.body.classList.add('csp-locked'); 5561 5562 // Mã máy khách Äá» ná»i consent lúc chưa ÄÄng nháºp vá»i lúc Äã ÄÄng nháºp (best-effort). 5563 var clientToken = ''; 5564 try { 5565 clientToken = localStorage.getItem('csp_ct') || ''; 5566 if (!clientToken) { 5567 clientToken = 'ct_' + Date.now().toString(36) + Math.random().toString(36).slice(2, 10); 5568 localStorage.setItem('csp_ct', clientToken); 5569 } 5570 } catch (e) { /* private mode: bá» qua, không chặn Äá»ng ý */ } 5571 5572 chk.addEventListener('change', function () { btn.disabled = !chk.checked; }); 5573 5574 btn.addEventListener('click', function () { 5575 if (!chk.checked) return; 5576 btn.disabled = true; 5577 btn.textContent = "\u0110ang l\u01b0u..."; 5578 5579 var body = new URLSearchParams(); 5580 body.append('_token', csrf); 5581 body.append('client_token', clientToken); 5582 body.append('version', version); 5583 5584 fetch(url, { 5585 method: 'POST', 5586 headers: { 'X-CSRF-TOKEN': csrf, 'X-Requested-With': 'XMLHttpRequest', 'Accept': 'application/json' }, 5587 body: body, 5588 credentials: 'same-origin' 5589 }).then(function (r) { return r.json().catch(function () { return {}; }); }) 5590 .then(function () { 5591 try { localStorage.setItem('csp_agree', version); } catch (e) {} 5592 document.body.classList.remove('csp-locked'); 5593 gate.remove(); 5594 }).catch(function () { 5595 // Lá»i mạng: cho Äóng cá»ng Äá» không kẹt khách; cookie/localStorage backup vẫn ghi. 5596 try { localStorage.setItem('csp_agree', version); } catch (e) {} 5597 document.body.classList.remove('csp-locked'); 5598 gate.remove(); 5599 }); 5600 }); 5601})(); 5602</script>
5602 5603
5604<script> 5605if ('serviceWorker' in navigator) { 5606 // Unregister old service workers, then register fresh version 5607 navigator.serviceWorker.getRegistrations().then(function(registrations) { 5608 var needsUpdate = false; 5609 registrations.forEach(function(reg) { 5610 if (reg.active && reg.active.scriptURL && reg.active.scriptURL.indexOf('?v=') === -1) { 5611 reg.unregister(); 5612 needsUpdate = true; 5613 } 5614 }); 5615 // Register with cache-busting version 5616 navigator.serviceWorker.register('/sw.js?v=4', { updateViaCache: 'none' }).catch(function() {}); 5617 }); 5618} 5619</script>
vendor: 1 bytes, line 5619
5619
5620<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4021920f8260cda',t:'MTc5MDI1NjE0OA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
5620</body> 5621</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.