@codat/accounting

中文文档
0.42.0发布于 2023/12/15TypeScriptCommonJS近 30 天下载 3825
Codat's Accounting API is a flexible API for pulling and pushing up-to-date accounting data to your customer's accounting software. It gives you a simple way to view, create, update adn delete data without having
原始使用文档
文档目录43 节
  1. SDK Installation
  2. NPM
  3. Yarn
  4. Example Usage
  5. SDK Example Usage
  6. Example
  7. Available Resources and Operations
  8. accountTransactions
  9. bankAccounts
  10. bankAccountTransactions
  11. bills
  12. customers
  13. directCosts
  14. directIncomes
  15. invoices
  16. itemReceipts
  17. purchaseOrders
  18. suppliers
  19. transfers
  20. billCreditNotes
  21. billPayments
  22. accounts
  23. creditNotes
  24. items
  25. journalEntries
  26. journals
  27. payments
  28. reports
  29. companyInfo
  30. paymentMethods
  31. salesOrders
  32. taxRates
  33. trackingCategories
  34. Retries
  35. Error Handling
  36. Server Selection
  37. Select Server by Index
  38. Override Server URL Per-Client
  39. Custom HTTP Client
  40. Authentication
  41. Per-Client Security Schemes
  42. Support
  43. Library generated by Speakeasy

Accounting

Codat's Accounting API is a flexible API for pulling and pushing up-to-date accounting data to your customer's accounting software. It gives you a simple way to view, create, update adn delete data without having to worry about each platform's specific complexities.

SDK Installation

NPM

npm add @codat/accounting

Yarn

yarn add @codat/accounting

Example Usage

SDK Example Usage

Example

import { CodatAccounting } from "@codat/accounting";

async function run() {
    const sdk = new CodatAccounting({
        security: {
            authHeader: "Basic BASE_64_ENCODED(API_KEY)",
        },
    });

    const res = await sdk.accountTransactions.get({
        accountTransactionId: "string",
        companyId: "8a210b68-6988-11ed-a1eb-0242ac120002",
        connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171",
    });

    if (res.statusCode == 200) {
        // handle response
    }
}

run();

Available Resources and Operations

accountTransactions

  • get - Get account transaction
  • list - List account transactions

bankAccounts

bankAccountTransactions

  • create - Create bank account transactions
  • getCreateModel - Get create bank account transactions model
  • list - List bank account transactions

bills

customers

directCosts

directIncomes

invoices

itemReceipts

  • get - Get item receipt
  • list - List item receipts

purchaseOrders

suppliers

transfers

billCreditNotes

billPayments

accounts

creditNotes

items

journalEntries

journals

payments

reports

companyInfo

  • get - Get company info
  • refresh - Refresh company info

paymentMethods

  • get - Get payment method
  • list - List payment methods

salesOrders

  • get - Get sales order
  • list - List sales orders

taxRates

  • get - Get tax rate
  • list - List all tax rates

trackingCategories

  • get - Get tracking categories
  • list - List tracking categories

Retries

Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK.

To change the default retry strategy for a single API call, simply provide a retryConfig object to the call:

import { CodatAccounting } from "@codat/accounting";

async function run() {
    const sdk = new CodatAccounting({
        security: {
            authHeader: "Basic BASE_64_ENCODED(API_KEY)",
        },
    });

    const res = await sdk.accountTransactions.get(
        {
            accountTransactionId: "string",
            companyId: "8a210b68-6988-11ed-a1eb-0242ac120002",
            connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171",
        },
        {
            strategy: "backoff",
            backoff: {
                initialInterval: 1,
                maxInterval: 50,
                exponent: 1.1,
                maxElapsedTime: 100,
            },
            retryConnectionErrors: false,
        }
    );

    if (res.statusCode == 200) {
        // handle response
    }
}

run();

If you'd like to override the default retry strategy for all operations that support retries, you can provide a retryConfig at SDK initialization:

import { CodatAccounting } from "@codat/accounting";

async function run() {
    const sdk = new CodatAccounting({
        retry_config: {
            strategy: "backoff",
            backoff: {
                initialInterval: 1,
                maxInterval: 50,
                exponent: 1.1,
                maxElapsedTime: 100,
            },
            retryConnectionErrors: false,
        },
        security: {
            authHeader: "Basic BASE_64_ENCODED(API_KEY)",
        },
    });

    const res = await sdk.accountTransactions.get({
        accountTransactionId: "string",
        companyId: "8a210b68-6988-11ed-a1eb-0242ac120002",
        connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171",
    });

    if (res.statusCode == 200) {
        // handle response
    }
}

run();

Error Handling

Handling errors in this SDK should largely match your expectations. All operations return a response object or throw an error. If Error objects are specified in your OpenAPI Spec, the SDK will throw the appropriate Error type.

