Skip to content

feat(js-sdk): Add TurboQuote module #25

Description

@nicolasiscoding

Summary

Add a TurboQuote module to the JS SDK with full UI parity for TurboQuote. This includes:

  • 68 static methods across 12 entity groups: Quotes, Line Items, Products, Bundles, Price Books, Companies, Contacts, Templates, Types/Categories, Approval Workflows, and a createAndSend convenience method
  • 11 type files with full TypeScript types for all request/response shapes
  • HttpClient extensions: getRaw() for PDF download, postFormData()/patchFormData() for product image uploads
  • 70 unit tests covering all methods with mocked HttpClient
  • DX-first design: minimal required fields, single-or-batch line items, direct parameters for simple ops, hidden API inconsistencies (e.g., template endpoint path mismatch)

Follow-up work

  • Port to Python SDK
  • Port to Go SDK
  • Port to PHP SDK
  • Port to Java SDK
  • Add product image upload integration tests
  • Add usage examples (examples/turboquote-*.ts)

Design decisions

See the plan file and PR description for details on architecture choices (single static class, createAndSend convenience, skipSenderValidation, etc.)

Activity

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

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions