> ## 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.

# API de redes Travel Rule: obter estado

> Consulte o estado real de cada rede Travel Rule na sua aplicação: a sua adesão, a adesão da Didit ou o motivo pelo qual uma rede ainda não pode enviar.

Prompt da API para obter as redes da Travel Rule
Copiar o prompt para a área de transferência

<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>

Colar em

## Estados das redes

Uma rede envia para a sua aplicação de uma de duas formas:

* **A sua própria adesão** (`state: own_membership`): uma adesão que ligou no **Marketplace**. Tem sempre prioridade.
* **Adesão da Didit** (`state: live_through_didit`): a Didit representa a sua aplicação como participante próprio na GTR ou na Sygna, com o código de participante que a rede lhe atribuiu. As mensagens nunca incluem o código próprio da Didit, e o que a rede envia para o seu código de participante chega à sua aplicação.

Chegar a uma rede através da adesão da Didit requer três passos: submeter o [questionário da rede](https://docs.didit.me/pt/management-api/travel-rule/submit-network-questionnaire.md), a Didit aprová-lo e depois [solicitar a rede](https://docs.didit.me/pt/management-api/travel-rule/request-network.md). A TRUST e a VerifyVASP só estão acessíveis através da sua própria adesão: a TRUST admite membros por VASP, e um Enclave da VerifyVASP serve um único id de VASP, pelo que tem de executar o seu próprio Enclave.

Enquanto a adesão da Didit a uma rede não estiver ativa, o seu `state` é `didit_onboarding` e não é possível enviar nada através da Didit nessa rede. O `state` indica o estado de configuração, não uma verificação do estado de funcionamento ou de entrega.


## OpenAPI

````yaml pt/openapi-25.json GET /v3/travel-rule/networks/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de Verificação de identidade. Autentique-se com o cabeçalho x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/networks/:
    get:
      tags:
        - Travel Rule
      summary: Obter redes de Travel Rule
      description: >-
        Consulte, para esta aplicação, o verdadeiro estado de cada rede: se
        envia através da sua própria adesão ou através da da Didit, e o motivo
        pelo qual ainda não o pode fazer. Também devolve o questionário de
        diligência devida e os seus participantes. A consulta não cria nada.
      operationId: getTravelRuleNetworks
      responses:
        '200':
          description: Estados da rede, questionário e participantes.
          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: Chave de API em falta ou inválida.
      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: >-
            Se o acesso à rede através da adesão da Didit está aberto. Enquanto
            for false, as operações de gravação de questionários, submissões e
            pedidos de rede respondem com 403.
        questionnaire:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        participants:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleNetworkParticipant'
        networks:
          type: object
          readOnly: true
          description: >-
            Por rede, como esta aplicação enviaria e por que motivo não o
            consegue fazer. Nenhuma rede, incluindo a GTR, está incluída por
            predefinição: uma rede fica acessível através da sua própria adesão
            ligada, ou através da adesão da Didit assim que a adesão da Didit a
            essa rede estiver ativa e o seu próprio participante nela estiver
            ativo. Não se trata de uma verificação de estado ou de entrega em
            tempo real.
          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: >-
            As respostas podem ser guardadas enquanto estiverem em rascunho
            (draft) ou alterações solicitadas (changes_requested); a alteração
            dos estados submetido (submitted), aprovado (approved) e rejeitado
            (rejected) cabe à 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: Nota da Didit sobre a sua última decisão, por exemplo o que alterar.
        history:
          type: array
          readOnly: true
          description: Cada alteração de estado, da mais antiga para a mais recente.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Nota de revisão ou resposta da rede, quando existir.
        updated_at:
          type: string
          format: date-time
          nullable: true
    TravelRuleNetworkParticipant:
      type: object
      description: O participante próprio desta aplicação numa rede.
      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: nunca foi pedido, ou a rede recusou o primeiro pedido
            (consulte last_error); questionnaire_pending: a aguardar que o
            questionário de diligência devida seja aprovado;
            submitted_to_network: entregue ao onboarding da rede; active: a rede
            atribuiu a esta aplicação o seu próprio código de participante;
            suspended / rejected: a Didit suspendeu-a ou rejeitou-a.
        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: >-
            A resposta da rede quando recusou o registo; vazia nos restantes
            casos.
        history:
          type: array
          readOnly: true
          description: Cada alteração de estado, da mais antiga para a mais recente.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Nota de revisão ou resposta da rede, quando existir.
    TravelRuleNetworkState:
      type: object
      description: >-
        Como as mensagens da Travel Rule numa rede seriam enviadas para esta
        aplicação, e porque não podem sê-lo. Estado de configuração, não uma
        verificação de estado ou de entrega em direto.
      properties:
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - own
            - didit
            - 'off'
            - unavailable
          description: >-
            own: é utilizada a adesão associada da aplicação; didit: a adesão da
            Didit regista a aplicação como o seu próprio participante ativo;
            off: encaminhamento da plataforma desativado em disabled_networks
            sem adesão própria; unavailable: ainda nada pode enviar nesta rede
            (consulte state e 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: a sua adesão associada envia; live_through_didit: o
            seu próprio participante na adesão da Didit envia; off: desativou o
            encaminhamento da plataforma; didit_onboarding: a adesão própria da
            Didit a esta rede ainda não está ativa, pelo que não pode
            transportar ninguém; questionnaire_needed / questionnaire_in_review:
            o questionário de diligência devida tem de ser submetido ou está com
            a Didit; request_access: o questionário está aprovado, solicite
            acesso à rede; request_sent: o seu participante está a passar pelo
            processo de onboarding; unavailable: consulte reason; error:
            consulte 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: >-
            Detalhe do estado legível por máquina. own_membership_only: a Didit
            não suporta aplicações nesta rede (TRUST), associe a sua própria
            adesão; sandbox_application: as transferências em sandbox nunca
            chegam a uma rede; provisioning_failed: a rede recusou o registo, o
            last_error do participante indica o motivo e voltar a pedir à rede
            tenta novamente.
        platform_available:
          type: boolean
          description: >-
            Se a adesão da própria Didit a esta rede está configurada; não é uma
            verificação de estado em tempo real.
        connected:
          type: boolean
          description: >-
            Se existe uma adesão de cliente ligada. As credenciais são validadas
            localmente; a validação de rede ocorre numa troca em direto.
        participant:
          $ref: '#/components/schemas/TravelRuleNetworkParticipantSummary'
        vasps_reachable:
          type: integer
          description: VASPs do diretório acessíveis nesta rede.
        routed_30d:
          type: integer
          description: >-
            As transferências desta aplicação efetuadas nesta rede nos últimos
            30 dias.
    TravelRuleNetworkQuestionnaireAnswers:
      type: object
      description: >-
        Questionário de diligência devida de rede da Didit. As operações de
        guardar são parciais: uma operação de guardar mantém todas as respostas
        que não especifica. A submissão exige todos os campos, exceto lei e
        data_protection_contact_email, e que as três atestações sejam true.
      properties:
        legal_name:
          type: string
          maxLength: 255
        registration_number:
          type: string
          maxLength: 255
        incorporation_country:
          type: string
          minLength: 2
          maxLength: 2
          description: Código de país ISO 3166-1 alpha-2.
        registered_address:
          type: string
          maxLength: 1000
        website:
          type: string
          format: uri
          maxLength: 500
        lei:
          type: string
          maxLength: 20
          description: Opcional. Um LEI ISO 17442 válido, quando fornecido.
        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: Código de país ISO 3166-1 alpha-2.
              licence_type:
                type: string
                maxLength: 255
              licence_number:
                type: string
                maxLength: 255
          description: Todas as licenças ou registos que o VASP detém.
        operating_jurisdictions:
          type: array
          minItems: 1
          maxItems: 250
          items:
            type: string
            minLength: 2
            maxLength: 2
            description: Código de país 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: Tem de ser verdadeiro para enviar.
        sanctions_screening_attested:
          type: boolean
          description: Tem de ser verdadeiro para enviar.
        data_protection_attested:
          type: boolean
          description: Tem de ser verdadeiro para enviar.
        data_protection_contact_email:
          type: string
          format: email
          description: Opcional.
        expected_monthly_transfers:
          type: integer
          minimum: 0
        expected_monthly_volume_usd:
          type: string
          format: decimal
          description: >-
            Volume mensal esperado em USD, até 2 casas decimais. Devolvido como
            uma cadeia de caracteres.
        assets:
          type: array
          minItems: 1
          maxItems: 200
          items:
            type: string
            maxLength: 32
          description: >-
            Tickers de ativos, guardados em maiúsculas, ordenados e sem
            duplicados.
    TravelRuleNetworkParticipantSummary:
      type: object
      nullable: true
      description: >-
        O participante próprio desta aplicação na rede, ou null quando não tiver
        nenhum.
      properties:
        mode:
          type: string
          enum:
            - platform
            - own
          description: >-
            platform: transportado pela adesão da Didit; own: integrado sob a
            adesão própria da aplicação.
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: nunca foi pedido, ou a rede recusou o primeiro pedido
            (consulte last_error); questionnaire_pending: a aguardar que o
            questionário de diligência devida seja aprovado;
            submitted_to_network: entregue ao onboarding da rede; active: a rede
            atribuiu a esta aplicação o seu próprio código de participante;
            suspended / rejected: a Didit suspendeu-a ou rejeitou-a.
        participant_code:
          type: string
          description: >-
            O código que a rede atribuiu a esta aplicação (para a GTR, o seu
            código de VASP). As mensagens enviadas contêm este código, nunca o
            da Didit.
        requested_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: >-
            A resposta da rede quando recusou o registo; vazia nos restantes
            casos.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        A chave de API da sua aplicação, a partir de Programadores -> Chaves de
        API na Business Console. A chave principal tem acesso total. Uma chave
        nomeada pode ter o âmbito definido: nenhum, leitura ou escrita por
        recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de
        endereços IP e a uma data de validade. 401 significa que a chave está
        incorreta, revogada ou expirada; 403 significa que nenhuma chave foi
        enviada, que a chave não tem acesso a este recurso ou ação, ou que o
        pedido veio de um endereço fora da sua lista de IP; 404 numa rota de
        sessão significa que a sessão está fora dos fluxos ou estados da chave.
        Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs
        como nulos, e uma chave sem permissão de escrita em sessões recebe
        ligações de sessão e tokens como nulos. Consulte
        https://docs.didit.me/console/api-keys.

````

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