Skip to content

[feature]: Add Zendesk Workforce Management (WFM) SDK entry point#62

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

[feature]: Add Zendesk Workforce Management (WFM) SDK entry point#62
lmeilibr wants to merge 1 commit intomainfrom
feature/wfm-api

Conversation

@lmeilibr
Copy link
Copy Markdown
Contributor

Prefácio

Implementação do novo entry point WorkforceManagement para a API de Workforce Management (WFM) do Zendesk (EAP). Suporta 5 recursos: Activities, Reports, Shifts, Time Off e Teams.

CHANGELOG

Adicionado

  • Entry point WorkforceManagement exportado de libzapi
  • Activities: list(start_time), list_with_relationships(start_time) — timeline de atividades dos agentes
  • Reports: get_data(template_id, start_time, end_time), get_data_with_relationships(...) — dados de relatórios WFM
  • Shifts: fetch(start_date, end_date, agent_ids?, published?, page?) — turnos dos agentes
  • Time Off: list(filters...), import_time_off(entries) — folgas e ausências
  • Teams: CRUD completo + restore, bulk_add_agents, bulk_remove_agents — gestão de equipes
  • 109 testes unitários cobrindo todos os API clients e services
  • Testes de integração para todos os recursos WFM
  • Domain models, commands, mappers seguindo a arquitetura DDD existente

Notas

  • A API WFM é EAP (Early Access Program) e usa paths não-padrão (/wfm/public/api/v1/ e /wfm/l5/api/v2/)
  • Paginação de Activities usa startTime no metadata (diferente do padrão Zendesk cursor/offset)
  • Teams API suporta soft-delete com restore

BACKLOG

  • Adicionar suporte a v2 dos endpoints de Time Off (schema estendido)
  • Adicionar ordenação (orderBy) no fetch de Shifts

ISSUES

Nenhuma issue relacionada.

REQUISITOS

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

🤖 Generated with Claude Code

Implement the WorkforceManagement entry point with full support for the
WFM API (EAP): Activities, Reports, Shifts, Time Off, and Teams.

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


@dataclass(frozen=True, slots=True)
class FetchShiftsCmd:
startDate: str
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.

Atributos não estão em snake case.

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