npm.io
0.3.1 • Published 1 week ago

@culturekit/culturekit-js

Licence
MIT
Version
0.3.1
Deps
5
Size
2.5 MB
Vulns
0
Weekly
0

culturekit-js

JavaScript client for CultureKit.

Usage

First of all, you need to install the package:

npm install @culturekit/culturekit-js

Then you'll be able to import the package and create a client:

import { createClient } from '@culturekit/culturekit-js';

// Creates a singleton CultureKit client which you can use to interact with CultureKit
const culturekit = createClient({
  apiUrl: 'https://api.xyz.com',
});

UMD

You can use plain <script>s to import culturekit-js from CDNs:

<script src="https://cdn.jsdelivr.net/npm/@culturekit/culturekit-js"></script>

or even:

<script src="https://unpkg.com/@culturekit/culturekit-js"></script>

Note: Please make sure to pin the used version to prevent breaking.

Then you can use it from a global culturekit variable:

<script>
  const { createClient } = culturekit;
  const _culturekit = createClient({
    apiUrl: 'https://api.xyz.com',
  });

  console.log('CultureKit Instance: ', _culturekit);
  // ...
</script>
ESM

You can use type="module" <script>s to import culturekit-js from CDNs:

<script type="module">
  import { createClient } from 'https://cdn.jsdelivr.net/npm/@culturekit/culturekit-js/+esm';
  const culturekit = createClient({
    apiUrl: 'https://api.xyz.com',
  });

  console.log('CultureKit Instance: ', culturekit);
  // ...
</script>

Note: Please make sure to pin the used version to prevent breaking.

General

Set locale (optional)

Set it during construction:

import { createClient } from 'https://cdn.jsdelivr.net/npm/@culturekit/culturekit-js/+esm';
const locale = 'nl'; // ISO 639-1 string
const culturekit = createClient({
  apiUrl: 'https://api.xyz.com',
  locale,
});

Or set it directly on the client:

const locale = 'nl'; // ISO 639-1 string
culturekit.locale = locale;

Or alternatively, you can set the locale through query params.

const locale = 'nl'; // ISO 639-1 string
culturekit.schedule.productions.list({ locale });
Authentication (optional)

A bearer token is used to make authenticated requests against the API:

const accessToken = 'eyJhbGciOiJSUzI1NiIsImtpZCI6'; // Without 'Bearer '
cultureKitclient.accessToken = token.access_token;

Set it to undefined to stop using authentication:

cultureKitclient.accessToken = undefined;

Collections

Collections
Create a collection
const inputData = {};
const { rawData, error } = await culturekit.schedule.collections.create(
  inputData
);
Retrieve a collection
const query = {};
const { rawData, error } = await culturekit.schedule.collections.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve collections list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.collections.list(query);
Add item to collection
const inputData = {};
const { rawData, error } = await culturekit.schedule.collections.addItem(
  inputData
);
Remove item from collection
const inputData = {};
const { rawData, error } = await culturekit.schedule.collections.removeItem(
  inputData
);
Collection groups
Create a collection group
const inputData = {};
const { rawData, error } = await culturekit.schedule.collectionGroups.create(
  inputData
);
Retrieve a collection group
const query = {};
const { rawData, error } = await culturekit.schedule.collectionGroups.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve collection groups list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.collectionGroups.list(query);

Customers

Customers
Retrieve logged in customer
const { rawData, error } =
  await culturekit.customers.customers.getLoggedInCustomer();
Retrieve a customer
const query = {};
const { rawData, error } = await culturekit.customers.customers.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve customers list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.customers.list(query);
Cards
Retrieve cards for customer
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.cards.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
Reservations
Retrieve reservations for customer
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.reservations.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
Visits
Retrieve visits for customer
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.visits.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
Invoices
Retrieve invoices for customer
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.invoices.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
Subscriptions
Retrieve subscriptions for customer
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.subscriptions.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );

Invoices

Invoices
Download an invoice
const inputData = {};
const { rawData, error } = await culturekit.invoices.invoices.download(
  inputData
);
Retrieve a invoice
const query = {};
const { rawData, error } = await culturekit.invoices.invoices.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve invoices list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.invoices.invoices.list(query);