Error ObjectStatus CodeContent Type
errors.SDKError400-600/

Example

import { CodatAccounting } from "@codat/accounting";

async function run() {
    const sdk = new CodatAccounting({
        security: {
            authHeader: "Basic BASE_64_ENCODED(API_KEY)",
        },
    });

    let res;
    try {
        res = await sdk.accountTransactions.get({
            accountTransactionId: "string",
            companyId: "8a210b68-6988-11ed-a1eb-0242ac120002",
            connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171",
        });
    } catch (err) {
        if (err instanceof errors.SDKError) {
            console.error(err); // handle exception
            throw err;
        }
    }

    if (res.statusCode == 200) {
        // handle response
    }
}

run();

Server Selection

Select Server by Index

You can override the default server globally by passing a server index to the serverIdx: number optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:

#ServerVariables
0https://api.codat.ioNone

Example

import { CodatAccounting } from "@codat/accounting";

async function run() {
    const sdk = new CodatAccounting({
        serverIdx: 0,
        security: {
            authHeader: "Basic BASE_64_ENCODED(API_KEY)",
        },
    });

    const res = await sdk.accountTransactions.get({
        accountTransactionId: "string",
        companyId: "8a210b68-6988-11ed-a1eb-0242ac120002",
        connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171",
    });

    if (res.statusCode == 200) {
        // handle response
    }
}

run();

Override Server URL Per-Client

The default server can also be overridden globally by passing a URL to the serverURL: str optional parameter when initializing the SDK client instance. For example:

import { CodatAccounting } from "@codat/accounting";

async function run() {
    const sdk = new CodatAccounting({
        serverURL: "https://api.codat.io",
        security: {
            authHeader: "Basic BASE_64_ENCODED(API_KEY)",
        },
    });

    const res = await sdk.accountTransactions.get({
        accountTransactionId: "string",
        companyId: "8a210b68-6988-11ed-a1eb-0242ac120002",
        connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171",
    });

    if (res.statusCode == 200) {
        // handle response
    }
}

run();

Custom HTTP Client

The Typescript SDK makes API calls using the axios HTTP library. In order to provide a convenient way to configure timeouts, cookies, proxies, custom headers, and other low-level configuration, you can initialize the SDK client with a custom AxiosInstance object.

For example, you could specify a header for every request that your sdk makes as follows:

import { @codat/accounting } from "CodatAccounting";
import axios from "axios";

const httpClient = axios.create({
    headers: {'x-custom-header': 'someValue'}
})

const sdk = new CodatAccounting({defaultClient: httpClient});

Authentication

Per-Client Security Schemes

This SDK supports the following security scheme globally:

NameTypeScheme
authHeaderapiKeyAPI key

You can set the security parameters through the security optional parameter when initializing the SDK client instance. For example:

import { CodatAccounting } from "@codat/accounting";

async function run() {
    const sdk = new CodatAccounting({
        security: {
            authHeader: "Basic BASE_64_ENCODED(API_KEY)",
        },
    });

    const res = await sdk.accountTransactions.get({
        accountTransactionId: "string",
        companyId: "8a210b68-6988-11ed-a1eb-0242ac120002",
        connectionId: "2e9d2c44-f675-40ba-8049-353bfcb5e171",
    });

    if (res.statusCode == 200) {
        // handle response
    }
}

run();

Support

If you encounter any challenges while utilizing our SDKs, please don't hesitate to reach out for assistance. You can raise any issues by contacting your dedicated Codat representative or reaching out to our support team. We're here to help ensure a smooth experience for you.

Library generated by Speakeasy

版本与发布记录

@codat/accounting 共发布 21 个版本,首次发布于 2023/04/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.42.0latest2023/12/152 年前
0.41.02023/12/152 年前
0.40.02023/12/062 年前
0.39.02023/12/052 年前
0.38.02023/10/173 年前
0.37.02023/09/143 年前

关于 @codat/accounting 的常见问题

@codat/accounting 是什么?

Codat's Accounting API is a flexible API for pulling and pushing up-to-date accounting data to your customer's accounting software. It gives you a simple way to view, create, update adn delete data without having

如何安装 @codat/accounting?

在项目目录运行 npm install @codat/accounting,或使用 pnpm add / yarn add / bun add。

@codat/accounting 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@codat/accounting 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@codat/accounting 可以商用吗?

@codat/accounting 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@codat/accounting 的下载量有多少?

根据 npm 官方下载统计,@codat/accounting 在 2026/10/10 – 2026/11/08 这 30 天内被下载 3,825 次,日均约 128 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@codat/accounting 还在维护吗?

最新版本 0.42.0 发布于 2023/12/15(2 年前);至今共发布 21 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/04/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。