# 1st Choice Delivery Guide

1st Choice Delivery specializes in last-mile delivery solutions, ensuring efficient distribution services for various industries.
The company offers tailored delivery schedules catering to urgent delivery needs.

This guide includes detailed information on utilizing 1st Choice Delivery shipping with the EasyPost API, focusing on account setup,
rates, label creation, manifests, tracking, and more.

---

## Prerequisites

### Account Registration

Sign up for an EasyPost account to obtain a **Test** and **Production** API
key. See Authentication and Key Management for more information.

> Note: Negotiated rates are only available in Production mode.

### Carrier Setup

Upon sign-up with EasyPost, users gain immediate access to Wallet Carrier Accounts,
which can be enabled directly from the Dashboard. For additional carriers,
EasyPost supports a Bring Your Own Account (BYOA) option. This requires users to register
directly with the respective carrier.

#### 1st Choice Delivery Account Registration

1. Contact 1st Choice Delivery to request a shipper account. A representative will be in touch for additional
   details regarding the account.
2. Inform 1st Choice Delivery about using EasyPost’s API for label purchases.
3. Acquire rates and align any additional shipping needs.
4. Obtain the following test and production account credentials::
   1. First Choice Username
   2. First Choice Password
   3. First Choice Account Number
   4. First Choice Customer Key
   5. First Choice Customer Code
   6. First Choice API Key
5. Input carrier-specific credentials within the
   EasyPost Carrier Account Dashboard for comprehensive rate access.

#### 1st Choice Delivery Account via API

The API structure specified by EasyPost can also be used to add the 1st Choice Delivery carrier shipper account.

```shell
curl -X POST https://api.easypost.com/v2/carrier_accounts \
  -u "$EASYPOST_API_KEY": \
  -H 'Content-Type: application/json' \
  -d '{
  "carrier_account": {
    "type": "FirstChoiceAccount",
    "description": "FirstChoiceAccount",
    "credentials": {
      "account_number": "VALUE",
      "api_key": "VALUE",
      "customer_code": "VALUE",
      "customer_key": "VALUE",
      "password": "VALUE",
      "username": "VALUE"
    },
    "test_credentials": {
      "account_number": "VALUE",
      "api_key": "VALUE",
      "customer_code": "VALUE",
      "customer_key": "VALUE",
      "password": "VALUE",
      "username": "VALUE"
    }
  }
}'
```

### Software Requirements

Download an EasyPost Client Library or utilize the REST API with cURL.

### Documentation Review

Examine the EasyPost Objects section to understand the API's structure, which is critical for constructing requests and interpreting responses.

Related:

- [Getting Started Guide](https://docs.easypost.com/guides/getting-started)
- [Manage Carrier Accounts](https://app.easypost.com/account/settings?tab=carriers)

---

## Rates

Billing is directly handled by 1st Choice Delivery using a bill-on delivery system. EasyPost does not participate in the billing process for 1st Choice Delivery services.
Contact a 1st Choice Delivery representative for details.

### Default Rate Display

Services return a set rate of $0.01. The actual rate is set by 1st Choice Delivery.

---

## Service Levels

1st Choice Delivery offers the following services:

Service levels are generated from live carrier metadata and are not included in this file. Retrieve them from the Carrier Metadata endpoint: https://docs.easypost.com/docs/carrier-metadata. Use `carrier=firstchoice`.

---

## Predefined Packages

There are no predefined packages for 1st Choice Delivery.

---

## Generating Shipping Labels

With EasyPost, generating shipping labels for 1st Choice Delivery is the same process as generating them for any other carrier.

Review the Getting Started Guide for help generating a shipping label.

### Manifests

Manifesting is **not** supported or required.

### Voiding Labels

Voiding 1st Choice Delivery labels through EasyPost is **not** supported.

### Label Formats

EasyPost offers native 1st Choice Delivery labels in ZPL, PNG, and PDF formats.

Related:

- [Shipment Documentation](https://docs.easypost.com/docs/shipments)
- [Reducing API Response Times](https://support.easypost.com/hc/en-us/articles/360048825772-Reducing-API-Response-Times)

---

## Hazardous Materials (HAZMAT)

The 1st Choice Delivery policy on hazardous materials is not explicitly detailed in this guide. Shippers are advised to
contact 1st Choice Delivery directly for specific hazmat inquiries.

---

## Pickups

1st Choice Delivery accommodates pickups based on individual agreements with customers. While regular pickups can be arranged directly with 1st Choice Delivery during
the account registration process, they **cannot be scheduled via the EasyPost API**.

---

## Tracking

EasyPost simplifies package tracking by offering two methods:

- Tracking with an existing number and carrier.
- Using a Tracker included with an EasyPost-purchased shipping label.

The service integrates webhooks for timely shipment updates. For detailed information on
tracking methods, visit the Tracking Guide.

Related:

- [Trackers Documentation](https://docs.easypost.com/docs/trackers)
- [Trackers Guide](https://docs.easypost.com/guides/tracking-guide)

---

## Additional Resources

### Carrier Metadata

The Carrier Metadata endpoint can programmatically return information about service
levels, predefined packages, supported features, and shipment options.

Use this information to quickly integrate and make educated decisions about the mix of carriers for shipping needs. Additionally,
the Carrier Metadata endpoint is available to retrieve comprehensive information about
all carriers on the EasyPost platform, enhancing decision-making for carrier services.

### Support and Troubleshooting

In addition to the guidance provided in our Carrier Guides, EasyPost offers support to assist with FAQs, troubleshooting issues, and inquiries related to the EasyPost platform.

Please visit the Help Center for more information.

Related:

- [Carrier Metadata](https://docs.easypost.com/docs/carrier-metadata)
- [Help Center](https://support.easypost.com/hc/en-us)

---

## Talk to a Shipping Expert

For questions about getting started with the EasyPost API please talk to a Shipping Expert or Contact Support.

Related:

- [Talk to a Shipping Expert](https://www.easypost.com/talk-to-easypost)
- [Contact Support](https://support.easypost.com/hc/requests/new)