Ordering

Look up address
const inputData = {};
const { rawData, error } = await culturekit.ordering.lookupAddress(inputData);
Order forms
Create an order form
const inputData = {};
const { rawData, error } = await culturekit.schedule.orderForms.create(
  inputData
);
Update an order form
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.orderForms.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
Retrieve an order form
const query = {};
const { rawData, error } = await culturekit.schedule.orderForms.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve order forms list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.orderForms.list(query);
Product
Retrieve a product
const query = {};
const { rawData, error } = await culturekit.ordering.products.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve products list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.ordering.products.list(query);
Order
Create a order
const inputData = {};
const { rawData, error } = await culturekit.ordering.orders.create(inputData);
Update a order
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData,
);
Retrieve a order
const { rawData, error } = await culturekit.ordering.orders.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
);
(Deprecated) Retrieve available products for order
const { rawData, error } =
  await culturekit.ordering.orders.getAvailableProductsForOrder(
    'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
    'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  );
Upload photo for order
const photo = new File();
const { rawData, error } = await culturekit.ordering.orders.uploadPhotoForOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  photo
);
Retrieve payment methods for order
const { rawData, error } =
  await culturekit.ordering.orders.getPaymentMethodsForOrder(
    'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
    'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  );
(Deprecated) Start payment method for order
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.startPaymentForOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData
);
Confirm order
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.confirm(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData
);
Add voucher to order
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.addVoucherToOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData
);
Add line item to order
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.addLineItemToOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData
);
Update line item to order
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.updateLineItemToOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  'cb78ad60-6b14-4432-b87e-8f728m2e4503', //lineItemId
  inputData
);
Retrieve product option information
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.getProductOptionInformation(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',//orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  'cb78ad60-6b14-4432-b87e-8f728m2e4503', //productId
);

Schedule

Productions
Create a production
const inputData = {};
const { rawData, error } = await culturekit.schedule.productions.create(
  inputData
);
Update a production
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.productions.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
Retrieve a production
const query = {};
const { rawData, error } = await culturekit.schedule.productions.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve productions list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.productions.list(query);
Retrieve collections for a production
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.productions.getCollections(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
Retrieve assets for a production
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.productions.getAssets(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
Upload asset for a production
const inputData = {};
const { rawData, error } = await culturekit.schedule.productions.uploadAsset(
  inputData
);
Delete asset for a production
const inputData = {};
const { rawData, error } = await culturekit.schedule.productions.deleteAsset(
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //assetId
);
Events
Create an event
const inputData = {};
const { rawData, error } = await culturekit.schedule.events.create(inputData);
Update an event
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.events.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
Retrieve an event
const query = {};
const { rawData, error } = await culturekit.schedule.events.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Patch an event
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.events.patch(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
Retrieve events list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.events.list(query);
Retrieve collections for an event
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.events.getCollections(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
Venues
Create a venue
const inputData = {};
const { rawData, error } = await culturekit.schedule.venues.create(inputData);
Update a venue
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.venues.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
Retrieve a venue
const query = {};
const { rawData, error } = await culturekit.schedule.venues.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve venues list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.venues.list(query);
Retrieve collections for a venue
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.venues.getCollections(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
Retrieve assets for a venue
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.venues.getAssets(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
Upload asset for a venue
const inputData = {};
const { rawData, error } = await culturekit.schedule.venues.uploadAsset(
  inputData
);
Delete asset for a venue
const inputData = {};
const { rawData, error } = await culturekit.schedule.venues.uploadAsset(
  'ab85ad60-6b14-4432-b87e-8f728r7r1009'
);
Production types
Retrieve a production type
const query = {};
const { rawData, error } = await culturekit.schedule.productionTypes.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve product types list
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.productionTypes.list(query);

Users

Users
Retrieve logged in user
const { rawData, error } = await culturekit.users.users.getLoggedInuser();
Retrieve a user
const query = {};
const { rawData, error } = await culturekit.users.users.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
Retrieve users list
const query = {};
const { rawData, error, previous, next } = await culturekit.users.users.list(
  query
);