# Models

## The ButtonObject object

```json
{"openapi":"3.0.0","info":{"title":"Bind Viber API (v1.0) - official","version":"1.0.0"},"components":{"schemas":{"ButtonObject":{"type":"object","properties":{"caption":{"type":"string"},"action":{"type":"string"}}}}}}
```

## The FileObject object

```json
{"openapi":"3.0.0","info":{"title":"Bind Viber API (v1.0) - official","version":"1.0.0"},"components":{"schemas":{"FileObject":{"type":"object","properties":{"mediaUrl":{"type":"string","format":"uri"},"fileName":{"type":"string"}}}}}}
```

## The VideoObject object

```json
{"openapi":"3.0.0","info":{"title":"Bind Viber API (v1.0) - official","version":"1.0.0"},"components":{"schemas":{"VideoObject":{"type":"object","properties":{"mediaUrl":{"type":"string","format":"uri"},"thumbnail":{"type":"string","format":"uri"}}}}}}
```

## The ViberBaseMessage object

```json
{"openapi":"3.0.0","info":{"title":"Bind Viber API (v1.0) - official","version":"1.0.0"},"components":{"schemas":{"ViberBaseMessage":{"type":"object","properties":{"destination":{"type":"string","description":"Destination phone number"},"ttl":{"type":"integer","description":"Time in seconds after which the message will be considered undelivered. Minimum 60 seconds.","default":60},"callback_url":{"type":"string","format":"uri","description":"Webhook URL for status updates"}},"required":["destination"]}}}}
```

## The ViberTextMessage object

```json
{"openapi":"3.0.0","info":{"title":"Bind Viber API (v1.0) - official","version":"1.0.0"},"components":{"schemas":{"ViberTextMessage":{"allOf":[{"$ref":"#/components/schemas/ViberBaseMessage"},{"type":"object","properties":{"text":{"type":"string"},"button":{"$ref":"#/components/schemas/ButtonObject"}},"required":["text"]}]},"ViberBaseMessage":{"type":"object","properties":{"destination":{"type":"string","description":"Destination phone number"},"ttl":{"type":"integer","description":"Time in seconds after which the message will be considered undelivered. Minimum 60 seconds.","default":60},"callback_url":{"type":"string","format":"uri","description":"Webhook URL for status updates"}},"required":["destination"]},"ButtonObject":{"type":"object","properties":{"caption":{"type":"string"},"action":{"type":"string"}}}}}}
```

## The ViberImageMessage object

```json
{"openapi":"3.0.0","info":{"title":"Bind Viber API (v1.0) - official","version":"1.0.0"},"components":{"schemas":{"ViberImageMessage":{"allOf":[{"$ref":"#/components/schemas/ViberBaseMessage"},{"type":"object","properties":{"text":{"type":"string"},"mediaUrl":{"type":"string","format":"uri"},"button":{"$ref":"#/components/schemas/ButtonObject"}},"required":["mediaUrl"]}]},"ViberBaseMessage":{"type":"object","properties":{"destination":{"type":"string","description":"Destination phone number"},"ttl":{"type":"integer","description":"Time in seconds after which the message will be considered undelivered. Minimum 60 seconds.","default":60},"callback_url":{"type":"string","format":"uri","description":"Webhook URL for status updates"}},"required":["destination"]},"ButtonObject":{"type":"object","properties":{"caption":{"type":"string"},"action":{"type":"string"}}}}}}
```

## The ViberFileMessage object

```json
{"openapi":"3.0.0","info":{"title":"Bind Viber API (v1.0) - official","version":"1.0.0"},"components":{"schemas":{"ViberFileMessage":{"allOf":[{"$ref":"#/components/schemas/ViberBaseMessage"},{"type":"object","properties":{"file":{"$ref":"#/components/schemas/FileObject"}},"required":["file"]}]},"ViberBaseMessage":{"type":"object","properties":{"destination":{"type":"string","description":"Destination phone number"},"ttl":{"type":"integer","description":"Time in seconds after which the message will be considered undelivered. Minimum 60 seconds.","default":60},"callback_url":{"type":"string","format":"uri","description":"Webhook URL for status updates"}},"required":["destination"]},"FileObject":{"type":"object","properties":{"mediaUrl":{"type":"string","format":"uri"},"fileName":{"type":"string"}}}}}}
```

## The ViberVideoMessage object

```json
{"openapi":"3.0.0","info":{"title":"Bind Viber API (v1.0) - official","version":"1.0.0"},"components":{"schemas":{"ViberVideoMessage":{"allOf":[{"$ref":"#/components/schemas/ViberBaseMessage"},{"type":"object","properties":{"video":{"$ref":"#/components/schemas/VideoObject"},"text":{"type":"string"},"button":{"$ref":"#/components/schemas/ButtonObject"}},"required":["video"]}]},"ViberBaseMessage":{"type":"object","properties":{"destination":{"type":"string","description":"Destination phone number"},"ttl":{"type":"integer","description":"Time in seconds after which the message will be considered undelivered. Minimum 60 seconds.","default":60},"callback_url":{"type":"string","format":"uri","description":"Webhook URL for status updates"}},"required":["destination"]},"VideoObject":{"type":"object","properties":{"mediaUrl":{"type":"string","format":"uri"},"thumbnail":{"type":"string","format":"uri"}}},"ButtonObject":{"type":"object","properties":{"caption":{"type":"string"},"action":{"type":"string"}}}}}}
```
