Skip to main content

Wrapper for the Cloudspot ERP API endpoints

Project description

Cloudspot API wrapper

Basic wrapper for the Cloudspot ERP API.

Use cases

This wrapper has two use cases: 1. Authenticate and authorize users on an external app, linked to Cloudspot ERP 2. Get data (products, clients,...) from a company that is present on the Cloudspot ERP

:warning: Warning

The authentication and authorization for external apps is migrated to Cloudspot License server as of 2023-03-14. You can find the new wrapper here.

Getting started

Install

Install with pip.

pip install cloudspot-erp-api

Import

Depending on your use case, you'll need to import either CloudspotERP_UserAPI or CloudspotERP_CompanyAPI.

# Use case 1
from cloudspot.api import CloudspotERP_UserAPI

# Use case 2
from cloudspot.api import CloudspotERP_CompanyAPI

Functionalities

CloudspotERP_UserAPI

:warning: Warning

The authentication and authorization for external apps is migrated to Cloudspot License server as of 2023-03-14. You can find the new wrapper here.

CloudspotERP_CompanyAPI

This class is used to retrieve data from a company.

Setup

When setting up the class, one parameter is expected: the generated API token of the company. This token can be generated by an ERP administrator for a specific company. A token can have the right to:

  • See all products
  • See all clients
from cloudspot.api import CloudspotERP_CompanyAPI
api = CloudspotERP_CompanyAPI('[TOKEN]')

After setting up the connection, you can use the api to send requests to the Cloudspot ERP.

All products

Below method will allow you to retrieve all the products that are available inside the ERP and are linked to the company by the token. The .list() method will return one Artikels object, which is a list containing one or multiple Artikel objects.

artikels = api.artikels.list()

for artikel in artikels.items():
    print('naam: ', artikel.naam)

Available attributes

Following attributes are available for the Artikel object:

Attribute Type Remarks
naam string Name of the product
beschrijving text Long description of the product
SKU string Stock Keeping Unit
voorraad_bijhouden string Can only contain one of these three values: "NIET" / "FYSIEK" / "DIGITAAL"
op_voorraad float How many units are currently in stock, only applicable of voorraad_bijhouden is "FYSIEK"
product_url url External URL with the product information
verkoopprijs_excl float Sales price, excl. VAT
verkoopprijs_incl float Sales price, incl. VAT
inkoopprijs_excl float Purchase price, excl. VAT
inkoopprijs_incl float Purchase price, incl. VAT
BTW float Percentage of VAT applicable to the product
bestellingtype string Can only contain one of these two values: "IDEAAL" / "BESTELLING"
units_per_bestelling float Minimum amount of units needed for an order to the vendor
status string Can only contain one of these three values: "ZICHTBAAR" / "NIET_VERKOOPBAAR" / "GEDEACTIVEERD"

Specific product

Below method will allow you to retrieve a specific product by ID. Will only return the article if the article is in the company that is linked to the token. The .get(id) method will return one Artikel object.

artikel = api.artikels.get(125) # Retrieve artikel with ID 125
print('naam: ', artikel.naam)

All clients

Below method will allow you to retrieve all the clients that are available inside the ERP and are linked to the company by the token. The .list() method will return one Klanten object, which is a list containing one or multiple Klant objects.

klanten = api.klanten.list()

for klant in klanten.items():
    print('voornaam: ', klant.voornaam)

Available attributes

Following attributes are available for the Klant object:

Attribute Type Remarks
klantennummer integer Client number/reference
aanspreektitel string Can only contain one of these two values: "Mijnh." / "Mevr."
voornaam string First name of client
achternaam string Last name of client
straat string Street
huisnummer string House number
busnummer string Box number
postcode string Zipcode
plaats string Place/region
land string Two letter country code (ex. BE/NL/FR/...)
geboortedatum date Birthday of client
geboorteplaats string Place of birth
is_bedrijf boolean Indicates wether the client is a company or not. True = client is a company, False = client is not a company
bedrijfsnaam string Name of the company. Only applicable if is_bedrijf is True
BTW_nummer string VAT number of the company. Only applicable if is_bedrijf is True
ondernemingsnummer string KBO number of the company. Only applicable if is_bedrijf is True

Error handling

Basic error handling has been added. You can check if an error has occured during a call by checking the hasError attribute on the object. If the hasError attribute has been set to True, an Error object will be attached to the error attribute of the same object. The Error object contains one attribute: message. This will contain the error message.

artikels = api.artikels.list()

if artikels.hasError:
    print('error: ', artikels.error.message)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudspot-erp-api-1.1.0.tar.gz (23.0 kB view details)

Uploaded Source

File details

Details for the file cloudspot-erp-api-1.1.0.tar.gz.

File metadata

  • Download URL: cloudspot-erp-api-1.1.0.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for cloudspot-erp-api-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3804040800d24cdb543c95a830f58f28512c74caf22480664e6b782148a07ee1
MD5 c65c1d95b3ea7a17c44f0d3d0746f5a4
BLAKE2b-256 792e5e5f80aad01637d943a73b92f95365b570502a644c2beef42654820673ec

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page