> ## 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 अंतिम उपयोगकर्ता लिंक बनाएँ या ईमेल करें

> Didit के साथ Travel Rule का नया अंतिम उपयोगकर्ता लिंक बनाएँ या उपयोगकर्ता के दर्ज पते पर ईमेल करें। लिंक समाप्ति, रद्दीकरण और डिलीवरी स्थिति फ़ील्ड सहित।

Didit का Travel Rule अंतिम उपयोगकर्ता लिंक API एक लिंक जारी करता है, ताकि अंतिम उपयोगकर्ता अपना वॉलेट या प्रतिपक्ष चुन सके। यह लिंक उसके रिकॉर्ड में दर्ज पते पर ईमेल भी किया जा सकता है।

`{"channel": "link"}` भेजें ताकि लिंक कॉपी हो सके, या `{"channel": "email"}` भेजें ताकि लिंक कॉपी होने के साथ ईमेल भेजने का प्रयास भी किया जाए। `channel` छोड़ने पर डिफ़ॉल्ट रूप से `link` इस्तेमाल होता है। ईमेल अंतिम उपयोगकर्ता के Didit रिकॉर्ड के पते पर भेजा जाता है और, उपलब्ध होने पर, उनके सत्यापन सत्र की भाषा में। आप कोई मनमाना प्राप्तकर्ता नहीं दे सकते।

इस API के लिए लेन-देन पर लिखने की पहुँच और एक बाहर जाने वाला ट्रांसफ़र ज़रूरी है, जो `AWAITING_COUNTERPARTY`, `COUNTERPARTY_VASP_NOT_FOUND`, `COUNTERPARTY_VASP_NOT_REACHABLE`, `UNCONFIRMED_OWNERSHIP` या `ON_HOLD` स्थिति में हो। अन्य स्थितियों में `409` लौटता है। अज्ञात लेन-देन या अनुपलब्ध ट्रांसफ़र के लिए `404` लौटता है।

प्रतिक्रिया में `end_user_link`, `expires_at`, `emailed_to` और `email_available` शामिल हैं। नया लिंक बनाने पर उस ट्रांसफ़र के लिए पहले के सभी खुले अंतिम उपयोगकर्ता लिंक रद्द हो जाते हैं। यह लिंक केवल इच्छित अंतिम उपयोगकर्ता के साथ साझा करें।

जब रिकॉर्ड में कोई ईमेल मौजूद न हो, तो `channel: email` के साथ `409` लौटता है और `code: end_user_email_missing` आता है। ऐसी स्थिति में `channel: link` का अनुरोध करें। अगर ईमेल भेजना विफल हो जाए, तब भी API एक उपयोगी लिंक लौटाता है, लेकिन `emailed_to` खाली रहता है। `email_available` का मतलब है कि पता मौजूद है, न कि ईमेल सफलतापूर्वक भेजा गया।

