# Point2Point Global (P2P) Guide

Point2Point Global (P2P) specializes in cross-border ecommerce and international shipping, with additional support for select domestic multi-modal shipping services.

This guide provides detailed information on utilizing P2P shipping with the EasyPost API, covering account setup, rates, label creation, manifests, tracking, and more.

For operational details, shipment nuances, and frequently asked questions, refer to the P2P Carrier Support and FAQs article.

Related:

- [P2P Carrier Support & FAQs](https://support.easypost.com/hc/en-us/articles/44643367722893-P2P-Carrier-Support-and-FAQs)

---

## Carrier Account Setup

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

#### P2P Account Registration

1. Contact P2P to request a shipper account. A representative will be in touch for
   additional details regarding the account.
2. Inform P2P about using EasyPost's API for label purchases.
3. Acquire rates and align any additional shipping needs.
4. Obtain the following account credentials:
   1. `username`
   2. `api_key`
   3. `customer_id`
5. Input carrier-specific credentials within the
   EasyPost Carrier Account Dashboard for comprehensive rate access.

### P2P Shipping Account via API

The API structure specified by EasyPost can also be used to add the P2P 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": "P2PAccount",
    "description": "P2PAccount",
    "credentials": {
      "api_key": "VALUE",
      "customer_id": "VALUE",
      "username": "VALUE"
    },
    "test_credentials": {
      "api_key": "VALUE",
      "customer_id": "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

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

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

---

## Billing

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

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

---

## Service Levels

P2P 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=p2p`.

Related:

- [Service Levels](https://docs.easypost.com/docs/shipments/rates#service-levels)

---

## Predefined Packages

Predefined packages provide a convenient way to classify parcels using carrier-defined package types and retrieve applicable rates.

When creating a shipment with the EasyPost API, select a predefined package that matches the parcel's characteristics and provide its weight in ounces when required. See the predefined package documentation for supported values and example requests.

Predefined packages 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=p2p`.

Related:

- [Predefined Packages](https://docs.easypost.com/docs/parcels#predefined-packages)

---

## Generating Shipping Labels

With EasyPost, generating shipping labels for P2P is the same process as generating them for any other carrier.

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

### One-Call Buys

One-call buys enable streamlined label purchasing through the EasyPost API by consolidating multiple operations into a single API request.
This feature is designed to simplify and accelerate the shipping process by combining the creation of a shipment, retrieval of rates,
and purchasing the shipping label into one efficient step.

See Reducing API Response Times for more information.

### Manifests

Manifesting is supported for P2P.

### Voiding Labels

Voiding P2P labels through EasyPost is supported, with some restrictions:

“Parcels can only be cancelled under certain circumstances, for example, before the parcel has been received and processed by Point2Point Global
(if sending your parcels to Point2Point Global) or before you have manifested the parcel (if sending your parcel directly to the carrier).”

### Shipment Options

Shipment options 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=p2p`.

Related:

- [Shipment Options](https://docs.easypost.com/docs/shipments/options)

#### Label Formats

EasyPost offers P2P labels in PNG, PDF, and ZPL formats.

#### Label Size Options

Possible values for P2P shipping label sizes:

- 4 x 6

Related:

- [Shipment Documentation](https://docs.easypost.com/docs/shipments)
- [P2P Carrier Support and FAQs](https://support.easypost.com/hc/en-us/articles/44643367722893-P2P-Carrier-Support-and-FAQs)

---

## Hazardous Materials (HAZMAT)

This guide does not specify handling hazardous materials with P2P. Shippers are advised to contact P2P directly for hazmat inquiries.

---

## Pickups

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