VISO TRUST

ทางการ

เข้าถึงและจัดการโปรแกรมความเสี่ยงจากบุคคลที่สามของ VISO TRUST ของคุณโดยตรงผ่านผู้ช่วย AI ของคุณ

คุณทำอะไรได้บ้างด้วย VISO TRUST MCP?

  • ค้นหาผู้ขายตามโดเมน — ค้นหาผู้ขายใน VISO TRUST โดยใช้ search_vendor_directory พร้อม URL หรือชื่อโดเมน
  • จัดการความสัมพันธ์กับบุคคลที่สาม — สร้าง อัปเดต ค้นหา เริ่มต้นใช้งาน เลิกใช้งาน หรือเก็บถาวรความสัมพันธ์กับผู้ขายด้วยเครื่องมือ เช่น create_relationship, update_relationship และ onboard_relationship
  • ดำเนินการและติดตามการประเมินผู้ขาย — เริ่มการประเมินด้วย create_assessment, ดึงผลลัพธ์ผ่าน get_assessment, และอัปเดตกำหนดส่งหรือการตั้งค่าการติดตามผล
  • ตรวจสอบกิจกรรมบันทึกการตรวจสอบ — ค้นหาเหตุการณ์การตรวจสอบของผู้ใช้หรือทั้งหมดด้วย get_user_audit_log_events และ get_audit_log_events ตามช่วงเวลาที่กำหนด
  • นำเข้ารายงานข่าวกรองจากภายนอก — ส่งรายงาน BitSight, SecurityScorecard หรือ Recorded Future โดยใช้ create_bitsight_intelligence_report, create_security_scorecard_intelligence_report หรือ create_recorded_future_intelligence_report
  • กำหนดค่าเว็บฮุค — สร้าง อัปเดต ลบ หรือตรวจสอบการกำหนดค่าเว็บฮุคด้วย create_webhook_configuration, update_webhook_configuration และ get_all_webhooks

เอกสาร

VISO TRUST MCP Server

เซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับการผสานรวมความสามารถของ VISO TRUST API เข้ากับผู้ช่วย AI

เซิร์ฟเวอร์ระยะไกลที่โฮสต์ให้

VISO TRUST โฮสต์อินสแตนซ์ที่มีการจัดการของเซิร์ฟเวอร์ MCP นี้ ดังนั้นคุณไม่จำเป็นต้องสร้าง รัน หรือโฮสต์เองเพื่อเริ่มต้นใช้งาน:

https://mcp.visotrust.com/mcp

เชื่อมต่อไคลเอนต์ MCP ใดๆ ไปยังปลายทางนี้โดยใช้การขนส่ง Streamable HTTP และตรวจสอบสิทธิ์ด้วยโทเค็น VISO TRUST API ของคุณ สำหรับข้อมูลเกี่ยวกับวิธีการสร้างโทเค็น API โปรดดู เอกสารสนับสนุน VISO TRUST

ตัวอย่างการกำหนดค่าไคลเอนต์:

{
    "mcpServers": {
        "viso-mcp": {
            "type": "streamable-http",
            "url": "https://mcp.visotrust.com/mcp",
            "headers": {
                "Authorization": "Bearer <your-api-token>"
            }
        }
    }
}

หากต้องการทดสอบปลายทางที่โฮสต์ด้วย MCP Inspector ให้รัน npx @modelcontextprotocol/inspector ตั้งค่า Transport Type เป็น Streamable HTTP และใช้ URL ข้างต้น

ส่วนที่เหลือของเอกสารนี้ครอบคลุมถึงการรันเซิร์ฟเวอร์ด้วยตนเอง (ภายในเครื่องหรือในโครงสร้างพื้นฐานของคุณเอง)

ข้อกำหนด

  • Java 21+
  • Gradle
  • Docker (ไม่บังคับสำหรับการปรับใช้แบบคอนเทนเนอร์)
  • MCP Inspector (ไม่บังคับสำหรับการทดสอบ)

การกำหนดค่า

การกำหนดค่า VISO TRUST API

