A comprehensive .NET client library and middleware solution for integrating with the Fexa API (AAFM - American Association of Fleet Managers).
Repository: https://github.com/TukaTek/aafm_fexa_api
Organization: TukaTek
Status: Active Development (December 2024)
This repository provides a complete solution for integrating with the AAFM Fexa API, including:
- Core API Client Library - Scalable .NET client with OAuth 2.0 authentication
- Azure Functions Middleware - RESTful API layer for web applications
- Interactive Console Application - Testing and debugging tools
- Comprehensive Documentation - API documentation and troubleshooting guides
aafm_fexa_api/
├── FexaApiClient/ # Main solution
│ ├── src/
│ │ ├── Fexa.ApiClient/ # Core library
│ │ ├── Fexa.ApiClient.Console/ # Interactive console app
│ │ └── Fexa.ApiClient.Function/ # Azure Functions middleware
│ ├── tests/ # Unit tests
│ └── *.md # Documentation files
├── *.json # Sample data files
├── CLAUDE.md # Development guidance
├── FEXA_API_DOCUMENTATION.md # Comprehensive API docs
└── README.md # This file
- .NET 8.0 SDK
- Fexa API credentials (Client ID and Secret)
- Azure Functions Core Tools (for middleware)
git clone https://github.com/TukaTek/aafm_fexa_api.git
cd aafm_fexa_api/FexaApiClient
cd src/Fexa.ApiClient.Console
dotnet user-secrets init
dotnet user-secrets set "FexaApi:ClientId" "YOUR_CLIENT_ID"
dotnet user-secrets set "FexaApi:ClientSecret" "YOUR_CLIENT_SECRET"
dotnet run
The console application provides a comprehensive menu system for testing all API features including work orders, visits, users, transitions, and more.
- OAuth 2.0 Authentication - Automatic token management and refresh
- Resilient HTTP Client - Built-in retry policies and circuit breaker
- Comprehensive Service Layer - Work Orders, Visits, Users, Invoices, Transitions
- Advanced Filtering - Powerful FilterBuilder with multiple operators
- Error Handling - Custom exceptions for different scenarios
- Performance Optimized - Caching and bulk operations
- RESTful API Layer - HTTP endpoints for web applications
- Health Monitoring - Built-in health checks
- Scalable Architecture - Azure Functions serverless deployment
- Security - Function-level authentication
- Comprehensive Testing - Full API testing capabilities
- Debug Tools - Advanced debugging and filter testing
- Status Management - Interactive work order status updates
- Data Export - Export transitions and data to JSON
- Work Orders - CRUD operations, status updates, filtering
- Visits - Scheduling, tracking, filtering by multiple criteria
- Users - User management and authentication
- Transitions - Workflow state management
- Invoices - Client and vendor invoice tracking
- Regions - Geographic region management
- Severities - Priority level management
- Notes - Comment and note management
- FexaApiClient/README.md - Core library documentation
- CLAUDE.md - Development guidance and best practices
- FEXA_API_DOCUMENTATION.md - Comprehensive API reference
- VISITS_TROUBLESHOOTING.md - Visit and work order troubleshooting
- Azure Functions README - Middleware documentation
The repository includes sample JSON files with real API responses:
workorder.json
- Work order data examplesvisits.json
- Visit scheduling examplestransitions.json
- Workflow transition examplessubcontractor.json
- Subcontractor data examples
- Migrated to TukaTek organization
- Updated all documentation and URLs
- Enhanced repository structure
- Fixed work order vendor filtering (
vendors.id
instead ofassigned_to
) - Fixed client filtering (
clients.id
instead ofplaced_for
) - Improved filter format handling for URL-encoded JSON arrays
- Enhanced error detection and handling
- Comprehensive documentation refresh
- Updated all README files with TukaTek information
- Enhanced troubleshooting guides
- Added repository information sections
Create an issue for:
- Bug reports
- Feature requests
- Integration questions
- Documentation improvements
Issues: https://github.com/TukaTek/aafm_fexa_api/issues
- Organization: TukaTek
- Repository: aafm_fexa_api
- Fork the repository
- Create a feature branch
- Follow existing code patterns and conventions
- Add tests for new functionality
- Update documentation as needed
- Test with the interactive console application
- Submit a pull request
This project is developed by TukaTek for integration with the AAFM Fexa API.
- Fexa API Documentation: https://allamericanfacilitiessandbox.fexa.io/fexa_docs/index.html
- AAFM: American Association of Fleet Managers
- TukaTek Organization: https://github.com/TukaTek
Latest Update: December 2024
Maintained by: TukaTek development team