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

# Tu primera llamada

> Tres llamadas, desde comprobar tu llave hasta leer tu organización y su uso del mes.

En pocos minutos vas a comprobar tu llave de API, leer tu organización y leer su uso del mes. Cada paso muestra la
llamada en curl, Python, PHP y JavaScript; elige tu lenguaje una vez y todos los pasos lo siguen.

> [!NOTE]
>
> Necesitas una llave de API de tu organización. Si no tienes una, [créala](https://developers.readyforcommerce.com/es/authentication.md#crea-una-llave) y ponla
> en la variable de entorno `RFC_API_KEY`:
>
> ```bash theme={null}
> export RFC_API_KEY="<tu llave>"
> ```

**1. Comprueba tu llave**

[Obtener la credencial que llama](https://developers.readyforcommerce.com/es/api-reference/core-get-credential.md) responde quién es tu llave. No cuenta para
ningún límite.

```bash curl theme={null}
curl https://app.readyforcommerce.com/api/v1/credential \
  --header "Authorization: Bearer $RFC_API_KEY"
```

```python Python theme={null}
import os

import requests

response = requests.get(
    "https://app.readyforcommerce.com/api/v1/credential",
    headers={"Authorization": f"Bearer {os.environ['RFC_API_KEY']}"},
)
print(response.json())
```

```php PHP theme={null}
<?php
$curl = curl_init('https://app.readyforcommerce.com/api/v1/credential');
curl_setopt_array($curl, [
    CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('RFC_API_KEY')],
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($curl);
```

```javascript JavaScript theme={null}
const response = await fetch('https://app.readyforcommerce.com/api/v1/credential', {
  headers: { Authorization: `Bearer ${process.env.RFC_API_KEY}` },
});
console.log(await response.json());
```

La respuesta empieza así:

```json theme={null}
{
  "org": { "id": "0b9f4c1e-6a2d-4f8e-9c3b-7d1a5e2f8c40", "name": "Acme Outdoor" },
  "type": "api_key",
  "name": "Reportes de ventas",
  "display": "rfc_key_…X9aQ",
  "expiresAt": "2027-11-13T15:04:05.000Z",
  "permissions": ["core.billing.view", "core.jobs.view", "core.org.view"]
}
```

Sigue con `limits`, las llamadas por minuto de tu llave, y `remaining`, las que aún puede hacer ahora (ver
[Límites de uso](https://developers.readyforcommerce.com/es/rate-limits.md)). Guarda `org.id`: es el `orgId` de todas las demás rutas.

```bash theme={null}
export RFC_ORG_ID="0b9f4c1e-6a2d-4f8e-9c3b-7d1a5e2f8c40"
```

**2. Lee tu organización**

[Obtener la organización](https://developers.readyforcommerce.com/es/api-reference/core-get-org.md) lee su nombre, su slug y su moneda.

```bash curl theme={null}
curl "https://app.readyforcommerce.com/api/v1/orgs/$RFC_ORG_ID/core/org" \
  --header "Authorization: Bearer $RFC_API_KEY"
```

```python Python theme={null}
import os

import requests

response = requests.get(
    f"https://app.readyforcommerce.com/api/v1/orgs/{os.environ['RFC_ORG_ID']}/core/org",
    headers={"Authorization": f"Bearer {os.environ['RFC_API_KEY']}"},
)
print(response.json())
```

```php PHP theme={null}
<?php
$curl = curl_init('https://app.readyforcommerce.com/api/v1/orgs/' . getenv('RFC_ORG_ID') . '/core/org');
curl_setopt_array($curl, [
    CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('RFC_API_KEY')],
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($curl);
```

```javascript JavaScript theme={null}
const response = await fetch(
  `https://app.readyforcommerce.com/api/v1/orgs/${process.env.RFC_ORG_ID}/core/org`,
  { headers: { Authorization: `Bearer ${process.env.RFC_API_KEY}` } },
);
console.log(await response.json());
```

```json theme={null}
{
  "id": "0b9f4c1e-6a2d-4f8e-9c3b-7d1a5e2f8c40",
  "name": "Acme Outdoor",
  "slug": "acme-outdoor",
  "defaultCurrency": "USD"
}
```

**3. Lee el uso del mes**

[Obtener el uso del mes](https://developers.readyforcommerce.com/es/api-reference/core-get-billing-usage.md) responde, por cada módulo, cuántas unidades de
cada tipo usó la organización este mes (`count`), su cupo gratis (`freeAllowance`) y lo que queda de él (`left`).

```bash curl theme={null}
curl "https://app.readyforcommerce.com/api/v1/orgs/$RFC_ORG_ID/core/billing/usage" \
  --header "Authorization: Bearer $RFC_API_KEY"
```

```python Python theme={null}
import os

import requests

response = requests.get(
    f"https://app.readyforcommerce.com/api/v1/orgs/{os.environ['RFC_ORG_ID']}/core/billing/usage",
    headers={"Authorization": f"Bearer {os.environ['RFC_API_KEY']}"},
)
print(response.json())
```

```php PHP theme={null}
<?php
$curl = curl_init('https://app.readyforcommerce.com/api/v1/orgs/' . getenv('RFC_ORG_ID') . '/core/billing/usage');
curl_setopt_array($curl, [
    CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('RFC_API_KEY')],
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($curl);
```

```javascript JavaScript theme={null}
const response = await fetch(
  `https://app.readyforcommerce.com/api/v1/orgs/${process.env.RFC_ORG_ID}/core/billing/usage`,
  { headers: { Authorization: `Bearer ${process.env.RFC_API_KEY}` } },
);
console.log(await response.json());
```

> [!TIP]
>
> Tu llave funciona. Una llamada que falla responde `application/problem+json` con un `code` que
> dice por qué: ver [Errores](https://developers.readyforcommerce.com/es/errors.md).

## Siguientes pasos

> [card] [Errores](https://developers.readyforcommerce.com/es/errors.md)
>
> La forma de cada error, y qué hacer con los más comunes.

> [card] [Paginación](https://developers.readyforcommerce.com/es/pagination.md)
>
> Lee una lista completa, una página a la vez.

> [card] [Límites de uso](https://developers.readyforcommerce.com/es/rate-limits.md)
>
> Las llamadas que puede hacer una llave, y cómo repetir una escritura sin riesgo.

> [card] [Referencia de la API](https://developers.readyforcommerce.com/es/api-reference/introduction.md)
>
> Cada operación, con sus campos, sus errores y ejemplos.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.