คุณสมบัติต่อไปนี้สามารถกำหนดค่าได้สำหรับ VISO TRUST API:

  • visotrust.api.base-url: URL ฐานสำหรับ VISO TRUST API (ค่าเริ่มต้น: http://localhost:8080)
  • visotrust.api.token: โทเค็น API ของคุณจากแพลตฟอร์ม VISO TRUST (จำเป็น)
  • visotrust.api.timeout: ระยะหมดเวลาคำขอ API ในหน่วยมิลลิวินาที (ค่าเริ่มต้น: 30000)
  • visotrust.api.connect-timeout: ระยะหมดเวลาการเชื่อมต่อ API ในหน่วยมิลลิวินาที (ค่าเริ่มต้น: 5000)

สำหรับข้อมูลเกี่ยวกับวิธีการสร้างโทเค็น API สำหรับตัวแปรสภาพแวดล้อม visotrust.api.token โปรดดู เอกสารสนับสนุน VISO TRUST

โปรไฟล์แอปพลิเคชัน

แอปพลิเคชันนี้รองรับโปรไฟล์ Spring Boot เพื่อเปิดใช้งานการกำหนดค่าที่แตกต่างกันสำหรับสถานการณ์การปรับใช้ที่แตกต่างกัน

โปรไฟล์ระยะไกล

โปรไฟล์ remote ถูกออกแบบมาสำหรับ การสนับสนุน MCP ระยะไกลผ่านการขนส่ง Streamable HTTP โปรไฟล์นี้รันเซิร์ฟเวอร์เป็นเว็บแอปพลิเคชันเพื่อให้สามารถสื่อสารกับไคลเอนต์ระยะไกลผ่าน HTTP (Streamable HTTP แทนที่การขนส่ง SSE ที่เลิกใช้แล้ว ที่นี่ถูกกำหนดค่าในโหมดไร้สถานะ)

ความแตกต่างที่สำคัญในโปรไฟล์ระยะไกล:

  • รันเป็นเว็บแอปพลิเคชันเซิร์ฟเล็ต (Tomcat) บนพอร์ต 3001 แทน I/O มาตรฐาน
  • เปิดเผยปลายทาง MCP ที่ POST /mcp (Streamable HTTP)
  • รันในโหมด ไร้สถานะ — ไม่มีสถานะเซิร์ฟเวอร์ต่อเซสชัน จึงสามารถปรับขนาดแนวนอนหลังโหลดบาลานเซอร์ได้โดยไม่ต้องใช้ session affinity
  • การตั้งค่าเซิร์ฟเวอร์ที่ปรับให้เหมาะสมสำหรับการเชื่อมต่อไคลเอนต์ระยะไกล
  • การบันทึกที่เพิ่มขึ้นสำหรับการดีบักแบบกระจาย

หมายเหตุ: ไคลเอนต์เชื่อมต่อกับปลายทาง Streamable HTTP เดียว …/mcp ปลายทาง SSE เดิม (/sse + /mcp/message) ไม่ได้ให้บริการอีกต่อไป

วิธีการเปิดใช้งานโปรไฟล์ระยะไกล:

เมื่อรันด้วย Java โดยตรง:

java -jar viso-mcp-server-<version>.jar --spring.profiles.active=remote

เมื่อรันด้วย Gradle:

./gradlew bootRun --args="--spring.profiles.active=remote"

เมื่อใช้ Docker:

docker run -i --rm \
  -e VISOTRUST_API_TOKEN=<your-api-token> \
  -e SPRING_PROFILES_ACTIVE=remote \
  viso-mcp-server

เมื่อใดควรใช้โปรไฟล์ระยะไกล:

  • เมื่อปรับใช้เซิร์ฟเวอร์ MCP กับเซิร์ฟเวอร์ระยะไกลหรือสภาพแวดล้อมคลาวด์
  • เมื่อไคลเอนต์จะเชื่อมต่อผ่าน Streamable HTTP แทน stdio โดยตรง
  • เมื่อคุณต้องการการบันทึกและการตรวจสอบที่เพิ่มขึ้นสำหรับการปรับใช้แบบกระจาย
  • เมื่อผสานรวมกับผู้ช่วย AI บนเว็บที่เชื่อมต่อผ่าน Streamable HTTP

สำหรับการพัฒนาในเครื่องและการสื่อสาร stdio โดยตรง ให้ใช้โปรไฟล์เริ่มต้น (ไม่จำเป็นต้องระบุโปรไฟล์)

การติดตั้ง

ติดตั้งด่วน

คลิกปุ่มใดปุ่มหนึ่งด้านล่างเพื่อติดตั้ง VISO MCP Server ใน VS Code:

Install with Docker in VS Code Install with Docker in VS Code Insiders

การตั้งค่าด้วยตนเองกับ VS Code

เพิ่มบล็อก JSON ต่อไปนี้ลงในไฟล์ User Settings (JSON) ของคุณใน VS Code คุณสามารถทำได้โดยกด Ctrl + Shift + P แล้วพิมพ์ Preferences: Open User Settings (JSON)

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "viso_baseurl",
        "description": "VISO TRUST API Base URL",
        "default": "https://app.visotrust.com"
      },
      {
        "type": "promptString",
        "id": "viso_token",
        "description": "VISO TRUST API Token",
        "password": true
      }
    ],
    "servers": {
      "viso-mcp": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "VISOTRUST_API_TOKEN",
          "-e",
          "VISOTRUST_API_BASEURL",
          "visotrustai/viso-mcp-server:latest"
        ],
        "env": {
          "VISOTRUST_API_BASEURL": "${input:viso_baseurl}",
          "VISOTRUST_API_TOKEN": "${input:viso_token}"
        }
      }
    }
  }
}

