1.5.0 • Published 5 months ago

@rulebricks/sdk v1.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Banner

Documentation

Find detailed examples of using this SDK in our examples repository. General API reference documentation is available on our User Guide here.

Installation

npm install --save @rulebricks/sdk
# or
yarn add @rulebricks/sdk

Usage

import { RulebricksClient } from "@rulebricks/sdk";
import "dotenv/config";

// Initialize the Rulebricks client
const rb = new RulebricksClient({
  environment: process.env.RULEBRICKS_ENVIRONMENT || "https://rulebricks.com/api/v1",
  apiKey:
    process.env.RULEBRICKS_API_KEY || "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
});

rb.rules.solve('tJOCd8XXXX', {
  customer_id: 'anc39as3',
  purchase_history: ['t-shirt', 'mug'],,
  account_age_days: 4,
  last_purchase_days_ago: 3,
  email_subscription: false,
}, {
  // Request options (Optional, leave empty for default values)
  // timeoutInSeconds: 10, (Optional: Use this to override the default timeout in seconds)
  // maxRetries: 3, (Optional: Use this to override the default number of retries)
}).then((result) => {
  console.log(result);
}).catch((err) => {
  console.error(err);
});

Handling errors

When the API returns a non-success status code (4xx or 5xx response), a subclass of RulebricksApiError will be thrown:

try {
    // ...
} catch (err) {
    if (err instanceof RulebricksApiError) {
        console.log(err.statusCode); // 400
        console.log(err.message); // "BadRequestError"
        console.log(err.body); // list of errors
    }
}

Error codes are as followed:

Status CodeError Type
400BadRequestError
429RateLimitError
500InternalServerError

Contributing

This library is generated programmatically. We suggest opening an issue to discuss any issues or feature requests with us.

License

This project is licensed under the MIT License - see the LICENSE file for details.

1.5.0

5 months ago

1.4.0

5 months ago

1.3.0

7 months ago

1.2.1

7 months ago

1.2.0

8 months ago

1.1.0

8 months ago

1.0.0

11 months ago