# Capabilities Estrutura de dados do contrato OpenAPI. ## Campos | Campo | Tipo | Presença | Descrição | |---|---|---|---| | `service` | `string` | obrigatório | Valores: `"AtendroZAP"` | | `status` | `string` | obrigatório | Valores: `"laboratory"` | | `worker` | `string` | opcional | — | | `engine` | `object` | opcional | — | | `capabilities` | `object` | obrigatório | — | | `capabilities.calls` | `boolean` | opcional | Habilitado neste worker por ATENDROZAP_CALLS_ENABLED; exige instância calls. | | `capabilities.ptt_transcoding` | `boolean` | opcional | Valores: `false` | | `capabilities.call_history` | `boolean` | opcional | — | | `capabilities.call_recording` | `boolean` | opcional | Gravação automática das chamadas atendidas habilitada neste worker. | | `interactive` | `object` | opcional | — | | `webhookEvents` | `object` | opcional | — | | `webhookEvents.delivered` | `array` | opcional | — | | `webhookEvents.ignored` | `array` | opcional | — | | `instance_kinds` | `array` | opcional | — | | `calls_max_concurrent` | `integer` | opcional | Teto por instância; padrão 1 quando configurado. Mínimo: `0` | | `calls_recording_retention_days` | `integer` | opcional | Retenção do áudio em dias; 0 desativa exclusão automática. Histórico preservado. Mínimo: `0` | ## Definição OpenAPI ```json { "type": "object", "properties": { "service": { "type": "string", "enum": [ "AtendroZAP" ] }, "status": { "type": "string", "enum": [ "laboratory" ] }, "worker": { "type": "string" }, "engine": { "type": "object" }, "capabilities": { "type": "object", "properties": { "calls": { "type": "boolean", "description": "Habilitado neste worker por ATENDROZAP_CALLS_ENABLED; exige instância calls." }, "ptt_transcoding": { "type": "boolean", "enum": [ false ] }, "call_history": { "type": "boolean" }, "call_recording": { "type": "boolean", "description": "Gravação automática das chamadas atendidas habilitada neste worker." } }, "additionalProperties": { "type": "boolean" } }, "interactive": { "type": "object", "additionalProperties": { "type": "string" } }, "webhookEvents": { "type": "object", "properties": { "delivered": { "type": "array", "items": { "type": "string" } }, "ignored": { "type": "array", "items": { "type": "string" } } } }, "instance_kinds": { "type": "array", "items": { "type": "string", "enum": [ "whatsapp", "calls" ] } }, "calls_max_concurrent": { "type": "integer", "minimum": 0, "description": "Teto por instância; padrão 1 quando configurado." }, "calls_recording_retention_days": { "type": "integer", "minimum": 0, "description": "Retenção do áudio em dias; 0 desativa exclusão automática. Histórico preservado." } }, "required": [ "service", "status", "capabilities" ] } ```