> ## Documentation Index
> Fetch the complete documentation index at: https://developer.oplog.one/llms.txt
> Use this file to discover all available pages before exploring further.

# Cargo Carriers

> Manage cargo and shipping companies using OPLOG Cargo Carriers API

OPLOG's [Cargo Carriers API](../api-reference/cargo-carriers) provides comprehensive management capabilities for cargo and shipping companies integrated with the platform. This guide covers the essential requirements, query methods, and examples for working with cargo carrier data.

## Integration Overview

The Cargo Carriers API is designed to handle shipping partner management:

* **Carrier Information** - Access shipping company details and capabilities
* **Dynamic Updates** - Real-time carrier availability and service updates
* **Reference Management** - Consistent carrier identification across systems
* **Service Integration** - Connect with various shipping and logistics providers

<Info>
  All cargo carrier operations use GET endpoints to retrieve current carrier information. The system maintains up-to-date carrier data and provides query capabilities for integration purposes.
</Info>

## What are CargoCarriers?

**Definition**: Defines the cargo/shipping companies that OPLOG works with. Requests should be sent or read using these definitions.

CargoCarriers represent the logistics partners and shipping companies integrated with the OPLOG platform. These entities are essential for managing shipments, tracking deliveries, and coordinating logistics operations.

<Warning>
  **Important Notes**

  Since cargo companies can be updated, please make an API request for the current response to ensure you have the latest information.
</Warning>

## API Usage

### Basic Carrier Query

Retrieve all available cargo carriers:

```bash theme={null}
GET /openapi/v1/CargoCarriers
```

<Accordion title="CargoCarriers API Response">
  ```json theme={null}
  {
    "items": [
      {
        "key": "CARGO_CARRIER_001",
        "value": "Express Logistics Ltd."
      },
      {
        "key": "CARGO_CARRIER_002", 
        "value": "Global Freight Solutions"
      },
      {
        "key": "CARGO_CARRIER_003",
        "value": "Local Delivery Co."
      }
    ]
  }
  ```
</Accordion>

## Response Fields

<CardGroup cols={2}>
  <Card title="key" icon="key">
    **String** - Unique identifier for the cargo carrier. Use this value when making API requests.
  </Card>

  <Card title="value" icon="tag">
    **String** - Human-readable display name of the cargo carrier for UI purposes.
  </Card>
</CardGroup>

## Best Practices

<CardGroup cols={2}>
  <Card title="Cache the Response" icon="database">
    Cache cargo carrier data locally to minimize API calls and improve application performance. Update cache periodically based on your business needs.
  </Card>

  <Card title="Use Key Values" icon="key">
    Always use the `key` field when making API requests or storing references. Keys remain consistent while display values may change.
  </Card>

  <Card title="Display Values" icon="eye">
    Use the `value` field for user-facing displays, labels, and dropdown options. This provides human-readable carrier names.
  </Card>

  <Card title="Regular Updates" icon="refresh">
    Refresh cargo carrier data regularly as new carriers may be added or existing ones updated. Consider implementing automated refresh mechanisms.
  </Card>
</CardGroup>
