Install ShipEngine .NET SDK via the .NET CLI.
dotnet add package ShipEngine
The only configuration requirement is an API key.
using ShipEngineSDK;
var shipengine = new ShipEngine("___YOUR_API_KEY_HERE__");
CreateLabelFromRate
- When retrieving rates for shipments using the GetRatesWithShipmentDetails
method, the returned information contains a RateId
property that can be used to purchase a label without having to refill in the shipment information repeatedly.CreateLabelFromShipmentDetails
- Purchase and print a label for shipment.GetRatesWithShipmentDetails
- Given some shipment details and rate options, this method returns a list of rate quotes.ListCarriers
- Returns a list of carrier accounts that have been connected through
the ShipEngine dashboard.TrackUsingLabelId
- Track a package by its associated label ID.TrackUsingCarrierCodeAndTrackingNumber
- Track a package for a given carrier and tracking number.ValidateAddresses
- Indicates whether the provided addresses are valid. If the addresses are valid, the method returns a normalized version based on the standards of the country in which the address resides. If an address cannot be normalized, an error is returned.VoidLabelWithLabelId
- Void a label with its Label ID.CreateManifests
- Create a shipment manifest.Contributions, enhancements, and bug-fixes are welcome! Open an issue on GitHub and submit a pull request.
To build the project locally on your computer:
Clone this repo
git clone https://github.com/ShipEngine/shipengine-dotnet.git
Install .NET 5.x
Install dependencies
dotnet restore
Build the code
dotnet build
Format the code
dotnet format
Run the tests
dotnet test
By default, the test project targets all supported frameworks, if your environment only supports a subset then you can specify in the CLI.
dotnet test -f net5.0
To regenerate the SDK from the OpenAPI spec, you will first need to get the latest version of the spec. It can be downloaded from the online documentation
and should be saved to ./generation/swagger.json
. Then run npm run generate
from the command line. This will regenerate all the API calls and models, but not docs or tests.
The templates for autogeneration were extracted using the command:
npx @openapitools/openapi-generator-cli author template -g csharp -o generation/templates
Create a fork for your changes.
Update the Changelog with any relevant new features or bug fixes and modify the packageVersion
property in the .openapitools.json
file to match the new version.
In the ShipEngine.csproj
file, update to the desired version (using semantic versioning) and push to your fork.
Run dotnet format
Create a pull request.
Once a member of the ShipEngine team reviews your PR and it's merged to main, the build pipeline will handle all the necessary github tags and nuget packaging and publishing.