ลิงก์ เว็บไซต์ และอีเมล
เครื่องมือความปลอดภัย
ขอบเขต: ตรวจเฉพาะถ้อยคำและลิงก์ที่มองเห็น ไม่ยืนยันผู้ส่ง ไฟล์แนบ หรือเนื้อหาเว็บไซต์
เปิดเครื่องมือในหน้านี้
วัตถุประสงค์
ตรวจสอบหมายเลข ข้อความ และลิงก์
ข้อกำหนด
ทุกคนอ่านคู่มือเหล่านี้ได้โดยไม่ต้องมีบัญชี เครื่องมือบางอย่างต้องใช้ Pro ตามที่ระบุในแต่ละคู่มือ
ข้อความที่จะตรวจสอบ
วิธีใช้งาน
ตรวจสอบอีเมลฟิชชิง · ตรวจสอบว่า SMS เป็นมิจฉาชีพหรือไม่ · ตรวจสอบลิงก์หรือเว็บไซต์ · รูปแบบหมายเลขโทรศัพท์ · รหัสโทรศัพท์ประเทศ
ในอีเมลให้วางข้อความ ในลิงก์ให้วางที่อยู่ กดตรวจสอบแล้วดูสัญญาณและโดเมนจริง เครื่องมือไม่เปิดลิงก์หรือยืนยันตัวผู้ส่ง
ป้อนหมายเลขเต็มพร้อมรหัสประเทศ สำหรับหมายเลขภายในประเทศ ให้ตรวจสอบประเทศของรุ่นหรือช่องเลือกก่อน
ตัวอย่างสมมติ
ตัวอย่างสมมติ ไม่ใช่ผลการค้นหาจริง ห้ามโทรหรือเปิดลิงก์ในตัวอย่าง
https://delivery.example/noticeทำความเข้าใจผลลัพธ์
สัญญาณเตือนที่ควรตรวจสอบ
ไม่พบสัญญาณเตือนที่ชัดเจน
ข้อจำกัด
ตรวจสอบบนอุปกรณ์นี้ ข้อความจะไม่ถูกส่งหรือบันทึก
ตรวจเฉพาะถ้อยคำและลิงก์ที่มองเห็น ไม่ยืนยันผู้ส่ง ไฟล์แนบ หรือเนื้อหาเว็บไซต์
แสดงเฉพาะรูปแบบและรหัสโทรศัพท์ที่รองรับ ไม่ยืนยันที่ตั้ง เจ้าของ หรือสถานะการใช้งาน บางประเทศใช้รหัสร่วมกัน
การแก้ไขปัญหา
สูงสุด 2000 อักขระ ยังไม่ได้ตรวจสอบ โปรดย่อข้อความ
ใส่ลิงก์ HTTP หรือ HTTPS ที่สมบูรณ์หนึ่งลิงก์ หรือชื่อโดเมน
ใช้งานผ่าน API
ต้องมีคีย์ API และเครดิต การเรียกที่สำเร็จแต่ละครั้งใช้ 1 เครดิต แม้ไม่มีข้อมูลก็ตาม บัญชี Pro ที่ใช้งานอยู่มี 20 เครดิตต่อเดือนปฏิทินตามเวลา UTC ใช้ร่วมกันทุกเส้นทาง API และถูกใช้ก่อน เครดิตรายเดือนที่ไม่ได้ใช้จะไม่ทบไปเดือนถัดไป เครดิตที่ซื้อในหน้าบัญชีของคุณใช้ได้โดยไม่ต้องมี Pro และไม่มีวันหมดอายุ
ข้อผิดพลาดไม่ถูกคิดเครดิต: 401 invalid_api_key (ไม่มีคีย์หรือคีย์ไม่ถูกต้อง), 403 pro_required (ไม่มีเครดิต Pro และไม่มีเครดิตที่ซื้อไว้), 422 ข้อมูลนำเข้าไม่ถูกต้อง, 429 quota_exceeded (เครดิตหมด), rate_limit_exceeded หรือ ai_busy (AI ของ sms-check ใช้งานเต็มความสามารถ), 503 tool_warming (ข้อมูลยังเตรียมไม่เสร็จ) หรือ tool หรือผู้ให้บริการไม่พร้อมใช้งาน หลังได้รับ 429 หรือ 503 ให้ลองใหม่เมื่อครบจำนวนวินาทีในเฮดเดอร์ Retry-After
เอนจินกฎเดียวกันสำหรับอีเมลหรือข้อความที่วางมา: การแจ้งให้ระวัง สัญญาณ โฮสต์ และแฟล็กลิงก์ ไม่ให้ผลว่าปลอดภัยเด็ดขาด
ส่ง JSON body ไปยังเส้นทางของ tool นั้นโดยตรง หรือไปยัง POST /v2/tools โดยเพิ่มฟิลด์ tool ทั้งสองเส้นทางให้ผลลัพธ์เหมือนกัน
POST https://api.nocall.io/v2/safety-tools
POST https://api.nocall.io/v2/tools {"tool":"safety-tools","text":"URGENTE: su cuenta BBVA ha sido bloqueada, verifique en https://bbva-seguro.com/login","mode":"email","country":"ES"}พารามิเตอร์
| ชื่อ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
| text | string (1–2000) | ใช่ | ข้อความอีเมลหรือข้อความที่จะตรวจ |
| mode | "email" | "message" | ใช่ | ข้อความเป็นอีเมลหรือข้อความทั่วไป |
| country | string (enum, 55) | ไม่ (ค่าเริ่มต้น: "ES") | ประเทศของชุดกฎ SMS ที่ใช้ |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/safety-tools' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"text":"URGENTE: su cuenta BBVA ha sido bloqueada, verifique en https://bbva-seguro.com/login","mode":"email","country":"ES"}'import json
import os
import urllib.request
import uuid
api_key = os.environ.get('NOCALL_API_KEY')
if not api_key:
raise SystemExit('Set NOCALL_API_KEY')
request = urllib.request.Request(
'https://api.nocall.io/v2/safety-tools',
method='POST',
data=json.dumps({'text': 'URGENTE: su cuenta BBVA ha sido bloqueada, verifique en https://bbva-seguro.com/login', 'mode': 'email', 'country': 'ES'}).encode(),
headers={
'Authorization': 'Bearer ' + api_key,
'Content-Type': 'application/json',
'Idempotency-Key': str(uuid.uuid4()),
},
)
with urllib.request.urlopen(request, timeout=30) as response:
result = json.load(response)
print(result['data']['result'], result['meta']['unitsCharged'])import { randomUUID } from 'node:crypto';
const requestId = randomUUID();
const apiKey = process.env.NOCALL_API_KEY;
if (!apiKey) throw new Error('Set NOCALL_API_KEY');
const response = await fetch('https://api.nocall.io/v2/safety-tools', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ text: 'URGENTE: su cuenta BBVA ha sido bloqueada, verifique en https://bbva-seguro.com/login', mode: 'email', country: 'ES' }),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.code ?? 'request_failed');
console.log(result.data.result, result.meta.unitsCharged);ตัวอย่างการตอบกลับ (200)
นี่คือตัวอย่างที่ระบุไว้ในเอกสารอ้างอิง API การค้นหาใช้หมายเลขสมมติ ส่วนข้อมูลรวมและคำตอบจาก AI แสดงเพียงโครงสร้างของผลลัพธ์ ไม่ใช่ข้อมูลจริง
{
"data": {
"tool": "safety-tools",
"result": {
"attention": true,
"signals": [
"suspicious_domain",
"urgency",
"brand_impersonation"
],
"hosts": [
"bbva-seguro.com"
],
"linkFlags": []
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}ฟิลด์ผลลัพธ์ (data.result)
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
| attention | boolean | เนื้อหาควรได้รับการตรวจดูอย่างละเอียดหรือไม่ |
| signals | array<string (enum, 10)> | สัญญาณจากกฎที่ตรงกัน |
| hosts | array<string> | ชื่อโฮสต์ที่พบในข้อความ |
| linkFlags | array<"http" | "userinfo" | "internationalHost" | "ipAddress" | "nonStandardPort"> | คำเตือนด้านโครงสร้างของลิงก์: http, userinfo, โฮสต์แบบนานาชาติ, ที่อยู่ IP หรือพอร์ตที่ไม่ใช่มาตรฐาน |
