## URL de la API
URL a la que se envían las solicitudes HTTP:
```url
https://portal.bulkgate.com/api/1.0/price-list/get
```

> [!NOTE]
> Si la solicitud no llega a su destino, repítala en el [servidor de respaldo](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/servidor-de-respaldo/) `backup1.bulkgate.com`.


```http
POST /api/1.0/price-list/get HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

> [!NOTE]
> La API está limitada a una cuota de **20** solicitudes por minuto.

### Tabla de parámetros

| NOMBRE DEL PARÁMETRO | VALOR | OBLIGATORIO | VALOR PREDETERMINADO |
|:------------------|:----------------------------------------------|:----------|:--------------|
| application_id    | [ID de aplicación](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/administracion-api/) | **Sí**   | -             |
| application_token | [Token de aplicación](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/tokens-de-api/)     | **Sí**   | -             |
| country           | Array de códigos de país de la lista de precios deseada  | **Sí**   | -             |
| wallet            | Nombre del monedero que prefiera.         | No        | Monedero principal   |


> A diferencia de los demás endpoints, `price-list/get` rechaza con `invalid_input_parameters` cualquier parámetro que no figure en la tabla anterior. `country` debe ser siempre un array, incluso para un solo país.

### Ejemplo de solicitud completa

```http-json
POST /api/1.0/price-list/get HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"country": ["sk", "cz"],
	"wallet": "bg1905014138000023"
}
```

## La respuesta a este comando puede ser:

**En caso de éxito:**
```json
{
  "data": {
    "price_list": {
      "sk": [
        {
          "operator": "4ka",
          "operator_code": "23103",
          "type": "gSystem",
          "price": 0.03,
          "currency": "EUR",
          "gate": 0,
          "economy": false,
          "unicode": true,
          "two_way": true,
          "registration": false,
          "registration_fee": 0,
          "registration_delay": 0,
          "monthly_fee": 0,
          "route_quality": "HQ",
          "route_note": null,
          "sender_note": null,
          "default_senders": [
            "+##############"
          ]
        },
        {
          "operator": "O2",
          "operator_code": "23106",
          "type": "gSystem",
          "price": 0.03,
          "currency": "EUR",
          "gate": 0,
          "economy": false,
          "unicode": true,
          "two_way": true,
          "registration": false,
          "registration_fee": 0,
          "registration_delay": 0,
          "monthly_fee": 0,
          "route_quality": "HQ",
          "route_note": null,
          "sender_note": null,
          "default_senders": [
            "+###############"
          ]
        }
      ]
    }
  }
}
```



### Elemento de la lista de precios

`data.price_list` es un objeto cuyas claves son los códigos de país; bajo cada clave hay un array de rutas. Un país que no tiene lista de precios **no** aparece en absoluto en la respuesta.

| CAMPO              | VALOR                                                                                                                                                           |
|:-------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| operator           | Nombre del operador                                                                                                                                             |
| operator_code      | Código del operador                                                                                                                                             |
| type               | Tipo de ID de remitente de la ruta: `gTextOwn`, `gSystem`, `gShort`, `gText`, `gOwn`, `gMobile`, `gPush`, o `gNone` si la ruta no tiene ninguno               |
| price              | Precio de una parte del mensaje, redondeado a 4 decimales y convertido a la moneda del monedero                                                                 |
| currency           | Moneda del monedero al que pertenece la lista de precios                                                                                                        |
| gate               | Número de pasarela `0`–`6`, `985` para [Mobile Connect](https://www.bulkgate.com/es/centro-de-ayuda/mobile-connect/instalacion-de-mobile-connect/)                                                                    |
| economy            | Ruta económica                                                                                                                                                  |
| unicode            | La ruta admite Unicode                                                                                                                                          |
| two_way            | La ruta admite la [comunicación bidireccional](https://www.bulkgate.com/es/productos/sms-bidireccionales/). Siempre `true` para `gOwn`                                                               |
| registration       | El ID de remitente debe registrarse antes del envío, consulte [Registro de remitente de texto](https://www.bulkgate.com/es/centro-de-ayuda/sms/como-registrar-un-remitente-de-texto/)                          |
| registration_fee   | Tarifa única por el registro del ID de remitente. Solo tiene sentido junto con `registration`                                                                   |
| registration_delay | Cuánto tarda el registro. Solo tiene sentido junto con `registration`                                                                                           |
| monthly_fee        | Tarifa mensual recurrente por el ID de remitente registrado. Solo tiene sentido junto con `registration`                                                       |
| route_quality      | Uno de los valores `HQ`, `PARTNER DIRECT`, `DIRECT`, `SIM`, `WH`, `SS7`, `PARTNER SS7`, `OFFNET DIRECT - NATIONAL`, `OFFNET DIRECT - GROUP`, `OFFNET DIRECT - INTERNATIONAL` y sus variantes `PARTNER`. Una **cadena vacía** si la calidad no se conoce |
| route_note         | Nota sobre la ruta, `null` si no hay ninguna                                                                                                                    |
| sender_note        | Nota sobre el ID de remitente, `null` si no hay ninguna                                                                                                         |
| default_senders    | Array de los ID de remitente predeterminados de la ruta                                                                                                         |


**En caso de error:**

```json
{
    "type": "invalid_wallet",
    "code": 400,
    "error": "Invalid wallet",
    "detail": null
}
```

```json
{
    "type": "the_quota_of_send_per_minute_has_been_exceeded",
    "code": 400,
    "error": "The quota of send per minute has been exceeded",
    "detail": null
}
```

```json
{
    "type": "invalid_input_parameters",
    "code": 400,
    "error": "Invalid input parameters",
    "detail": null
}
```

```json
{
    "type": "unknown_identity",
    "code": 401,
    "error": "Unknown identity / unauthorized / empty application_id",
    "detail": null
}
```

Donde:
 - **type** y **error** (descripción del error) se encuentran en la [tabla de tipos de error](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/tipos-de-error/)
 - **code** representa el código de error HTTP
 - **detail** es información adicional sobre el error