लेन-देन बनाते समय उपयोगकर्ता के स्पष्ट चयन के लिए देखें [लेन-देन बनाएँ](https://docs.didit.me/hi/management-api/transactions/create.md) और [Travel Rule गाइड](https://docs.didit.me/hi/transaction-monitoring/travel-rule.md#प्रतिपक्ष-खोज)। ट्रांसफ़र संबंधी कार्रवाइयों के लिए देखें [ट्रांसफ़र अपडेट करें](https://docs.didit.me/hi/management-api/travel-rule/update-transfer.md)।


## OpenAPI

````yaml hi/openapi-25.json POST /v3/transactions/{transaction_id}/travel-rule/user-link/
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/transactions/{transaction_id}/travel-rule/user-link/:
    post:
      tags:
        - Travel Rule
      summary: Travel Rule एंड-यूज़र लिंक बनाएँ या ईमेल करें
      description: >-
        इस ट्रांसफ़र के लिए नया लिंक जारी करें और पिछले सभी खुले लिंक रद्द करें।
        लेन-देन पर लिखने की अनुमति और AWAITING_COUNTERPARTY,
        COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE,
        UNCONFIRMED_OWNERSHIP या ON_HOLD स्थिति वाला आउटबाउंड ट्रांसफ़र आवश्यक
        है। channel=email उपलब्ध होने पर अंतिम उपयोगकर्ता के Didit रिकॉर्ड का
        ईमेल और सत्यापन-सत्र की भाषा उपयोग करता है। भेजने में विफलता होने पर
        लिंक emailed_to खाली रखकर लौटाया जाता है; email_available पते की
        उपलब्धता बताता है, डिलीवरी नहीं। देखें [उपयोगकर्ता
        लिंक](/hi/management-api/travel-rule/create-user-link)।
      operationId: createTravelRuleUserLink
      parameters:
        - name: transaction_id
          in: path
          required: true
          description: ट्रांसफ़र का स्वामित्व रखने वाला Didit-स्थायी लेन-देन UUID।
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelRuleUserLinkRequest'
            example:
              channel: link
      responses:
        '200':
          description: सफल रिस्पॉन्स।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleUserLinkResponse'
        '400':
          description: अमान्य अनुरोध फ़ील्ड।
        '403':
          description: लेन-देन लिखने की अनुमति नहीं है।
        '404':
          description: अज्ञात लेन-देन, या कोई Travel Rule ट्रांसफ़र नहीं।
        '409':
          description: >-
            स्थानांतरण की दिशा/स्थिति लिंक की अनुमति नहीं देती, या channel=email
            के लिए अंतिम उपयोगकर्ता का पता नहीं है। बाद वाले मामले में
            code=end_user_email_missing है; channel=link के साथ पुनः प्रयास
            करें।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: टकराव का स्पष्टीकरण।
                  code:
                    type: string
                    description: तब मौजूद होता है जब ईमेल उपलब्ध न हो।
                    enum:
                      - end_user_email_missing
                required:
                  - detail
              example:
                detail: >-
                  This end user has no email on their Didit record. Copy the
                  link instead.
                code: end_user_email_missing
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/transactions/{transaction_id}/travel-rule/user-link/'
            \
              -H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
              -d '{"channel": "link"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.transactions.travel_rule.create_user_link(
                "11111111-2222-3333-4444-555555555555",
                channel="link",
            )
            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.transactions.travelRule.createUserLink("11111111-2222-3333-4444-555555555555",
            {
              channel: "link",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Transactions.TravelRule.CreateUserLink(ctx, \"11111111-2222-3333-4444-555555555555\", didit.TravelRuleUserLinkRequest{\n\tChannel: didit.Some(didit.TravelRuleUserLinkRequestChannel(\"link\")),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.TravelRuleUserLinkRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.transactions().travelRule().createUserLink("11111111-2222-3333-4444-555555555555",
            TravelRuleUserLinkRequest.builder()
                    .channel(TravelRuleUserLinkRequest.Channel.of("link"))
                    .build());
            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->transactions->travelRule->createUserLink('11111111-2222-3333-4444-555555555555',
            [
                'channel' => 'link',
            ]);

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

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

            result = didit.transactions.travel_rule.create_user_link(
              "11111111-2222-3333-4444-555555555555",
              channel: "link"
            )
            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.Transactions.TravelRule.CreateUserLinkAsync("11111111-2222-3333-4444-555555555555",
            new TravelRuleUserLinkRequest

            {
                Channel = new TravelRuleUserLinkRequestChannel("link"),
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleUserLinkRequest:
      type: object
      properties:
        channel:
          type: string
          description: >-
            link एक नया लिंक लौटाता है; email उसे अंतिम उपयोगकर्ता के Didit
            रिकॉर्ड के ईमेल पर भेजने का भी प्रयास करता है।
          enum:
            - link
            - email
          default: link
    TravelRuleUserLinkResponse:
      type: object
      properties:
        end_user_link:
          type: string
          description: >-
            नया एंड-यूज़र लिंक। इस ट्रांसफ़र के पिछले खुले लिंक रद्द कर दिए जाते
            हैं।
          format: uri
        expires_at:
          type: string
          description: लिंक की समाप्ति।
          format: date-time
        emailed_to:
          type: string
          description: >-
            भेजना सफल होने पर प्राप्तकर्ता, अन्यथा खाली स्ट्रिंग। ईमेल विफलता पर
            भी एक उपयोग योग्य लिंक लौटता है।
        email_available:
          type: boolean
          description: क्या अंतिम उपयोगकर्ता के Didit रिकॉर्ड में ईमेल है।
      required:
        - end_user_link
        - expires_at
        - emailed_to
        - email_available
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys
        से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप
        किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या
        स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक
        सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी
        समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी,
        कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP
        सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी
        के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को
        छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write
        के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं।
        देखें https://docs.didit.me/console/api-keys।

````

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