Advanced
Examples
Practical examples and use cases for Talha Iqbal Documentation
Basic Document Creation
Learn how to create and manage documents using the Talha Iqbal Documentation API. These examples demonstrate fundamental operations you'll use regularly.
Initialize Client
Set up your documentation client with proper authentication.
const { DocumentationClient } = require('talha-iqbal-docs');
const client = new DocumentationClient({
apiKey: process.env.DOCS_API_KEY,
baseURL: 'https://api.talha-iqbal-docs.com/v1'
});
Create Document
Create a new document with metadata and content.
const document = await client.documents.create({
title: 'API Integration Guide',
content: '# API Integration
This guide covers...',
tags: ['api', 'integration', 'guide'],
folder: 'api-documentation',
author: 'talha.iqbal',
status: 'draft'
});
console.log('Created document:', document.id);
Update Document
Modify existing document content and metadata.
const updated = await client.documents.update(document.id, {
content: '# API Integration
This updated guide covers...',
tags: ['api', 'integration', 'guide', 'updated'],
status: 'published'
});
console.log('Updated document version:', updated.version);
Advanced Queries
Perform complex searches across your documentation.
// Search by content and tags
const searchResults = await client.documents.search({
query: 'authentication',
tags: ['security', 'api'],
folder: 'api-docs',
author: 'talha.iqbal',
status: 'published',
sortBy: 'updated_at',
sortOrder: 'desc',
limit: 20,
offset: 0
});
console.log(`Found ${searchResults.total} documents`);
Use metadata filters for precise document retrieval.
// Filter by date range and status
const filteredDocs = await client.documents.list({
createdAfter: '2024-01-01',
createdBefore: '2024-12-31',
status: 'published',
tags: ['tutorial'],
folder: 'guides'
});
console.log('Filtered documents:', filteredDocs.length);
Combine search queries with filters for more precise results.
Folder Management
// Create nested folder structure
const folder = await client.folders.create({
name: 'API Documentation',
parentId: null,
description: 'All API-related documentation',
permissions: {
read: ['team'],
write: ['developers'],
admin: ['leads']
}
});
console.log('Created folder:', folder.id);
// Move documents between folders
await client.documents.move(document.id, {
fromFolder: 'drafts',
toFolder: 'published-api-docs',
updateReferences: true
});
console.log('Document moved successfully');
Team Collaboration
Integration Examples
Error Handling
// Comprehensive error handling
try {
const document = await client.documents.create({
title: 'Test Document',
content: 'Test content'
});
} catch (error) {
switch (error.code) {
case 'VALIDATION_ERROR':
console.error('Invalid document data:', error.details);
break;
case 'AUTHENTICATION_ERROR':
console.error('Authentication failed, check API key');
break;
case 'PERMISSION_DENIED':
console.error('Insufficient permissions for this operation');
break;
case 'RATE_LIMIT_EXCEEDED':
console.error('Rate limit exceeded, please wait');
break;
default:
console.error('Unknown error:', error.message);
}
}
// Async error handling with promises
client.documents.create({
title: 'Test Document',
content: 'Test content'
})
.then(document => {
console.log('Document created:', document.id);
})
.catch(error => {
if (error.code === 'DUPLICATE_TITLE') {
console.error('Document with this title already exists');
} else {
console.error('Creation failed:', error.message);
}
});
Always implement proper error handling to provide meaningful feedback to users.
Performance Optimization
| Technique | Code Example | Benefit |
|---|---|---|
| Batch Operations | client.documents.batchUpdate(updates) | Reduce API calls |
| Caching | client.cache.enable({ ttl: 300 }) | Faster repeated requests |
| Pagination | client.documents.list({ limit: 50, offset: 100 }) | Handle large datasets |
| Compression | client.config.set({ compression: 'gzip' }) | Reduce bandwidth |
These examples demonstrate the versatility and power of Talha Iqbal Documentation. Start with the basic operations and gradually incorporate advanced features as your needs grow.
Was this page helpful?