A Functional Infusionsoft API Client
Infusio is a new .net Infusionsoft client.
The majority of the code is generated from the official Infusionsoft API documentation.
Features:
- All operations are composable. This means that you can chain all operations together to form one 'master' operation using LINQ syntax. LINQ Query. LINQ Methods.
- All operations are completely lazy. Nothing actually executes until you call
Run
. Example. - For easy debugging, all operations have the ability to output logs.
- Speaking of logging, you can create your own log messages.
Log
is anInfusioOp
. Example. - All operations have XML documentation that comes from the API documentation.
- All optional operation parameters are actually typed as optional (ie
Operation(long? id = default)
) so you don't have to provide a value. - All data models, and their properties, are immutable with a
Copy
method to change values. Makes for a nice API and thread-safe code. Example. - Authentication is configured up-front and not littered throughout the calls. I still need to make some authentication helpers around token management. But that's a pretty easy task.
Tasks to complete:
- Library Documentation
- Authentication token helper packages. These will allow auto-refreshing of tokens so you don't have to worry about it.
- Create a test kit for easy unit testing.
Please create issues if you run into any problems or just want a feature.
dotnet add package infusio
or
Install-Package infusio
or
paket add infusio
See the demo project