# DoorDash Guide

DoorDash specializes in last-mile delivery services spanning nationwide. The company offers technology-driven solutions for same-day
and standard shipping, ensuring efficient deliveries with real-time tracking.

This guide includes detailed information on utilizing DoorDash 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.

#### DoorDash Shipper Account Registration

1. Contact DoorDash to request a shipper account. A representative will be
   in touch for additional details regarding the account.
2. Inform DoorDash about using EasyPost’s API for label purchases.
3. Acquire rates and align any additional shipping needs.
4. Obtain the following account credentials:
   1. DoorDash API Developer ID
   2. DoorDash API Key ID
   3. DoorDash API Signing Secret
   4. DoorDash Pickup External Business ID
5. Input carrier-specific credentials within the
   EasyPost Carrier Account Dashboard for comprehensive rate access.

#### DoorDash Account via API

The API structure specified by EasyPost can also be used to add the DoorDash carrier shipper account.

```shell
curl -XPOST -H 'Content-Type: application/json' -H 'X-EasyPost-User-Id: <user-id>' https://api.easypost.com/v2/carrier_accounts -d '{
  "billToEasyPost": false,
  "credentials": {
    "developer_id": "VALUE",
    "key_id": "VALUE",
    "signing_secret": "VALUE",
    "pickup_external_business_id": "VALUE"
  },
  "test_credentials": {},
  "type": "DoorDashAccount"
}'
```

### 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

DoorDash is a **Live Rating** integration, enabling real-time rate retrieval for shipments created via EasyPost.

- When creating a shipment, EasyPost requests DoorDash for shipment rates specific to the user’s DoorDash account.
- The rates provided are directly from DoorDash and tailored to the user's specific account details.
- In cases of discrepancies or incorrect rates, users are advised to contact their DoorDash account representative.
- The representative can then update the rates to ensure user account accuracy.

---

## Billing

All DoorDash shipments purchased through EasyPost are billed by DoorDash in USD. Contact DoorDash for specific invoicing procedures.

Refer to the Help Center for more information about payment methods, wallet funding, or account billing.

---

## Service Levels

DoorDash offers the following service levels:

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=doordash`.

---

## Hazardous Materials (HAZMAT)

Hazardous materials shipping is approved on a one-off basis. Please contact a DoorDash account representative for more information.

---

## Pickups

DoorDash accommodates pickups based on individual agreements with customers. While regular pickups can be arranged directly with DoorDash 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)