หรือคุณสามารถเพิ่มตัวอย่างที่คล้ายกัน (เช่น ไม่มีคีย์ mcp) ลงในไฟล์ชื่อ .vscode/mcp.json ในพื้นที่ทำงานของคุณ ซึ่งจะช่วยให้คุณสามารถแชร์การกำหนดค่ากับผู้อื่นได้

{
  "inputs": [
    {
      "type": "promptString",
      "id": "viso_baseurl",
      "description": "VISO TRUST API Base URL",
      "default": "https://app.visotrust.com"
    },
    {
      "type": "promptString",
      "id": "viso_token",
      "description": "VISO TRUST API Token",
      "password": true
    }
  ],
  "servers": {
    "viso-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "VISOTRUST_API_TOKEN",
        "-e",
        "VISOTRUST_API_BASEURL",
        "visotrustai/viso-mcp-server:latest"
      ],
      "env": {
        "VISOTRUST_API_BASEURL": "${input:viso_baseurl}",
        "VISOTRUST_API_TOKEN": "${input:viso_token}"
      }
    }
  }
}

การใช้งานกับ Claude Desktop และไคลเอนต์ MCP อื่นๆ

การกำหนดค่า Docker

{
    "mcpServers": {
        "viso-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e", "VISOTRUST_API_TOKEN",
                "-e", "VISOTRUST_API_BASEURL",
                "visotrustai/viso-mcp-server:latest"
            ],
            "env": {
                "VISOTRUST_API_TOKEN": "<your-api-token>",
                "VISOTRUST_API_BASEURL": "https://app.visotrust.com"
            }
        }
    }
}

การกำหนดค่า Java

{
    "mcpServers": {
        "viso-mcp": {
            "command": "java",
            "args": [
                "-jar",
                "viso-mcp-server-<version>.jar",
                "--port",
                "8080",
                "--host",
                "localhost"
            ],
            "env": {
                "JAVA_TOOL_OPTIONS": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005",
                "VISOTRUST_API_TOKEN": "<your-api-token>",
                "VISOTRUST_API_BASEURL": "https://app.visotrust.com"
            }
        }
    }
}

หมายเหตุ: ตัวแปรสภาพแวดล้อม JAVA_TOOL_OPTIONS ใช้เพื่อตั้งค่าตัวเลือก JVM สำหรับการดีบักระยะไกล สามารถเปลี่ยนที่อยู่และพอร์ตได้ตามต้องการ

💻 การพัฒนา

การตั้งค่า Docker

สร้าง Docker Image

docker build -t viso-mcp-server .

รัน Docker Container

docker run -i --rm -e VISOTRUST_API_TOKEN=<your-api-token> viso-mcp-server

การดีบัก

ติดตั้ง MCP Inspector

npm -g install @modelcontextprotocol/inspector

รัน MCP Inspector สำหรับการทดสอบ

  1. สร้างไฟล์ Jar ของ MCP Server
./gradlew bootJar
  1. รัน MCP Inspector
npx @modelcontextprotocol/inspector \
    -e JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=\*:5005 \
    -e VISOTRUST_API_TOKEN=<your-api-token> \
    java -jar build/libs/viso-mcp-server-<version>.jar \
    --port 8080 --host localhost

แทนที่ <version> ด้วยเวอร์ชันปัจจุบันของโปรเจกต์ (เช่น 1.0.0 หรือเวอร์ชันจากรุ่นล่าสุด)

ไปป์ไลน์ CI/CD

โปรเจกต์นี้ใช้ GitHub Actions สำหรับการผสานรวมและปรับใช้ต่อเนื่อง เวิร์กโฟลว์ประกอบด้วยงานต่อไปนี้:

Lint

ตรวจสอบการจัดรูปแบบโค้ดโดยใช้ Spotless:

./gradlew spotlessCheck

Build

สร้างแอปพลิเคชันและสร้างไฟล์ JAR:

./gradlew build

Publish

เมื่อมีการสร้างรุ่นใหม่:

  1. อัปเดตเวอร์ชันโปรเจกต์ใน build.gradle ให้ตรงกับแท็กรุ่น
  2. อัปโหลดไฟล์ JAR ไปยัง GitHub release ด้วยเวอร์ชันจากแท็กรุ่น
  3. สร้างและพุช Docker image ไปยัง Docker Hub ด้วยแท็ก:
    • latest
    • แท็กรุ่น (เช่น v1.0.0)
ซีเคร็ตที่จำเป็นสำหรับการเผยแพร่

เพื่อเปิดใช้งานการเผยแพร่ Docker Hub ให้เพิ่มซีเคร็ตเหล่านี้ไปยังที่เก็บ GitHub ของคุณ:

  • DOCKERHUB_USERNAME: ชื่อผู้ใช้ Docker Hub ของคุณ
  • DOCKERHUB_TOKEN: โทเค็นการเข้าถึง Docker Hub ของคุณ

