Skip to content

SDK Roadmap #2

@matagaralph

Description

@matagaralph

SDK Roadmap

While the initial release was a success, the current architecture contains structural issues related to maintainability and direct API compatibility. This roadmap outlines the planned work for the upcoming major release of the SDK.

Our goal is to deliver a highly compatible, and API-accurate SDK that aligns directly with the Zoho Inventory, Zoho Books and Zoho Invoice API, establishing a flexible foundation for future modules.

Core Changes

Param Handling (API Alignment)

To ensure the SDK mirrors the Zoho Inventory API closely, we will eliminate internal mapping and renaming, allowing developers to pass Zoho's native parameters directly.

  • Accept Zoho parameter names directly (e.g., created_date_start, sort_order).
  • Remove internal parameter renaming and mapping logic.
  • Strip SDK-only options (e.g., limit) before transmission to the Zoho API.
  • Avoid unnecessary runtime parameter validation inside SDK methods.

Unified Action Methods (Bulk Operations)

To simplify the API surface and improve developer experience, we will expose single, unified methods for actions that can be performed on one or many resources. The SDK will handle the transition between single and bulk API calls.

  • Pattern decided (Single method for single/bulk operations).
  • Implement unified actions (markAsConfirmed(ids), etc).
  • Add chunking logic for large bulk operations.
  • Remove old, duplicated single/bulk methods (e.g., delete and bulkDelete).

Void Return Types

Any method that performs an action but does not return a resource or module data (only { code: number, message: string } response) will be updated to return void to reflect a completed side-effect.

  • Convert delete operations to return void.
  • Convert other related operations to return void.
  • Standardise return types across all modules for consistency.

Repository Structure

We will transition to a monorepo structure to manage and release related packages under the Zoho Finance Suite more effectively.

  • Convert the current repository into a monorepo structure.
  • Release and manage zapi-books and zapi-invoice as separate, distinct packages.

Testing and CI Infrastructure

The repository currently lacks automated testing. A minimal, robust testing layer is critical for the next release's long-term stability and maintainability.

  • Add a test runner (e.g., Bun Test).
  • Add unit tests for all client layers and core logic.
  • Add integration mocks for simulating Zoho API responses.
  • Implement a Continuous Integration (CI) workflow for automated test execution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions