Create a material

from os import environ
from smart_prospective_api import SPApi, APIError
import json

PUBLIC_KEY = "pub_XXXXX"
PRIVATE_KEY = "sec_XXXXX"


# Optionnal / Utils method (only for the test)
def random_string(length):
    from random import choices
    from string import ascii_lowercase
    return ''.join(choices(ascii_lowercase, k=length))


try:
    # Setup the API credencial (do not perform any request at this moment)
    # Note: The public key starts by "pub_" & The secret key starts by "sec_"
    sp_api = SPApi(PUBLIC_KEY, PRIVATE_KEY)

    # ADD
    new_material = sp_api.add_material(name=random_string(8), building=sp_api.get_buildings()[0]["code"])  # Create a new material (you will be the creator)
    print(f"A new material has been created: {new_material['name']}")

    sp_api.logout()  # Logout the account, more safe to use it, to avoid potential attacks
except APIError as e:
    print(f"Failure using the Smart Prospective API: {e}")
curl --location --request POST 'https://app.smartprospective.com/api/materials/add' \
--form 'token="XXXXXX"' \
--form 'name="My New Material"' \
--form 'building="BuildingCodeX"'