curl -X POST 'https://verification.didit.me/v3/businesses/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "vendor_data_list": ["company-123", "company-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.businesses.set_aml_monitoring(
is_enabled=True,
estimate_only=True,
vendor_data_list=["company-123", "company-456"],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.businesses.setAmlMonitoring({
is_enabled: true,
estimate_only: true,
vendor_data_list: ["company-123", "company-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Businesses.SetAMLMonitoring(ctx, didit.BusinessesSetAMLMonitoringParams{
IsEnabled: true,
EstimateOnly: didit.Bool(true),
VendorDataList: didit.Some([]string{"company-123", "company-456"}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.BusinessesSetAmlMonitoringParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.businesses().setAmlMonitoring(BusinessesSetAmlMonitoringParams.builder()
.isEnabled(true)
.estimateOnly(true)
.vendorDataList(List.of("company-123", "company-456"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->businesses->setAmlMonitoring([
'is_enabled' => true,
'estimate_only' => true,
'vendor_data_list' => ['company-123', 'company-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.businesses.set_aml_monitoring(
is_enabled: true,
estimate_only: true,
vendor_data_list: ["company-123", "company-456"]
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Businesses.SetAmlMonitoringAsync(new BusinessesSetAmlMonitoringParams
{
IsEnabled = true,
EstimateOnly = true,
VendorDataList = new string[] { "company-123", "company-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true,
"unmatched": [
"<string>"
]
}{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "PENDING",
"is_enabled": true,
"target_type": "user",
"total": 123,
"processed": 123,
"outcomes": {
"enabled": 123,
"screened_and_enabled": 123,
"already_enabled": 123,
"disabled": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"skipped_sandbox": 123,
"failed_provider": 123,
"failed_insufficient_balance": 123
},
"results": [
{
"didit_internal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_data": "<string>",
"outcome": "enabled"
}
],
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"estimate": {
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true
},
"unmatched": [
"<string>"
]
}{
"error": "<string>",
"estimate": {
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true
}
}व्यवसायों के लिए AML निगरानी टॉगल API
एक कॉल में कई व्यवसायों के लिए सतत AML निगरानी चालू या बंद करें। Didit के साथ लागत अनुमान, जॉब स्थिति और प्रति व्यवसाय परिणाम पाएँ।
curl -X POST 'https://verification.didit.me/v3/businesses/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "vendor_data_list": ["company-123", "company-456"]}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.businesses.set_aml_monitoring(
is_enabled=True,
estimate_only=True,
vendor_data_list=["company-123", "company-456"],
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.businesses.setAmlMonitoring({
is_enabled: true,
estimate_only: true,
vendor_data_list: ["company-123", "company-456"],
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Businesses.SetAMLMonitoring(ctx, didit.BusinessesSetAMLMonitoringParams{
IsEnabled: true,
EstimateOnly: didit.Bool(true),
VendorDataList: didit.Some([]string{"company-123", "company-456"}),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import java.util.List;
import me.didit.Didit;
import me.didit.types.BusinessesSetAmlMonitoringParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.businesses().setAmlMonitoring(BusinessesSetAmlMonitoringParams.builder()
.isEnabled(true)
.estimateOnly(true)
.vendorDataList(List.of("company-123", "company-456"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->businesses->setAmlMonitoring([
'is_enabled' => true,
'estimate_only' => true,
'vendor_data_list' => ['company-123', 'company-456'],
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.businesses.set_aml_monitoring(
is_enabled: true,
estimate_only: true,
vendor_data_list: ["company-123", "company-456"]
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Businesses.SetAmlMonitoringAsync(new BusinessesSetAmlMonitoringParams
{
IsEnabled = true,
EstimateOnly = true,
VendorDataList = new string[] { "company-123", "company-456" },
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true,
"unmatched": [
"<string>"
]
}{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "PENDING",
"is_enabled": true,
"target_type": "user",
"total": 123,
"processed": 123,
"outcomes": {
"enabled": 123,
"screened_and_enabled": 123,
"already_enabled": 123,
"disabled": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"skipped_sandbox": 123,
"failed_provider": 123,
"failed_insufficient_balance": 123
},
"results": [
{
"didit_internal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"vendor_data": "<string>",
"outcome": "enabled"
}
],
"error": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"estimate": {
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true
},
"unmatched": [
"<string>"
]
}{
"error": "<string>",
"estimate": {
"users_total": 123,
"already_enabled": 123,
"with_existing_aml": 123,
"needing_screening": 123,
"skipped_no_identity_data": 123,
"skipped_blocked": 123,
"estimated_screening_cost_usd": 0.2,
"estimated_annual_monitoring_cost_usd": 0.07,
"balance_sufficient": true
}
}अवलोकन
चुने गए व्यवसाय के लिए सतत AML निगरानी सक्षम या अक्षम करता है, ठीक वैसे ही जैसे बिज़नेस कंसोल में AML Ongoing monitoring क्रिया करती है। कंसोल और यह endpoint एक ही अंतर्निहित ऑपरेशन चलाते हैं, इसलिए नियम, बिलिंग और परिणाम समान होते हैं। चुने गए व्यवसायों की संख्या, उनमें से कितनों को नई AML स्क्रीनिंग चाहिए, एक बार की स्क्रीनिंग लागत और वार्षिक निगरानी लागत जानने के लिए पहलेestimate_only: true भेजें। ड्राई-रन से कुछ भी नहीं लिखा जाता। अनुमान में वही फ़ील्ड नाम इस्तेमाल होते हैं जो उपयोगकर्ता endpoint में हैं, इसलिए users_total चुने गए व्यवसायों की संख्या है।
चयन कैसे संसाधित होता है
- प्रति व्यवसाय केवल एक स्क्रीनिंग की निगरानी की जाती है। जो कंपनी कई बार सत्यापित हुई है, उसकी केवल एक स्क्रीनिंग की निगरानी की जाती है और उसकी बिलिंग भी एक बार होती है। निगरानी बंद करने पर उस व्यवसाय की सभी स्क्रीनिंग में निगरानी बंद हो जाती है।
- बिना AML स्क्रीनिंग वाले व्यवसायों की पहले स्क्रीनिंग होती है। Didit उनके लिए नई AML स्क्रीनिंग बनाता है (जो व्यवसाय के Verifications टैब में दिखती है), उसकी बिलिंग नियमित AML स्क्रीनिंग की तरह होती है, और उस पर निगरानी सक्षम कर दी जाती है। स्क्रीनिंग व्यवसाय के कानूनी नाम (या प्रदर्शित नाम) और देश का उपयोग करती है। जिस व्यवसाय का कोई भी नाम नहीं है, उसे चुपचाप छोड़ा नहीं जाता, बल्कि
skipped_no_identity_dataके रूप में रिपोर्ट किया जाता है। - सैंडबॉक्स एप्लिकेशन कभी स्क्रीनिंग नहीं बनाते (
skipped_sandbox)। - बैलेंस पहले ही जाँचा जाता है। जब आपका बैलेंस अनुमान को कवर नहीं करता, तो सक्षम करने का अनुरोध
403के साथ अस्वीकार कर दिया जाता है, और रिस्पॉन्स में अनुमान शामिल होता है ताकि आप जान सकें कि कितना टॉप अप करना है। - वार्षिक नवीनीकरण। जिस व्यवसाय की निगरानी नई शुरू हुई है, उससे उसकी अगली नवीनीकरण तिथि पर वार्षिक निगरानी शुल्क लिया जाता है। यह वही तिथि है जो कंसोल में Ongoing monitoring कॉलम में दिखती है। निगरानी बंद करने से नवीनीकरण रुक जाता है, लेकिन जो अवधि पहले ही बिल हो चुकी है उसकी धनवापसी नहीं होती।
चयन और बैच आकार
व्यवसायों का चयनvendor_data_list, didit_internal_id_list, या दोनों से करें। दोनों सूचियों को OR के रूप में जोड़ा जाता है। एक अनुरोध में दोनों सूचियों को मिलाकर अधिकतम 1000 पहचानकर्ता स्वीकार होते हैं। जो पहचानकर्ता आपके एप्लिकेशन के किसी व्यवसाय से मेल नहीं खाते, उन्हें जैसे भेजे गए थे वैसे ही unmatched के अंतर्गत लौटाया जाता है, और इससे अनुरोध कभी विफल नहीं होता। जो चयन किसी भी व्यवसाय से मेल नहीं खाता, वह खाली जॉब (total: 0) के रूप में पूरा होता है, जिसमें हर पहचानकर्ता सूचीबद्ध होता है। यह बैच डिलीट endpoint जैसा ही नियम है।
इनलाइन या पृष्ठभूमि में
20 या उससे कम व्यवसायों के चयन इनलाइन संसाधित होते हैं, और कॉल पूर्ण जॉब के साथ200 लौटाती है। बड़े चयन PENDING जॉब के साथ 202 लौटाते हैं। तब तक AML Monitoring Job प्राप्त करें पर पोल करें जब तक status COMPLETED या FAILED न हो जाए। दोनों ही स्थितियों में जॉब में हर व्यवसाय के लिए उसके outcome के साथ एक results प्रविष्टि होती है।
outcome | अर्थ |
|---|---|
enabled | मौजूदा AML स्क्रीनिंग पर निगरानी सक्षम की गई। |
screened_and_enabled | नई AML स्क्रीनिंग बनाई गई (बिल हुई) और उस पर निगरानी सक्षम की गई। |
already_enabled | निगरानी पहले से सक्रिय थी; कुछ नहीं बदला, कुछ बिल नहीं हुआ। |
disabled | व्यवसाय की हर स्क्रीनिंग में निगरानी बंद की गई। |
skipped_no_identity_data | व्यवसाय के पास स्क्रीन करने के लिए कोई कानूनी या प्रदर्शन नाम नहीं है। |
skipped_sandbox | सैंडबॉक्स एप्लिकेशन; कोई स्क्रीनिंग नहीं बनाई गई। |
failed_provider | स्क्रीनिंग पूरी नहीं हो सकी। बाद में पुनः प्रयास करें। |
failed_insufficient_balance | जॉब चलने के दौरान बैलेंस समाप्त हो गया। |
Webhooks
निगरानी टॉगल करने से कोई अलग webhook नहीं भेजा जाता। निगरानी चालू होने के बाद, पुनः स्क्रीनिंग में वही सामान्यstatus.updated और data.updated इवेंट भेजे जाते रहते हैं, जो सतत AML निगरानी में वर्णित हैं।
अनुमतियाँ
एप्लिकेशन की कोई भी सक्रिय API कुंजी इस endpoint को कॉल कर सकती है। Didit API कुंजियाँ एप्लिकेशन-स्तरीय हैं, भूमिका-स्तरीय नहीं। कंसोल की भूमिकाएँ और अनुमतियाँ तय करती हैं कि कोई व्यक्ति कंसोल में क्या कर सकता है, और Management API ट्रैफ़िक के लिए इनका मूल्यांकन नहीं होता।संबंधित
- AML Monitoring Job प्राप्त करें
- उपयोगकर्ताओं के लिए AML मॉनिटरिंग टॉगल करें
- सतत AML निगरानी
- व्यवसाय AML स्क्रीनिंग
- व्यवसायों की सूची देखें
प्राधिकरण
आपकी एप्लिकेशन की 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।
बॉडी
vendor_data_list, didit_internal_id_list, या दोनों के साथ व्यवसायों का चयन करें (दोनों सूचियाँ OR की जाती हैं)। दोनों सूचियों को मिलाकर प्रति अनुरोध अधिकतम 1000 पहचानकर्ता।
निगरानी सक्षम करने के लिए true, इसे अक्षम करने के लिए false।
true होने पर, लागत अनुमान लौटाता है और कोई राइट ऑपरेशन नहीं करता है - कोई स्क्रीनिंग नहीं, कोई बिलिंग नहीं, कोई जॉब नहीं।
टॉगल करने के लिए व्यवसायों के आपके अपने पहचानकर्ता, ठीक वैसे ही मिलान किए जाते हैं जैसे भेजे गए थे।
टॉगल करने के लिए व्यवसायों की Didit आंतरिक ids - create, get और list endpoints द्वारा लौटाई गई didit_internal_id।
प्रतिक्रिया
अनुमान (जब estimate_only सत्य हो) या इनलाइन प्रोसेस किए गए चयन के लिए पूर्ण किया गया कार्य।
- Option 1
- Option 2
लागत पूर्वावलोकन। estimate_only true होने पर सीधे लौटाया जाता है (कुछ भी लिखा नहीं जाता है)।
चयन द्वारा मिलान की गई प्रोफ़ाइल।
पहले से मॉनिटर की जा रही प्रोफ़ाइल (सक्षम करते समय कुछ करने की आवश्यकता नहीं है; अक्षम करने पर इन्हें ही बंद किया जाता है)।
वे प्रोफ़ाइल जिनकी मौजूदा AML स्क्रीनिंग को निगरानी में बदल दिया जाएगा (कोई नई स्क्रीनिंग नहीं)।
बिना किसी AML स्क्रीनिंग वाली प्रोफ़ाइल जिनकी पहले स्क्रीनिंग की जाएगी (नियमित AML स्क्रीनिंग के रूप में बिल किया जाएगा)।
वे प्रोफ़ाइल जिनकी स्क्रीनिंग नहीं की जा सकती क्योंकि पहचान डेटा मौजूद नहीं है।
ब्लॉक किए गए उपयोगकर्ता जिन्हें छोड़ दिया जाएगा (व्यवसायों के लिए हमेशा 0)।
नई स्क्रीनिंग की एकमुश्त लागत।
0.2
उन प्रोफ़ाइलों की वार्षिक निगरानी लागत जिनकी निगरानी शुरू की जाएगी।
0.07
क्या संगठन का बैलेंस स्क्रीनिंग और निगरानी के पहले वर्ष को कवर करता है।
अनुरोध के वे पहचानकर्ता जिनका इस एप्लिकेशन में किसी प्रोफ़ाइल से मिलान नहीं हुआ, बिल्कुल वैसे ही जैसे भेजे गए थे।