Skip to main content

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)

Metadata

Release files for cloudspot-erp-api 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cloudspot-erp-api 1.1.0
File Size Uploaded Provenance Actions
cloudspot-erp-api-1.1.0.tar.gz 23.0 kB Without provenance Details for cloudspot-erp-api-1.1.0.tar.gz

Release files / cloudspot-erp-api-1.1.0.tar.gz

Download URL cloudspot-erp-api-1.1.0.tar.gz
Size 23.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3804040800d24cdb543c95a830f58f28512c74caf22480664e6b782148a07ee1
BLAKE2b-256 checksum
How to use checksums
792e5e5f80aad01637d943a73b92f95365b570502a644c2beef42654820673ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.7

Security for cloudspot-erp-api 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page