> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 获取 Travel Rule 网络 API

> Didit 管理 API：查询每个 Travel Rule 网络的实际状态，包括您自身的成员资格、Didit 的成员资格，以及网络暂时无法发送的原因。

获取 Travel Rule 网络 API 提示词
将提示词复制到剪贴板

<pre>
  \`Read, for my application, the real state of every Travel Rule network, the due-diligence questionnaire and my participants.

  Endpoint:
  GET [https://verification.didit.me/v3/travel-rule/networks/](https://verification.didit.me/v3/travel-rule/networks/)

  Authentication:
  Use the x-api-key header with my Didit API key.

  What to read from the response:

  * platform\_networks\_enabled - whether network access through Didit's membership is open. While false, questionnaire saves, submissions and network requests answer 403.
  * networks - keyed by gtr/trust/verifyvasp/sygna: {rail, mode, state, reason, platform_available, connected, participant, vasps_reachable, routed_30d}.
  * state: own\_membership | live\_through\_didit | off | didit\_onboarding | questionnaire\_needed | questionnaire\_in\_review | request\_access | request\_sent | unavailable | error.
  * reason: the machine-readable detail, for example didit\_membership\_not\_live, own\_membership\_only (TRUST) or provisioning\_failed.
  * participant: my own participant on that network (status, participant\_code, last\_error), or null.
  * questionnaire - status (draft | submitted | changes\_requested | approved | rejected), answers and Didit's review\_note.
  * participants - every participant I have, with its status history.

  Reading creates nothing. Full guide: /transaction-monitoring/travel-rule.\`
</pre>

粘贴到

## 网络状态

网络通过以下两种方式为您的应用发送消息：

* **您自己的会员资格**（`state: own_membership`）：您在 **Marketplace** 中连接的会员资格。它始终优先生效。
* **Didit 的会员资格**（`state: live_through_didit`）：Didit 以自己作为参与方，在 GTR 或 Sygna 上代表您的应用，并使用网络提供给您的参与方代码。消息从不携带 Didit 自己的代码，发送到您参与方代码的内容会送达您的应用。

通过 Didit 的会员资格接入网络需要三个步骤：提交[网络问卷](https://docs.didit.me/zh/management-api/travel-rule/submit-network-questionnaire.md)，由 Didit 批准，然后[请求该网络](https://docs.didit.me/zh/management-api/travel-rule/request-network.md)。TRUST 和 VerifyVASP 只能通过您自己的会员资格接入：TRUST 按 VASP 接纳成员，而 VerifyVASP Enclave 仅服务一个 VASP ID，因此您需要运营自己的会员资格。

在 Didit 自己的网络会员资格上线之前，其 `state` 为 `didit_onboarding`，无法通过 Didit 在该网络上发送任何内容。`state` 反映的是配置状态，而非实时健康状态或投递检查。


## OpenAPI

````yaml zh/openapi-25.json GET /v3/travel-rule/networks/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: 身份证件验证 API。使用 x-api-key 请求头进行身份验证。
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/networks/:
    get:
      tags:
        - Travel Rule
      summary: 获取 Travel Rule 网络
      description: >-
        针对此应用读取每个网络的真实状态：是通过您自己的成员身份发送还是通过 Didit
        的成员身份发送，以及目前无法发送的原因。还会返回尽职调查问卷和您的参与者。读取操作不会创建任何内容。
      operationId: getTravelRuleNetworks
      responses:
        '200':
          description: 网络状态、问卷和参与者。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleNetworksOverview'
              examples:
                Before the questionnaire:
                  value:
                    platform_networks_enabled: false
                    questionnaire:
                      status: draft
                      answers: {}
                      submitted_at: null
                      reviewed_at: null
                      review_note: ''
                      history: []
                      updated_at: null
                    participants: []
                    networks:
                      gtr:
                        rail: GTR
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      trust:
                        rail: TRUST
                        mode: unavailable
                        state: unavailable
                        reason: own_membership_only
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      verifyvasp:
                        rail: VERIFYVASP
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      sygna:
                        rail: SYGNA
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
        '401':
          description: API 密钥缺失或无效。
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X GET https://verification.didit.me/v3/travel-rule/networks/ \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.travel_rule.networks.retrieve()
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.travelRule.networks.retrieve();
            console.log(result);
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            var result = client.travelRule().networks().retrieve();
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->travelRule->networks->retrieve();
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.travel_rule.networks.retrieve
            puts result.to_h
        - lang: csharp
          label: .NET
          source: |-
            using System;
            using System.Text.Json;
            using Didit;

            // Reads DIDIT_API_KEY.
            using var client = new DiditClient();

            var result = await client.TravelRule.Networks.RetrieveAsync();
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleNetworksOverview:
      type: object
      properties:
        platform_networks_enabled:
          type: boolean
          description: 通过 Didit 成员身份的网络访问是否已开放。若为 false，问卷保存、提交和网络请求均将返回 403。
        questionnaire:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        participants:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleNetworkParticipant'
        networks:
          type: object
          readOnly: true
          description: >-
            按网络列出：此应用将如何发送以及为何无法发送。默认不包含任何网络（包括 GTR）：网络可通过您自己已连接的成员资格访问，或者在
            Didit 在该网络上的成员资格生效且您自己在该网络上的参与方处于活跃状态后，通过 Didit
            的成员资格访问。非实时健康状态或投递检查。
          properties:
            gtr:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            trust:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            verifyvasp:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            sygna:
              $ref: '#/components/schemas/TravelRuleNetworkState'
    TravelRuleNetworkQuestionnaire:
      type: object
      properties:
        status:
          type: string
          enum:
            - draft
            - submitted
            - changes_requested
            - approved
            - rejected
          description: >-
            答案可在 draft 或 changes_requested 状态下保存；submitted、approved 和 rejected
            则由 Didit 负责推进。
        answers:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaireAnswers'
        submitted_at:
          type: string
          format: date-time
          nullable: true
        reviewed_at:
          type: string
          format: date-time
          nullable: true
        review_note:
          type: string
          description: Didit 对其最新决策的备注，例如需要修改的内容。
        history:
          type: array
          readOnly: true
          description: 每次状态变更，按时间正序排列。
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: 审核备注或网络回复（如果有）。
        updated_at:
          type: string
          format: date-time
          nullable: true
    TravelRuleNetworkParticipant:
      type: object
      description: 该应用自身在某个网络上的参与者。
      properties:
        network:
          type: string
          enum:
            - gtr
            - trust
            - verifyvasp
            - sygna
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - platform
            - own
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested：从未请求过，或网络拒绝了首次请求（参见
            last_error）；questionnaire_pending：等待尽职调查问卷审核通过；submitted_to_network：已提交至网络入驻流程；active：网络已为该应用分配专属参与者代码；suspended
            / rejected：Didit 已暂停或拒绝该请求。
        participant_code:
          type: string
        requested_at:
          type: string
          format: date-time
          nullable: true
        submitted_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        suspended_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: 网络拒绝注册时的答复；其他情况下为空。
        history:
          type: array
          readOnly: true
          description: 每次状态变更，按时间正序排列。
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: 审核备注或网络回复（如果有）。
    TravelRuleNetworkState:
      type: object
      description: 该应用在特定网络上将如何发送 Travel Rule 消息，以及无法发送的原因。此项为配置状态，并非实时健康状态或投递检查。
      properties:
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - own
            - didit
            - 'off'
            - unavailable
          description: >-
            own：使用应用已关联的成员资格；didit：Didit 的成员资格将该应用作为自身有效参与者接入；off：在
            disabled_networks 中禁用了平台路由，且无自身成员资格；unavailable：目前无法在此网络上发送任何内容（参见
            state 和 reason）。
        state:
          type: string
          enum:
            - own_membership
            - live_through_didit
            - 'off'
            - didit_onboarding
            - questionnaire_needed
            - questionnaire_in_review
            - request_access
            - request_sent
            - unavailable
            - error
          description: >-
            own_membership：通过您关联的成员资格发送；live_through_didit：通过 Didit
            成员资格下的专属参与者发送；off：您关闭了平台路由；didit_onboarding：Didit
            自身在该网络上的成员资格尚未生效，因此无法接入任何人；questionnaire_needed /
            questionnaire_in_review：尽职调查问卷必须提交或正在由 Didit
            审核；request_access：问卷已通过，可申请接入网络；request_sent：您的参与者正在入驻中；unavailable：参见
            reason；error：参见 reason。
        reason:
          type: string
          enum:
            - own_membership_connected
            - platform_network_switched_off
            - own_membership_only
            - sandbox_application
            - didit_membership_not_live
            - participant_suspended
            - participant_rejected
            - questionnaire_not_submitted
            - questionnaire_submitted
            - questionnaire_changes_requested
            - questionnaire_rejected
            - participant_not_requested
            - participant_active
            - participant_key_missing
            - participant_key_unresolved
            - provisioning_failed
            - questionnaire_pending
            - submitted_to_network
          description: >-
            状态的机器可读详情。own_membership_only：Didit
            在此网络（TRUST）上不承载应用，请连接您自己的成员资格；sandbox_application：沙盒转账绝不会送达网络；provisioning_failed：网络拒绝了注册，参与者的
            last_error 指明了原因，再次请求该网络将重试。
        platform_available:
          type: boolean
          description: Didit 自身在该网络中的成员身份是否已配置；并非实时健康状态检查。
        connected:
          type: boolean
          description: 是否存在已连接的客户成员身份。凭证在本地进行验证；网络验证则在实时交互中进行。
        participant:
          $ref: '#/components/schemas/TravelRuleNetworkParticipantSummary'
        vasps_reachable:
          type: integer
          description: 在此网络上可达的目录中的 VASP。
        routed_30d:
          type: integer
          description: 过去 30 天内该应用在此网络上进行的转账。
    TravelRuleNetworkQuestionnaireAnswers:
      type: object
      description: >-
        Didit 网络尽职调查问卷。保存操作是部分保存：保存会保留所有未提及的答案。提交时除 lei 和
        data_protection_contact_email 之外的所有字段均为必填项，且三项证明必须为 true。
      properties:
        legal_name:
          type: string
          maxLength: 255
        registration_number:
          type: string
          maxLength: 255
        incorporation_country:
          type: string
          minLength: 2
          maxLength: 2
          description: ISO 3166-1 alpha-2 国家/地区代码。
        registered_address:
          type: string
          maxLength: 1000
        website:
          type: string
          format: uri
          maxLength: 500
        lei:
          type: string
          maxLength: 20
          description: 可选。若提供，须为有效的 ISO 17442 LEI。
        licences:
          type: array
          minItems: 1
          items:
            type: object
            required:
              - regulator
              - jurisdiction
              - licence_type
              - licence_number
            properties:
              regulator:
                type: string
                maxLength: 255
              jurisdiction:
                type: string
                minLength: 2
                maxLength: 2
                description: ISO 3166-1 alpha-2 国家/地区代码。
              licence_type:
                type: string
                maxLength: 255
              licence_number:
                type: string
                maxLength: 255
          description: 该 VASP 持有的每项许可证或注册。
        operating_jurisdictions:
          type: array
          minItems: 1
          maxItems: 250
          items:
            type: string
            minLength: 2
            maxLength: 2
            description: ISO 3166-1 alpha-2 国家/地区代码。
        compliance_officer_name:
          type: string
          maxLength: 255
        compliance_officer_email:
          type: string
          format: email
        aml_ctf_policy_attested:
          type: boolean
          description: 提交时必须为 true。
        sanctions_screening_attested:
          type: boolean
          description: 提交时必须为 true。
        data_protection_attested:
          type: boolean
          description: 提交时必须为 true。
        data_protection_contact_email:
          type: string
          format: email
          description: 可选。
        expected_monthly_transfers:
          type: integer
          minimum: 0
        expected_monthly_volume_usd:
          type: string
          format: decimal
          description: 预期的每月交易量（美元），最多保留 2 位小数。以字符串形式返回。
        assets:
          type: array
          minItems: 1
          maxItems: 200
          items:
            type: string
            maxLength: 32
          description: 资产代号，存储为大写、已排序并去重。
    TravelRuleNetworkParticipantSummary:
      type: object
      nullable: true
      description: 该应用自身在该网络上的参与者，若无则为 null。
      properties:
        mode:
          type: string
          enum:
            - platform
            - own
          description: platform：由 Didit 的成员资格承载；own：在应用自身的成员资格下入驻。
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested：从未请求过，或网络拒绝了首次请求（参见
            last_error）；questionnaire_pending：等待尽职调查问卷审核通过；submitted_to_network：已提交至网络入驻流程；active：网络已为该应用分配专属参与者代码；suspended
            / rejected：Didit 已暂停或拒绝该请求。
        participant_code:
          type: string
          description: 网络分配给此应用的代号（对于 GTR，为其 VASP 代号）。出站消息携带此代号，绝不携带 Didit 自身的代号。
        requested_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: 网络拒绝注册时的答复；其他情况下为空。
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        您的应用 API 密钥，可在 Business Console 的“开发者 -> API
        密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域：针对每个资源设为无权限、只读或读写，限定于特定工作流或已通过的会话、限定于
        IP 地址列表，以及设置到期日期。401 表示密钥错误、已撤销或已过期；403 表示未发送密钥、密钥无权访问该资源或操作，或请求来自其 IP
        列表之外的地址；在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF
        URL 将为 null；没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅
        https://docs.didit.me/console/api-keys。

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.