🛠️ เครื่องมือ

ส่วนนี้ให้เอกสารสำหรับเครื่องมือที่เปิดเผยโดย VISO MCP Server แต่ละเครื่องมือมีวัตถุประสงค์ พารามิเตอร์อินพุต และรูปแบบเอาต์พุตเฉพาะ

การประเมิน

get_assessment - รับการประเมินตาม ID

  • id: ID การประเมิน (ตัวเลข, จำเป็น)

ส่งคืนข้อมูลโดยละเอียดเกี่ยวกับการประเมินเฉพาะ

get_assessment_summary - รับสรุปสำหรับการประเมินตาม ID

  • id: ID การประเมิน (ตัวเลข, จำเป็น)

ส่งคืนรายละเอียดสรุปสำหรับการประเมินเฉพาะ

create_assessment - เริ่มการประเมินสำหรับความสัมพันธ์ที่มีอยู่

  • relationshipId: ID ของความสัมพันธ์ที่จะสร้างการประเมิน (ตัวเลข, จำเป็น)
  • recipientEmail: ที่อยู่อีเมลของผู้รับการประเมิน (สตริง, ไม่บังคับ)
  • recipientFirstName: ชื่อจริงของผู้รับการประเมิน (สตริง, ไม่บังคับ)
  • recipientLastName: นามสกุลของผู้รับการประเมิน (สตริง, ไม่บังคับ)
  • publicDocumentUrls: URL ของเอกสารสาธารณะที่จะรวมในการประเมิน (สตริง[], ไม่บังคับ)
  • followupType: ประเภทของการติดตามผล (สตริง enum, ไม่บังคับ)
  • followupRiskThreshold: เกณฑ์ระดับความเสี่ยงที่เรียกการติดตามผล (สตริง enum, ไม่บังคับ)
  • followupTimeline: ไทม์ไลน์สำหรับการดำเนินการติดตามผล (สตริง enum, ไม่บังคับ)
  • collectionTimeline: ไทม์ไลน์สำหรับผู้ขายในการส่งการประเมินให้เสร็จสมบูรณ์ (สตริง enum, ไม่บังคับ)
  • noVendorResponseAction: การดำเนินการเมื่อผู้ขายไม่ตอบสนอง (สตริง enum, ไม่บังคับ)
  • aiProcessingOnly: ประมวลผลโดยใช้ AI เท่านั้นโดยไม่มีการตรวจสอบโดยมนุษย์หรือไม่ (บูลีน, ไม่บังคับ)
  • requestedAuditTypes: ประเภทของการตรวจสอบที่ร้องขอสำหรับการประเมินนี้ (สตริง[], ไม่บังคับ)

ส่งคืนรายละเอียดการประเมินที่สร้างขึ้น

update_assessment_expiration_date - อัปเดตกำหนดเวลาที่ผู้ขายต้องส่งคำตอบการประเมิน

  • id: ID การประเมิน (ตัวเลข, จำเป็น)
  • expirationDate: วันที่/เวลาหมดอายุใหม่, ISO-8601 พร้อมออฟเซ็ต; ต้องเป็นเวลาในอนาคต (สตริง, จำเป็น)

ส่งคืนข้อความยืนยัน

update_assessment_followup - อัปเดตการกำหนดค่าการติดตามผลสำหรับการประเมิน

  • id: ID การประเมิน (ตัวเลข, จำเป็น)
  • followupType: ประเภทการติดตามผล (สตริง enum, จำเป็น)
  • followupRiskThreshold: เกณฑ์ความเสี่ยงที่หรือสูงกว่าที่ควรเรียกการประเมินติดตามผล (สตริง enum, ไม่บังคับ)
  • followupTimeline: ไทม์ไลน์การติดตามผล (สตริง enum, ไม่บังคับ)

ส่งคืนข้อความยืนยัน

บันทึกการตรวจสอบ

get_user_audit_log_events - รับเหตุการณ์บันทึกการตรวจสอบที่กำหนดขอบเขตผู้ใช้สำหรับองค์กรของคุณ

  • start: วันที่/เวลาเริ่มต้นของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
  • end: วันที่/เวลาสิ้นสุดของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
  • eventTypes: ชุดประเภทเหตุการณ์ที่ไม่บังคับเพื่อกรอง (เช่น USER_LOGGED_IN); เว้นว่างไว้สำหรับทั้งหมด (สตริง[], ไม่บังคับ)

ส่งคืนรายการเหตุการณ์บันทึกการตรวจสอบของผู้ใช้ จำกัด 500 ระเบียน

