Setup Checklist
Setup Checklist
Use this checklist to track your setup progress.
โ Initial Setup (Completed)
- Laravel project installed
- Database migrations created and run
- Configuration files created
- DHL services implemented
- API routes configured
- Webhook controller created
- Documentation created
๐ Configuration Required (Your Tasks)
1. DHL API Setup
- Create account on DHL Developer Portal
- Create application/project in DHL portal
- Get Sandbox Client ID
- Get Sandbox Client Secret
- Get DHL Billing Number (Abrechnungsnummer)
- Add credentials to
.envfile
2. Environment Configuration
- Edit
.envfile - Set
DHL_SANDBOX_CLIENT_ID - Set
DHL_SANDBOX_CLIENT_SECRET - Set
DHL_BILLING_NUMBER - Configure shipper information:
-
DHL_SHIPPER_NAME -
DHL_SHIPPER_STREET -
DHL_SHIPPER_HOUSE_NUMBER -
DHL_SHIPPER_POSTAL_CODE -
DHL_SHIPPER_CITY -
DHL_SHIPPER_COUNTRY -
DHL_SHIPPER_EMAIL
-
3. Test DHL Connection
- Run:
php artisan serve - Run:
php artisan dhl:test-connection - Verify token is obtained successfully
- Check logs:
tail -f storage/logs/laravel.log
4. Test Webhook Endpoint
- Access health check:
http://localhost:8000/api/health - Test webhook with curl (see API_EXAMPLES.md)
- Verify shipment is created in database
- Verify label is downloaded and stored
- Check tracking number is returned
5. Picqer Configuration
- Log in to Picqer account
- Navigate to Settings โ Shipping Methods
- Create new Custom Shipping Method
- Configure webhook URL:
https://your-domain.com/api/webhook/picqer/shipment - Generate webhook secret
- Add secret to
.envasPICQER_WEBHOOK_SECRET - Configure HTTP method: POST
- Configure content type: application/json
6. Integration Testing
- Create test order in Picqer
- Trigger shipment creation
- Verify webhook is received
- Check shipment in database
- Verify label is accessible
- Test tracking URL
- Review logs for any errors
7. Production Preparation
- Get DHL Production credentials
- Add production credentials to
.env:-
DHL_PRODUCTION_CLIENT_ID -
DHL_PRODUCTION_CLIENT_SECRET
-
- Test with production credentials in sandbox first
- Verify billing number works in production
- Configure production server
- Set up SSL/HTTPS
- Configure firewall rules
- Set up backup strategy
8. Production Deployment
- Deploy code to production server
- Run migrations:
php artisan migrate --force - Set
DHL_MODE=productionin.env - Update Picqer webhook URL to production
- Clear cache:
php artisan cache:clear - Test with real order
- Monitor logs
- Set up error alerts
9. Monitoring Setup (Optional but Recommended)
- Set up log rotation
- Configure error monitoring (Sentry, Bugsnag, etc.)
- Set up uptime monitoring
- Create dashboard for shipment statistics
- Configure email alerts for failures
- Set up automated backups
10. Documentation
- Document your Picqer data format
- Document any customizations made
- Create runbook for common issues
- Document server credentials (securely)
- Share webhook URL with team
- Document monitoring procedures
๐งช Testing Checklist
Functional Tests
- Create domestic shipment (DE โ DE)
- Create EU shipment (DE โ AT)
- Create international shipment (DE โ NL)
- Test with various package sizes
- Test with various weights
- Verify label download works
- Verify tracking URL works
- Test error handling (invalid data)
- Test webhook signature verification
Performance Tests
- Test with 10 concurrent requests
- Verify token caching works
- Check response times
- Monitor memory usage
- Check database performance
Security Tests
- Verify webhook signature validation
- Test with invalid signature
- Check credentials are not exposed
- Verify HTTPS in production
- Check for SQL injection vulnerabilities
- Test rate limiting
๐ Support Contacts
DHL Support
- Developer Portal: https://developer.dhl.com/
- Support: Check developer portal for support options
Picqer Support
- API Documentation: https://picqer.com/en/api
- Support: Check Picqer help center
Laravel Support
- Documentation: https://laravel.com/docs
- Community: https://laracasts.com/discuss
๐ Notes Section
Use this space to track any issues, customizations, or important information:
Date: ___________
Note:
Date: ___________
Note:
Date: ___________
Note:
Quick Command Reference
# Start server
php artisan serve
# Test DHL connection
php artisan dhl:test-connection
# View routes
php artisan route:list --path=api
# Clear cache
php artisan cache:clear
# View logs
tail -f storage/logs/laravel.log
# Database console
php artisan tinker
# Check migration status
php artisan migrate:status
Current Status: Ready for configuration โ
Next Step: Configure DHL credentials in .env file