EasyPost Dart
This SDK allows you to interact with the EasyPost API from your Dart application.
Installation
Package is available on pub.dev.
Usage
Full documentation is available on Pub.dev or GitHub
Example
import 'package:easypost/easypost.dart';
Future<void> example() async {
// Set up the API client
ClientConfiguration configuration = ClientConfiguration(
"YOUR_API_KEY",
apiVersion: ApiVersion.v2,
);
Client client = Client(configuration);
// Create a to address
AddressesCreate addressCreateParams = AddressesCreate();
addressCreateParams.street1 = "388 Townsend St";
addressCreateParams.city = "San Francisco";
addressCreateParams.state = "CA";
addressCreateParams.zip = "94107";
addressCreateParams.country = "US";
Address toAddress = await client.addresses.create(addressCreateParams);
// Create a from address
addressCreateParams = AddressesCreate();
addressCreateParams.street1 = "388 Townsend St";
addressCreateParams.city = "San Francisco";
addressCreateParams.state = "CA";
addressCreateParams.zip = "94107";
addressCreateParams.country = "US";
Address fromAddress = await client.addresses.create(addressCreateParams);
// Create a parcel
ParcelsCreate parcelsCreateParams = ParcelsCreate();
parcelsCreateParams.length = 10.2;
parcelsCreateParams.width = 7.8;
parcelsCreateParams.height = 4.3;
parcelsCreateParams.weight = 21.2;
Parcel parcel = await client.parcels.create(parcelsCreateParams);
// Create a shipment
ShipmentsCreate shipmentsCreateParams = ShipmentsCreate();
shipmentsCreateParams.toAddress = toAddress;
shipmentsCreateParams.fromAddress = fromAddress;
shipmentsCreateParams.parcel = parcel;
Shipment shipment = await client.shipments.create(shipmentsCreateParams);
// Get the lowest rate for the shipment
Rate rate = client.shipments.getLowestRateFor(shipment);
// Buy the shipment with the lowest rate
ShipmentsBuy shipmentBuyParams = ShipmentsBuy();
shipmentBuyParams.rate = rate;
Shipment purchasedShipment = await client.shipments.buy(shipment, shipmentBuyParams);
}
Development
All messages are written with json_serializable
so make sure to generate the
files with dart run build_runner build
when you make changes and want to test
them.