Objeto del canal Viber para [Advanced promotional](https://www.bulkgate.com/es/documentacion/advanced-api/advanced-promotional/2.0/). Se incluye en el objeto `channel` bajo la clave `viber`; consulte [Cascada](https://www.bulkgate.com/es/documentacion/advanced-api/advanced-cascada-de-canales/).

> [!IMPORTANT]
> Los mensajes transaccionales utilizan un objeto Viber **distinto** bajo la misma clave: en lugar de un botón y una imagen, lleva plantillas aprobadas. Consulte [Viber – transaccional](https://www.bulkgate.com/es/documentacion/advanced-api/advanced-viber-transaccional/).

```json
{
	"viber": {
		"sender": "BulkGate",
		"image": "https://example.com/banner.jpg",
		"button": {
			"caption": "Abrir la oferta",
			"url": "https://example.com/oferta"
		}
	}
}
```

## Objeto Viber

| NOMBRE DEL PARÁMETRO | VALOR                                                                                                                                        | OBLIGATORIO | VALOR PREDETERMINADO |
|:---------------|:-----------------------------------------------------------------------------------------------------------------------------------------------|:---------:|:-------------:|
| text           | Texto del mensaje de Viber. Sustituye al `text` del nivel superior, consulte [Qué texto se utiliza](https://www.bulkgate.com/es/documentacion/advanced-api/advanced-cascada-de-canales/)                                |    No     |    `null`     |
| sender         | Remitente de Viber registrado. Primero debe registrarse. Para el registro, contacte con el soporte [aquí](https://www.bulkgate.com/es/contacto/)                         |  **Sí**  |       -       |
| expiration     | Límite de tiempo en segundos tras el cual se utiliza el siguiente canal de la cascada. Los valores inferiores a `60` se ignoran y se sustituyen por el valor predeterminado          |    No     |     `300`     |
| button         | Estructura que crea un botón en el mensaje, consulte [Objeto Button](#objeto-button). Sin ella, el mensaje no tiene botón                     |    No     |    `null`     |
| image          | URL de una imagen que se muestra en el mensaje                                                                                                         |    No     |    `null`     |

### Objeto Button

| NOMBRE DEL PARÁMETRO | VALOR       | OBLIGATORIO | VALOR PREDETERMINADO |
|:---------------|:------------|:---------:|:-------------:|
| caption        | Texto del botón |    No     |     `OK`      |
| url            | Dirección URL |    No     |      `#`      |

Los valores predeterminados solo se aplican cuando el propio objeto `button` está presente: `"button": {}` genera un botón con el texto `OK` que apunta a `#`.

## Ejemplo de solicitud completa

Viber con imagen y botón, con SMS como alternativa. La parte SMS no tiene imagen ni botón, por lo que recurre al `text` del nivel superior.

```http-json
POST /api/2.0/advanced/promotional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"number": ["420777777777", "420777777778"],
	"text": "Spring sale starts today, up to 50 % off.",
	"channel": {
		"viber": {
			"sender": "BulkGate",
			"image": "https://example.com/spring-sale.jpg",
			"button": {
				"caption": "Open the offer",
				"url": "https://example.com/spring-sale"
			}
		},
		"sms": {
			"sender_id": "gText",
			"sender_id_value": "BulkGate"
		}
	}
}
```

La respuesta es la misma para todos los canales; consulte [Advanced promotional](https://www.bulkgate.com/es/documentacion/advanced-api/advanced-promotional/2.0/).