get_audit_log_events - รับเหตุการณ์บันทึกการตรวจสอบที่กรองแล้ว (เหตุการณ์ผู้ใช้ องค์กร การประเมิน และความสัมพันธ์)

  • start: วันที่/เวลาเริ่มต้นของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
  • end: วันที่/เวลาสิ้นสุดของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
  • eventTypes: ชุดประเภทเหตุการณ์ที่ไม่บังคับเพื่อกรอง (เช่น ASSESSMENT_COMPLETED, RELATIONSHIP_CREATED); เว้นว่างไว้สำหรับทั้งหมด (สตริง[], ไม่บังคับ)

ส่งคืนระเบียนเหตุการณ์บันทึกการตรวจสอบแบบพหุสัณฐาน แต่ละรายการมีอย่างน้อย auditEventType และ dateTime

กรณีธุรกิจ

get_all_business_cases - รับกรณีธุรกิจที่มีอยู่ทั้งหมดสำหรับองค์กรของคุณ

ไม่มีพารามิเตอร์ที่จำเป็น

ส่งคืนรายการกรณีธุรกิจทั้งหมดที่มีให้สำหรับองค์กรของคุณ

ประเภทข้อมูล

get_all_datatypes - รับประเภทข้อมูลที่มีอยู่ทั้งหมดสำหรับองค์กรของคุณ

ไม่มีพารามิเตอร์ที่จำเป็น

ส่งคืนรายการประเภทข้อมูลทั้งหมดที่มีให้สำหรับองค์กรของคุณ

ไดเรกทอรีผู้ขาย

search_vendor_directory - ค้นหาผู้ขายในไดเรกทอรีผู้ขาย VISO TRUST ตาม URL หรือโดเมน

  • urlOrDomain: URL หรือชื่อโดเมนที่จะค้นหา เช่น example.com (สตริง, จำเป็น)

ส่งคืนข้อมูลเมตาพื้นฐานของผู้ขาย (ชื่อ, โฮมเพจ, คำอธิบาย, favicon, โดเมนที่รู้จัก)

ความสัมพันธ์

get_all_relationships - รับรายการความสัมพันธ์ทั้งหมดและรายละเอียดการประเมิน

ไม่มีพารามิเตอร์ที่จำเป็น

ส่งคืนข้อมูลเกี่ยวกับผู้ขายบุคคลที่สามรวมถึงสถานะการประเมิน ระดับความเสี่ยง และรายละเอียดการติดต่อ

get_relationship_by_id - รับความสัมพันธ์เฉพาะและรายละเอียดการประเมินตาม ID

  • id: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)

ส่งคืนข้อมูลโดยละเอียดเกี่ยวกับผู้ขายบุคคลที่สามรวมถึงสถานะการประเมิน ระดับความเสี่ยง และรายละเอียดการติดต่อ

get_relationship_assessment_history - รับประวัติการประเมินสำหรับความสัมพันธ์

  • id: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)

ส่งคืนรายการการประเมินที่เกี่ยวข้องกับความสัมพันธ์ที่ระบุ

create_relationship - สร้างความสัมพันธ์ใหม่กับผู้ขายบุคคลที่สาม

  • name: ชื่อของความสัมพันธ์/ผู้ขาย (สตริง, จำเป็น)
  • homepage: URL โฮมเพจของผู้ขาย (สตริง, จำเป็น)
  • businessOwnerEmail: ที่อยู่อีเมลของเจ้าของธุรกิจ (สตริง, จำเป็น)
  • businessOwnerFirstName: ชื่อจริงของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • businessOwnerLastName: นามสกุลของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • description: คำอธิบายของความสัมพันธ์/ผู้ขาย (สตริง, ไม่บังคับ)
  • contextTypes: รายการประเภทบริบททางธุรกิจสำหรับความสัมพันธ์นี้ (อ็อบเจกต์[], ไม่บังคับ)
  • dataTypes: รายการประเภทข้อมูลที่จัดการในความสัมพันธ์นี้ (อ็อบเจกต์[], ไม่บังคับ)
  • tags: รายการแท็กเพื่อจัดหมวดหมู่ความสัมพันธ์นี้ (สตริง[], ไม่บังคับ)
  • thirdPartyContact: รายละเอียดการติดต่อของตัวแทนผู้ขายบุคคลที่สาม (อ็อบเจกต์, ไม่บังคับ)

ส่งคืนรายละเอียดความสัมพันธ์ที่สร้างขึ้น

create_relationship_by_domain - สร้างความสัมพันธ์ใหม่โดยใช้เฉพาะโดเมนผู้ขาย

  • domain: โดเมนของผู้ขาย เช่น visotrust.com (สตริง, จำเป็น)
  • vendorName: ชื่อของผู้ขาย (สตริง, จำเป็น)
  • product: ผลิตภัณฑ์ที่นำเสนอโดยผู้ขาย (สตริง, ไม่บังคับ)
  • description: คำอธิบายของความสัมพันธ์ผู้ขาย (สตริง, ไม่บังคับ)

