Skip to content

[feature]: Add Zendesk Voice (Talk) API SDK entry point#64

Open
lmeilibr wants to merge 1 commit intomainfrom
feature/voice-api
Open

[feature]: Add Zendesk Voice (Talk) API SDK entry point#64
lmeilibr wants to merge 1 commit intomainfrom
feature/voice-api

Conversation

@lmeilibr
Copy link
Copy Markdown
Contributor

Prefácio

Implementação completa do entry point Voice para a API de Voice/Talk do Zendesk. Suporta 15 recursos cobrindo toda a superfície da API de telefonia.

CHANGELOG

Adicionado

  • Entry point Voice exportado de libzapi
  • Phone Numbers: CRUD completo + search (números disponíveis retornam AvailablePhoneNumber)
  • Digital Lines: CRUD (sem endpoint de listagem)
  • Lines: list_all (read-only)
  • Availabilities: get, update (estado de agente)
  • Greetings: CRUD completo + list_categories, get_category
  • Greeting Categories: list_all, get (read-only)
  • Callback Requests: create (write-only)
  • Stats: account_overview, agents_activity, agents_overview, current_queue_activity
  • Incremental Exports: calls, legs (paginação offset)
  • Recordings: delete_all, delete_by_type (delete-only)
  • Addresses: CRUD completo
  • Voice Settings: get, update
  • IVRs: CRUD completo
  • IVR Menus: CRUD completo (aninhado sob IVR)
  • IVR Routes: CRUD completo (aninhado sob IVR/Menu)
  • 205 testes unitários cobrindo todos os API clients
  • 24 testes de integração (10 arquivos) com cobertura detalhada

Detalhes técnicos

  • Greeting id é str (API retorna tanto int quanto string como "voicemail_en" para saudações padrão)
  • AvailablePhoneNumber modelo separado para resultados de busca (sem id)
  • IVR Menus/Routes usam fallback de chave de resposta para compatibilidade

BACKLOG

  • Adicionar testes de serviço dedicados
  • Suporte a upload de áudio multipart em Greetings update

ISSUES

Nenhuma issue relacionada.

REQUISITOS

  • Zendesk account com Talk add-on habilitado
  • Autenticação via OAuth token ou email+api_token

🤖 Generated with Claude Code

Implement the Voice entry point with full support for the Talk API:
Phone Numbers, Digital Lines, Lines, Availabilities, Greetings,
Callback Requests, Stats, Incremental Exports, Recordings, Addresses,
Voice Settings, IVRs, IVR Menus, and IVR Routes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Collaborator

@monteiroliveira monteiroliveira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

cmd = CreateGreetingCmd(category_id=category_id, name=name, audio_name=audio_name)
return self._client.create(cmd=cmd)

def update(self, greeting_id: int, **kwargs) -> Greeting:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lmeilibr Pessoalmente, não sou muito fã do uso do kwargs para esse tipo de método, seria ideal criar um dataclass com os args de update e um mini parser para validar esses argumentos, assim fica explícito para que usar esse método, quais argumentos e modificações ele suporta sem ter que olhar a doc da zendesk.
(pode ser feito para todos os métodos de update)
(não é algo que quebra ou inibe o merge, apenas uma marcação para uma possível feature).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants