क्विक स्टार्ट गाइड
10 मिनट से भी कम समय में Chaindoc के साथ शुरुआत करें। यह गाइड आपको वेब इंटरफेस और API दोनों के बारे में बताता है, ताकि आप जो भी पसंद करें वह चुन सकें।
वेब इंटरफेस के माध्यम से हस्ताक्षर करना
अपना पहला हस्ताक्षर अनुरोध भेजने के लिए आपको कोई कोड लिखने की जरूरत नहीं है। वेब ऐप सब कुछ संभालता है: अपलोड, प्राप्तकर्ता, हस्ताक्षर प्रवाह, और ब्लॉकचेन सत्यापन।
चरण-दर-चरण: आपका पहला हस्ताक्षर
1अपना अकाउंट बनाएंapp.chaindoc.io पर साइन अप करें और अपना ईमेल सत्यापित करें। लगभग 30 सेकंड लगते हैं।
2एक दस्तावेज़ अपलोड करें"New Document" पर क्लिक करें और अपनी फाइल ड्रैग करें। Chaindoc PDF, Office दस्तावेज़, और 50MB तक की इमेजेज़ का समर्थन करता है।
3विवरण भरेंइसे एक नाम दें, यदि आप चाहें तो विवरण जोड़ें, और एक्सेस लेवल (private, team, या public) चुनें। टैग वैकल्पिक हैं लेकिन बाद में खोजने में मदद करते हैं।
4हस्ताक्षर अनुरोध बनाएं"Request Signatures" पर क्लिक करें, साइनर ईमेल जोड़ें, डेडलाइन सेट करें, और एक संदेश लिखें। हस्ताक्षर क्रम समानांतर (सब एक साथ साइन करते हैं) या क्रमिक (एक-एक करके) हो सकता है।
5भेजेंविवरण की समीक्षा करें और भेजें दबाएं। प्रत्येक प्राप्तकर्ता को एक सुरक्षित हस्ताक्षर लिंक के साथ एक ईमेल मिलता है। यदि आपको पहचान जांच की जरूरत है तो आप KYC सत्यापन भी सक्षम कर सकते हैं।
6प्रगति ट्रैक करेंडैशबोर्ड रीयल-टाइम में दिखाता है कि किसने हस्ताक्षर किया है और किसने नहीं। प्रत्येक हस्ताक्षर आने पर आपको सूचित किया जाएगा।
7साइन की हुई कॉपी डाउनलोड करेंजब सब हस्ताक्षर कर लें, अंतिम दस्तावेज़ डाउनलोड करें। इसके साथ एक ब्लॉकचेन सत्यापन प्रमाणपत्र आता है जो साबित करता है कि दस्तावेज़ में कोई बदलाव नहीं किया गया है।
विभिन्न signature types (simple, advanced, qualified) को समझना चाहते हैं? यह अनुपालन के लिए मायने रखता है। अधिकांश व्यावसायिक अनुबंध simple ई-हस्ताक्षरों के साथ ठीक काम करते हैं, लेकिन विनियमित उद्योगों को अक्सर advanced या qualified की जरूरत होती है।
API के माध्यम से एकीकरण
यदि आप अपने स्वयं के ऐप में हस्ताक्षर बना रहे हैं, तो आप REST API और TypeScript SDKs का उपयोग करेंगे। प्रवाह वेब इंटरफेस के समान है, बस स्वचालित।
1. अपनी API keys प्राप्त करें
API एक्सेस के लिए Business प्लान की आवश्यकता होती है। अपने डैशबोर्ड में Settings > API Access पर जाएं और दो keys बनाएं:
- Public key (`pk_`) Embed SDK के साथ frontend उपयोग के लिए
- Secret key (`sk_`) Server SDK के साथ backend उपयोग के लिए। इसे client-side कोड से दूर रखें।
2. SDK इंस्टॉल करें
वह SDK चुनें जो आपके use case से मेल खाता हो। अधिकांश ऐप्स को दोनों की जरूरत होती है: दस्तावेज़ बनाने के लिए Server SDK और हस्ताक्षर UI के लिए Embed SDK।
# Node.js 18+ required
npm install @chaindoc_io/server-sdkविस्तृत framework सेटअप (React, Vue, Angular, Next.js) के लिए, installation guide देखें।
3. अपलोड करें और दस्तावेज़ बनाएं
import { Chaindoc } from '@chaindoc_io/server-sdk';
import { readFile } from 'fs/promises';
// Initialize SDK
const chaindoc = new Chaindoc({
secretKey: process.env.CHAINDOC_SECRET_KEY!,
});
// 1. Upload document
const buffer = await readFile('./contract.pdf');
const file = new Blob([buffer], { type: 'application/pdf' });
const { media } = await chaindoc.media.upload([file]);
// 2. Create document record
const doc = await chaindoc.documents.create({
name: 'Service Agreement',
description: 'Q4 2024 Contract',
media: media[0],
status: 'published', // Triggers blockchain verification
hashtags: ['#contract', '#2024'],
meta: [{ key: 'client', value: 'Acme Corp' }],
});
console.log('Document created:', doc.documentId);`status: 'published'` सेट करने से ब्लॉकचेन सत्यापन स्वचालित रूप से ट्रिगर होता है। यदि आप रोकना चाहते हैं, तो `'draft'` का उपयोग करें और बाद में publish करें।
4. हस्ताक्षर अनुरोध बनाएं
// Create signature request for multiple signers
const sigRequest = await chaindoc.signatures.createRequest({
versionId: doc.document.versions[0].uuid,
recipients: [
{ email: 'signer1@example.com' },
{ email: 'signer2@example.com' },
],
deadline: new Date('2024-12-31'),
message: 'Please review and sign this agreement',
embeddedFlow: true, // Enable for frontend integration
});
console.log('Signature request created:', sigRequest.signatureRequest.uuid);यदि आप अपने ऐप के अंदर हस्ताक्षर UI दिखाने जा रहे हैं तो `embeddedFlow: true` सेट करें। इसके बिना, साइनरों को इसके बजाय Chaindoc की hosted signing page का लिंक मिलता है।
5. हस्ताक्षर इंटरफेस दिखाएं (frontend)
यह वैकल्पिक है। यदि आपने `embeddedFlow: true` सेट किया है, तो आप अपने ऐप के अंदर ही हस्ताक्षर UI खोल सकते हैं। पहले backend पर एक session बनाएं, फिर session ID को frontend पर पास करें।
// Create embedded session for signer
const session = await chaindoc.embedded.createSession({
email: 'signer1@example.com',
metadata: {
documentId: doc.documentId,
signatureRequestId: sigRequest.signatureRequest.uuid,
},
});
// Return sessionId to frontend
res.json({ sessionId: session.sessionId });6. स्थिति जांचें और events सुनें
आप status poll कर सकते हैं, लेकिन production के लिए webhooks बेहतर विकल्प हैं। वे आपके server को तुरंत सूचित करेंगे जब कुछ होता है।
// Poll approach (fine for testing)
const status = await chaindoc.signatures.getRequestStatus(
sigRequest.signatureRequest.uuid
);
if (status.signatureRequest.status === 'completed') {
console.log('All signatures collected!');
}7. Webhooks सेट अप करें (अनुशंसित)
Webhooks real time में events को आपके server पर push करते हैं, इसलिए आपको बार-बार जांच नहीं करनी पड़ती। यहाँ एक बुनियादी Express handler है:
// Configure webhook endpoint
app.post('/webhooks/chaindoc', (req, res) => {
const event = req.headers['x-webhook-event'];
const payload = req.body;
switch (event) {
case 'document.verified':
console.log('Document verified on blockchain:', payload.txHash);
break;
case 'signature.request.completed':
console.log('All signatures collected!');
// Send notifications, update status, etc.
break;
}
res.status(200).send('OK');
});Production में, आपको HMAC के साथ webhook signatures सत्यापित करना चाहिए ताकि यह सुनिश्चित हो सके कि payload वास्तव में Chaindoc से आया है। webhooks guide इसे विस्तार से कवर करता है।
पूर्ण workflow उदाहरण
यह सब कुछ एक साथ करता है: अपलोड, बनाएं, हस्ताक्षर करें, सत्यापित करें। इसे कॉपी करें, अपनी API keys डालें, और आपके पास एक काम करने वाला prototype है।
import { Chaindoc } from '@chaindoc_io/server-sdk';
import { readFile } from 'fs/promises';
async function createSigningWorkflow() {
const chaindoc = new Chaindoc({
secretKey: process.env.CHAINDOC_SECRET_KEY!,
});
// Step 1: Upload document
const buffer = await readFile('./contract.pdf');
const file = new Blob([buffer], { type: 'application/pdf' });
const { media } = await chaindoc.media.upload([file]);
// Step 2: Create document
const doc = await chaindoc.documents.create({
name: 'Service Agreement',
description: 'Contract for consulting services',
media: media[0],
status: 'published',
hashtags: ['#contract'],
meta: [],
});
// Step 3: Create signature request
const sigRequest = await chaindoc.signatures.createRequest({
versionId: doc.document.versions[0].uuid,
recipients: [{ email: 'signer@example.com' }],
deadline: new Date('2024-12-31'),
embeddedFlow: true,
});
// Step 4: Create session for frontend
const session = await chaindoc.embedded.createSession({
email: 'signer@example.com',
metadata: {
documentId: doc.documentId,
signatureRequestId: sigRequest.signatureRequest.uuid,
},
});
return {
documentId: doc.documentId,
sessionId: session.sessionId,
};
}
// Usage
const { documentId, sessionId } = await createSigningWorkflow();
console.log('Ready for signing:', { documentId, sessionId });आगे कहाँ जाएं
अब जब आपको मूल बातें समझ में आ गई हैं, तो यहाँ आपके द्वारा बनाई जा रही चीज़ के आधार पर गहराई में जाने के लिए क्या है:
- Installation — React, Vue, Angular, और Next.js के लिए framework-विशिष्ट सेटअप
- API documentation — अनुरोध/प्रतिक्रिया उदाहरणों के साथ पूर्ण endpoint संदर्भ
- SDKs — Server SDK और Embed SDK, प्रति-framework एकीकरण गाइड के साथ
- Webhooks — production ऐप्स के लिए real-time event सूचनाएं
- Security best practices — live जाने से पहले क्या सुरक्षित करना है
आम सवाल
ब्लॉकचेन सत्यापन में कितना समय लगता है?
आमतौर पर 1-5 मिनट, नेटवर्क के आधार पर। आपका दस्तावेज़ तुरंत उपलब्ध है। सत्यापन background में चलता है और जब यह पूरा हो जाता है तो आपको एक webhook event मिलेगा।
क्या मैं बिना भुगतान के API का परीक्षण कर सकता हूँ?
फ्री प्लान आपको वेब इंटरफेस तक पहुंच देता है। API एक्सेस के लिए Business प्लान की आवश्यकता होती है, लेकिन sandbox environment आपको real डेटा को प्रभावित किए बिना या quota का उपयोग किए बिना सब कुछ परीक्षण करने देता है।
क्या ये हस्ताक्षर कानूनी रूप से बाध्यकारी हैं?
हाँ। Chaindoc हस्ताक्षर यूरोप में eIDAS, US में ESIGN Act और UETA, और अधिकांश अन्य क्षेत्राधिकारों में समकक्ष नियमों का अनुपालन करते हैं। ब्लॉकचेन सत्यापन इसके शीर्ष पर एक अतिरिक्त साक्ष्य परत जोड़ता है, जो विवादों में मायने रख सकता है। यह देखें कि आपकी अनुपालन आवश्यकताओं के लिए कौन सा हस्ताक्षर प्रकार उपयुक्त है, इसके विवरण के लिए signatures docs देखें।
मैं कौन से file formats अपलोड कर सकता हूँ?
PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, JPG, PNG, GIF, WEBP, SVG, MP4, AVI, MOV, और WMV। अधिकतम file size 50MB है।