ส่งคืนรายละเอียดความสัมพันธ์ที่สร้างขึ้น

update_relationship - อัปเดตความสัมพันธ์ที่มีอยู่กับผู้ให้บริการบุคคลที่สาม

  • id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)
  • name: ชื่อของความสัมพันธ์/ผู้ให้บริการ (สตริง, จำเป็น)
  • homepage: URL หน้าแรกของผู้ให้บริการ (สตริง, ไม่บังคับ)
  • description: คำอธิบายของความสัมพันธ์/ผู้ให้บริการ (สตริง, ไม่บังคับ)
  • contextTypes: รายการประเภทบริบททางธุรกิจ (object[], ไม่บังคับ)
  • dataTypes: รายการประเภทข้อมูลที่จัดการในความสัมพันธ์นี้ (object[], ไม่บังคับ)
  • businessOwnerEmail: ที่อยู่อีเมลของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • businessOwnerFirstName: ชื่อจริงของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • businessOwnerLastName: นามสกุลของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • tags: รายการแท็ก (string[], ไม่บังคับ)

ส่งคืนรายละเอียดความสัมพันธ์ที่อัปเดตแล้ว

partially_update_relationship - อัปเดตความสัมพันธ์ที่มีอยู่บางส่วน

ยอมรับฟิลด์เดียวกันกับ update_relationship เฉพาะฟิลด์ที่ระบุในคำขอเท่านั้นที่จะถูกเปลี่ยนแปลง ฟิลด์อื่นๆ จะไม่ถูกแตะต้อง

ส่งคืนรายละเอียดความสัมพันธ์ที่อัปเดตแล้ว

search_relationships - ค้นหาความสัมพันธ์ตามชื่อโดเมนหรือชื่อผู้ให้บริการ

  • domains: รายการชื่อโดเมนที่จะค้นหา (string[], จำเป็น)
  • name: ชื่อของผู้ให้บริการ/ความสัมพันธ์ที่จะค้นหา (สตริง, จำเป็น)

ส่งคืนรายการความสัมพันธ์ที่ตรงกันพร้อมรายละเอียดการประเมิน

create_tags - สร้างแท็กใหม่สำหรับการจัดหมวดหมู่ความสัมพันธ์

  • tags: รายการชื่อแท็กที่จะสร้าง (string[], จำเป็น)

ส่งคืนรายการแท็กทั้งหมดรวมถึงแท็กที่สร้างขึ้นใหม่

update_third_party_contact - อัปเดตรายละเอียดการติดต่อสำหรับผู้ให้บริการบุคคลที่สาม

  • relationshipId: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)
  • email: อีเมลติดต่อ (สตริง, จำเป็น)
  • firstName: ชื่อจริงผู้ติดต่อ (สตริง, จำเป็น)
  • lastName: นามสกุลผู้ติดต่อ (สตริง, จำเป็น)

ส่งคืนรายละเอียดความสัมพันธ์ที่อัปเดตแล้ว

onboard_relationship - เริ่มต้นความสัมพันธ์ พร้อมสรุปการอนุมัติและการตั้งค่าการจัดการวงจรชีวิต (ไม่บังคับ)

  • id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)
  • approvalSummary: สรุปการอนุมัติที่บันทึกเมื่อเริ่มต้น (สตริง, ไม่บังคับ)
  • lifecycleManagementUpdateRequest: การตั้งค่าการจัดการวงจรชีวิต (object, ไม่บังคับ)
    • artifactUpdateSettings.artifactUpdateType: ประเภทการอัปเดตอาร์ติแฟกต์ (string enum)
    • recertificationSettings.recertificationType: ประเภทการรับรองใหม่ (string enum)
    • recertificationSettings.recertificationDate: วันที่/เวลาของการรับรองใหม่ครั้งถัดไป, ISO-8601 พร้อม offset (สตริง)
    • recertificationSettings.reviewFrequency: THREE_YEARS, TWO_YEARS, ANNUAL, SEMIANNUAL, หรือ QUARTERLY (string enum)

ส่งคืนรายละเอียดความสัมพันธ์ที่เริ่มต้นแล้ว

offboard_relationship - ยกเลิกความสัมพันธ์

  • id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)

ส่งคืนรายละเอียดความสัมพันธ์ที่ยกเลิกแล้ว

archive_relationship - เก็บถาวรความสัมพันธ์

  • id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)

ส่งคืนรายละเอียดความสัมพันธ์ที่เก็บถาวรแล้ว

Webhooks

get_all_webhooks - รับ webhooks ทั้งหมด

ไม่จำเป็นต้องมีพารามิเตอร์

ส่งคืนรายการการกำหนดค่า webhook ทั้งหมด

get_webhook - รับการกำหนดค่า webhook ตามรหัส

  • id: รหัส Webhook (ตัวเลข, จำเป็น)

ส่งคืนรายละเอียดของการกำหนดค่า webhook เฉพาะ

