Supported Contact Formats
Usage Examples
👤 vCard Contact
When scanning a vCard QR code:
👤 John Smith
🏢 Software Engineer at Acme Corporation
📱 Mobile: +1-555-123-4567
📧 Email: john.smith@acme.com
🌐 Website: https://johnsmith.dev
✅ Contact information scanned successfully!
📱 Save to your contacts app
📋 JSON Contact
For JSON format contacts:
👤 Sarah Johnson
🏢 Marketing Director at TechCorp
📞 Phone: +1-555-987-6543
📧 Email: sarah.j@techcorp.com
📍 Address: 123 Business St, City, State
📝 Notes: Met at Tech Conference 2024
✅ Contact information scanned successfully!
📱 Save to your contacts app
❓ Unknown Format
For unrecognized QR codes:
❓ Unknown Contact Format
This QR code is not recognized as a contact.
Supported formats:
• vCard (BEGIN:VCARD)
• Contact URLs
• JSON contact data
Quick Start
1. Installation
# Install Python dependencies
pip install -r requirements.txt
# Copy environment configuration
cp .env.example .env
2. Configuration
Edit .env
file with your settings:
FLASK_ENV=development
SECRET_KEY=your-super-secret-key
PORT=5001
3. Start the Server
# Development mode
python contact-sharing-webhook.py
# Production mode with Gunicorn
gunicorn -w 4 -b 0.0.0.0:5001 contact-sharing-webhook:app
4. Configure AllCodeRelay
Use the configuration tool to generate a QR code with your webhook URL:
http://your-server:5001/webhook
Note: The webhook processes contacts in memory only - no database setup required for basic functionality.
Contact Data Structure
📋 Complete Contact Object
contact = {
'name': 'John Smith',
'phones': [
{'type': 'Mobile', 'number': '+1-555-123-4567'},
{'type': 'Work', 'number': '+1-555-987-6543'}
],
'emails': [
{'type': 'Personal', 'address': 'john@personal.com'},
{'type': 'Work', 'address': 'john@company.com'}
],
'company': 'Acme Corporation',
'title': 'Software Engineer',
'address': '123 Main St, City, State 12345',
'website': 'https://johnsmith.dev',
'notes': 'Met at Tech Conference 2024'
}
📞 Supported Phone Types
- Mobile/Cell
- Work
- Home
- Fax
- Pager
Advanced Features
🔒 Privacy Features
- No Storage - Contacts are not stored by default
- Anonymized Logs - Personal data can be excluded from logs
- Secure Processing - All data is processed in memory only
✅ Contact Validation
The webhook automatically validates:
- Phone number formats
- Email address syntax
- Required fields (name, phone or email)
- Data size limits
🔗 Integration Examples
Extend the webhook to integrate with:
- CRM Systems
- Email Marketing
- Google Contacts
- Outlook Contacts
- Slack