# CTT Express Spain Guide

CTT Express is the express mail and parcel subsidiary of CTT – Correios de Portugal, the national postal service of Portugal.
It operates throughout the Iberian Peninsula and supports B2B and B2C express shipments, e-commerce deliveries, and
international logistics.

The CTT Express Spain integration is separate from the CTT Express integration and is intended for shipments originating in
Spain. This guide provides detailed information on using CTT Express Spain with the EasyPost API, including account setup,
rates, labels, tracking, and more.

---

## Carrier Account Registration

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

### CTT Express Spain Account Registration

1. Contact CTT Express to request a CTT Express Spain shipper account and
   credentials.
2. Inform CTT Express that the account will be used with the EasyPost API.
3. Acquire a rate card and align any additional shipping needs with CTT Express.
4. Obtain the following production and test credentials:

#### Required Credentials

- Client ID
- Client secret
- Cost center code

CTT Express Spain may also provide an optional department code.

### CTT Express Spain Account via API

The API structure specified by EasyPost can also be used to add a CTT Express
Spain carrier 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": "CttExpressSpainAccount",
    "description": "CttExpressSpainAccount",
    "credentials": {
      "client_id": "VALUE",
      "client_secret": "VALUE",
      "cost_center_code": "VALUE"
    },
    "test_credentials": {
      "client_id": "VALUE",
      "client_secret": "VALUE",
      "cost_center_code": "VALUE"
    }
  }
}'
```

### Software Requirements

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

### Documentation Review

Review the EasyPost Objects documentation to understand the API structure used to
construct requests and interpret responses.

Related:

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

---

## Rates

CTT Express Spain supports rate card rating. Rate cards must be installed for each EasyPost account; otherwise, the API
returns one-cent rates.

After receiving a rate card from CTT Express, contact EasyPost Support for help installing it on the EasyPost account.

---

## Billing

Billing is handled directly by CTT Express Spain using a **bill-on-scan** model. Charges are applied when a shipment is
scanned into the carrier network rather than when the label is created. CTT Express handles all invoices, adjustments, and
billing inquiries.

---

## Service Levels

CTT Express Spain supports domestic shipments within Spain and international shipments.

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

---

## Predefined Packages

CTT Express Spain does not provide predefined packages. Use parcel dimensions and weight when creating shipments.

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

---

## Generating Shipping Labels

Generating CTT Express Spain labels follows the same process as generating labels for other carriers with EasyPost. CTT
Express Spain supplies carrier-generated labels in PDF and PNG formats.

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

### One-Call Buys

CTT Express Spain supports label purchases and one-call buys. One-call buys combine shipment creation, rate retrieval, and
label purchase in a single API request.

See Reducing API Response Times for more information.

### Manifests

Manifesting is **not** supported.

### Shipment Options

[Content omitted: table content. Review the rendered documentation for complete tabular data.]

#### Refunding and Voiding Labels

Voids and refunds are **not** supported.

#### Returns

Return labels are **not** supported.

#### Multi-Piece Shipping

Multi-piece shipments are supported.

#### Additional Limitations

CTT Express Spain does not support QR codes, surcharges, commercial invoices, or address verification.

Related:

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

---

## Hazardous Materials (HAZMAT)

Limited quantity and fully regulated hazardous material shipments are **not** supported.

---

## Pickups

Pickups are **not** supported through the EasyPost API. Contact CTT Express to arrange pickups.

---

## Tracking

CTT Express Spain supports tracking through the EasyPost API.

Related:

- [Tracking Documentation](https://docs.easypost.com/docs/trackers)

---

## Additional Resources

### Carrier Metadata

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

Use this information to integrate with CTT Express Spain and make informed decisions about the carriers used for shipping.
The Carrier Metadata endpoint can also retrieve information about all carriers on the EasyPost platform.

### Support and Troubleshooting

For questions about rates, billing, pickups, or carrier requirements, contact CTT Express. For questions about the EasyPost
platform, visit the Help Center.

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, 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)