Code Examples¶
Comprehensive working code examples demonstrating OpenComplai usage patterns.
Example Categories¶
Basic Usage¶
Common patterns and getting started: - Create, Read, Update, Delete (CRUD) - Python and JavaScript examples - Error handling - File uploads - Polling for results - Batch operations
Advanced Patterns¶
Production-ready patterns: - Retry logic with exponential backoff - Caching strategies - Batch processing with progress - Webhook listeners - Streaming large results - Parallel requests - Configuration management - Graceful degradation
Integrations¶
Integrate with popular platforms: - Zapier automation - Slack notifications - Make workflows - n8n pipelines - GitHub Actions - API gateways - Database integration - Email processing
Quick Example¶
Python¶
from opencomplai import Client
client = Client(api_key="sk_test_xyz...")
# Create a document
doc = client.documents.create(
title="My First Document",
content="# Hello World\n\nThis is my document."
)
# Get the document
doc = client.documents.get(doc.id)
print(f"Title: {doc.title}")
JavaScript¶
import { OpenComplai } from '@opencomplai/sdk';
const client = new OpenComplai({
apiKey: 'sk_test_xyz...'
});
// Create a document
const doc = await client.documents.create({
title: "My First Document",
content: "# Hello World\n\nThis is my document."
});
console.log(`Title: ${doc.title}`);
Learning Path¶
- Start Here: Quick Start (5 min)
- First Project: First Project (30 min)
- Learn Patterns: Basic Usage (1-2 hours)
- Go Advanced: Advanced Patterns (2-4 hours)
- Integrate: Integrations (varies)
By Language¶
Python Examples¶
- Basic CRUD: Basic Usage
- Error handling: Basic Usage
- Polling: Basic Usage
- Caching: Advanced Patterns
- Webhooks: Advanced Patterns
- Email integration: Integrations
JavaScript Examples¶
- Basic CRUD: Basic Usage
- File upload: Basic Usage
- Parallel requests: Advanced Patterns
- Streaming: Advanced Patterns
- Slack integration: Integrations
By Use Case¶
Document Processing¶
- Basic CRUD - Create and manage documents
- Batch Processing - Process many documents
- Webhooks - Real-time processing
Data Extraction¶
- Error Handling - Robust extraction
- Caching - Cache extraction results
- Parallel Requests - Extract from many docs
Automation & Integration¶
- Zapier - No-code automation
- GitHub Actions - CI/CD integration
- Email Integration - Process emails
Building Apps¶
- Configuration - App configuration
- Error Recovery - Graceful failures
- Webhooks - Real-time updates
Common Recipes¶
Upload and Wait¶
from opencomplai import Client
import time
client = Client(api_key="sk_...")
doc = client.documents.create(title="Doc", content="...")
# Wait for processing
while True:
doc = client.documents.get(doc.id)
if doc.processing_status == 'completed':
break
time.sleep(1)
print("Done!")
Error Handling¶
from opencomplai import Client
from opencomplai.errors import APIError
client = Client(api_key="sk_...")
try:
doc = client.documents.create(...)
except APIError as e:
print(f"Error: {e.message}")
Batch Processing¶
from opencomplai import Client
client = Client(api_key="sk_...")
docs = [
{"title": "Doc 1", "content": "..."},
{"title": "Doc 2", "content": "..."},
]
for doc_data in docs:
doc = client.documents.create(**doc_data)
print(f"Created: {doc.id}")
Testing Your Code¶
Local Testing¶
# Set environment variable
export OPENCOMPLAI_API_KEY=sk_test_xyz...
# Run example
python examples/basic_crud.py
Unit Tests¶
from unittest.mock import Mock, patch
from opencomplai import Client
def test_create_document():
with patch('opencomplai.Client.documents.create') as mock:
mock.return_value = Mock(id='doc_123', title='Test')
client = Client(api_key="sk_...")
doc = client.documents.create(title='Test', content='...')
assert doc.id == 'doc_123'
assert doc.title == 'Test'
Related Documentation¶
- API Reference - Complete API specification
- Getting Started - Installation and setup
- Guides - How-to guides
- Troubleshooting - Common issues