create_webhook_configuration - สร้างการกำหนดค่า webhook

  • request: พารามิเตอร์การสร้าง Webhook (object, จำเป็น)
    • url: URL ของ Webhook (สตริง, จำเป็น)
    • secret: ข้อมูลลับของ Webhook (สตริง, จำเป็น)
    • eventTypes: ประเภทของเหตุการณ์ที่จะทริกเกอร์ webhook (string[], จำเป็น)
    • serviceType: ประเภทของบริการสำหรับ webhook (สตริง, จำเป็น)

ส่งคืนการกำหนดค่า webhook ที่สร้างขึ้น

update_webhook_configuration - อัปเดตการกำหนดค่า webhook

  • request: พารามิเตอร์การอัปเดต Webhook (object, จำเป็น)
    • id: รหัส Webhook (ตัวเลข, จำเป็น)
    • url: URL ของ Webhook (สตริง, ไม่บังคับ)
    • secret: ข้อมูลลับของ Webhook (สตริง, ไม่บังคับ)
    • eventTypes: ประเภทของเหตุการณ์ที่จะทริกเกอร์ webhook (string[], ไม่บังคับ)
    • serviceType: ประเภทของบริการสำหรับ webhook (สตริง, ไม่บังคับ)

ส่งคืนการกำหนดค่า webhook ที่อัปเดตแล้ว

delete_webhook_configuration - ลบการกำหนดค่า webhook

  • id: รหัส Webhook (ตัวเลข, จำเป็น)

ลบการกำหนดค่า webhook ที่ระบุ

รายงานข่าวกรอง

create_bitsight_intelligence_report - สร้างรายงานข่าวกรอง BitSight ใหม่

  • request: พารามิเตอร์รายงาน BitSight (object, จำเป็น)
    • vendorDomain: ชื่อโดเมนหลักของผู้ให้บริการ (สตริง, จำเป็น)
    • reportDate: วันที่/เวลาที่สร้างรายงาน (สตริง ISO 8601, จำเป็น)
    • link: ลิงก์ไปยัง UI ของผู้ให้บริการ (สตริง, ไม่บังคับ)
    • guid: GUID ของ BitSight สำหรับเอนทิตี (สตริง, จำเป็น)
    • customId: ตัวระบุแบบกำหนดเองจาก BitSight (สตริง, ไม่บังคับ)
    • name: ชื่อที่แสดงของเอนทิตี BitSight (สตริง, ไม่บังคับ)
    • description: คำอธิบายของเอนทิตี BitSight (สตริง, ไม่บังคับ)
    • primaryDomain: โดเมนหลักสำหรับเอนทิตี BitSight (สตริง, ไม่บังคับ)
    • ratingRange: ช่วงคะแนนของ BitSight (สตริง, ไม่บังคับ)
    • ratingColor: สีคะแนนของ BitSight (สตริง, ไม่บังคับ)
    • confidence: ระดับความเชื่อมั่นของคะแนน BitSight (สตริง, ไม่บังคับ)

ส่งคืนรายงานข่าวกรองที่สร้างขึ้น

create_security_scorecard_intelligence_report - สร้างรายงานข่าวกรอง SecurityScorecard ใหม่

  • request: พารามิเตอร์รายงาน SecurityScorecard (object, จำเป็น)
    • vendorDomain: ชื่อโดเมนหลักของผู้ให้บริการ (สตริง, จำเป็น)
    • reportDate: วันที่/เวลาที่สร้างรายงาน (สตริง ISO 8601, จำเป็น)
    • link: ลิงก์ไปยัง UI ของผู้ให้บริการ (สตริง, ไม่บังคับ)
    • grade: เกรดตัวอักษรจาก SecurityScorecard (สตริง, จำเป็น)
    • domain: โดเมนที่เกี่ยวข้องกับเอนทิตี scorecard (สตริง, ไม่บังคับ)
    • score: คะแนนตัวเลขจาก SecurityScorecard (ตัวเลข, ไม่บังคับ)

ส่งคืนรายงานข่าวกรองที่สร้างขึ้น

create_recorded_future_intelligence_report - สร้างรายงานข่าวกรอง Recorded Future ใหม่

  • request: พารามิเตอร์รายงาน Recorded Future (object, จำเป็น)
    • vendorDomain: ชื่อโดเมนหลักของผู้ให้บริการ (สตริง, จำเป็น)
    • reportDate: วันที่/เวลาที่สร้างรายงาน (สตริง ISO 8601, จำเป็น)
    • entityType: ประเภทเอนทิตีของ Recorded Future เช่น Company (สตริง, จำเป็น)
    • entity: ตัวระบุเอนทิตีของ Recorded Future (สตริง, จำเป็น)
    • riskScore: คะแนนความเสี่ยงตัวเลข (ตัวเลข, จำเป็น)
    • riskLevel: ป้ายกำกับระดับความเสี่ยง เช่น Critical/High/Medium/Low (สตริง, จำเป็น)
    • link: ลิงก์ไปยังรายงานใน UI ของผู้ให้บริการ (สตริง, ไม่บังคับ)
    • firstSeen: วันที่พบเอนทิตีครั้งแรกสุด, ISO 8601 (สตริง, ไม่บังคับ)
    • lastSeen: วันที่พบเอนทิตีล่าสุด, ISO 8601 (สตริง, ไม่บังคับ)
    • triggeredRuleCount: จำนวนกฎของ Recorded Future ที่ถูกทริกเกอร์ (ตัวเลข, ไม่บังคับ)
    • maxRuleCount: จำนวนสูงสุดของกฎ Recorded Future ที่ประเมิน (ตัวเลข, ไม่บังคับ)
    • summary: ข้อความสรุปจาก Recorded Future (สตริง, ไม่บังคับ)
    • criticalityLabel: ป้ายกำกับความวิกฤตของ Recorded Future สำหรับเอนทิตี (สตริง, ไม่บังคับ)

ส่งคืนรายงานข่าวกรองที่สร้างขึ้น

get_intelligence_reports_by_vendor - รับรายงานข่าวกรองทั้งหมดสำหรับผู้ให้บริการ

  • vendorDomain: ชื่อโดเมนหลักของผู้ให้บริการ (สตริง, จำเป็น)

ส่งคืนรายการรายงานข่าวกรองสำหรับผู้ให้บริการที่ระบุ

get_latest_intelligence_report - รับรายงานข่าวกรองล่าสุดสำหรับผู้ให้บริการจากแหล่งที่มาเฉพาะ

  • vendorDomain: ชื่อโดเมนหลักของผู้ให้บริการ (สตริง, จำเป็น)
  • source: ผู้ให้บริการข่าวกรอง (string enum: BITSIGHT, SECURITY_SCORECARD, หรือ RECORDED_FUTURE, จำเป็น)

ส่งคืนรายงานข่าวกรองล่าสุดสำหรับผู้ให้บริการและแหล่งที่มาที่ระบุ

ผู้ใช้

get_all_users - รับผู้ใช้ทั้งหมดในองค์กรของคุณ

  • page: หน้าผลลัพธ์ที่จะดึงข้อมูล (ตัวเลข, ไม่บังคับ; ค่าเริ่มต้น 0)
  • size: จำนวนระเบียนต่อหน้า (ตัวเลข, ไม่บังคับ; ค่าเริ่มต้น 20)
  • sort: เกณฑ์การเรียงลำดับในรูปแบบ: property(,asc|desc) (สตริง, ไม่บังคับ)

ส่งคืนรายการผู้ใช้แบบแบ่งหน้า

get_user_by_email - รับผู้ใช้ตามอีเมล

  • email: ที่อยู่อีเมลของผู้ใช้ (สตริง, จำเป็น)

ส่งคืนรายละเอียดผู้ใช้

create_user - สร้างผู้ใช้ใหม่

  • request: พารามิเตอร์การสร้างผู้ใช้ (object, จำเป็น)
    • email: ที่อยู่อีเมลของผู้ใช้ใหม่ (สตริง, จำเป็น)
    • firstName: ชื่อจริงของผู้ใช้ใหม่ (สตริง, จำเป็น)
    • lastName: นามสกุลของผู้ใช้ใหม่ (สตริง, จำเป็น)

ส่งคืนผู้ใช้ที่สร้างขึ้น

การจัดรูปแบบโค้ด

โปรเจกต์นี้ใช้ Spotless กับ Google Java Format สำหรับการจัดรูปแบบโค้ด มีการตั้งค่า pre-commit hook โดยอัตโนมัติเพื่อให้แน่ใจว่าสไตล์โค้ดสอดคล้องกัน

การตั้งค่า

หลังจากโคลน repository แล้ว pre-commit hook จะถูกตั้งค่าโดยอัตโนมัติเมื่อคุณรันคำสั่ง Gradle ใดๆ

การจัดรูปแบบด้วยตนเอง

เพื่อจัดรูปแบบไฟล์ทั้งหมดด้วยตนเอง:

./gradlew spotlessApply

เพื่อตรวจสอบว่าไฟล์ได้รับการจัดรูปแบบอย่างถูกต้องหรือไม่:

./gradlew spotlessCheck

หาก pre-commit hook ปฏิเสธการ commit ของคุณเนื่องจากปัญหาการจัดรูปแบบ เพียงรัน ./gradlew spotlessApply เพื่อแก้ไขการจัดรูปแบบแล้วลอง commit อีกครั้ง

ใบอนุญาต

โปรเจกต์นี้ได้รับอนุญาตภายใต้ MIT License - ดูรายละเอียดได้ที่ไฟล์ LICENSE