isogeo_pysdk.api.routes_user module

Isogeo API v1 - API Routes for Users entities

See: http://help.isogeo.com/api/complete/index.html

class isogeo_pysdk.api.routes_user.ApiUser(api_client=None)

Bases: object

Routes as methods of Isogeo API used to manipulate users.

create(user=<class 'isogeo_pysdk.models.user.User'>, check_exists=1)

Add a new user to Isogeo.

Parameters
  • user (class) – User model object to create

  • check_exists (bool) – check if a user already exists:

  • 0 = no check

  • 1 = compare email [DEFAULT]

Return type

User

delete(user)

Delete an user.

Parameters

user (class) – User model object to be deteled

Return type

User

get(user_id, include='_abilities')

Get details about a specific user.

Parameters
  • user_id (str) – user UUID

  • include (list) – additionnal subresource to include in the response

Return type

User

listing()

Get registered users.

Example

>>> # get all registered users
>>> users = isogeo.user.listing()
>>> print(len(users))
925
>>> # filter on staff users (as list)
>>> staff = [user for user in users if user.get("staff")]
>>> print(len(staff))
10
>>> # filter on users with an email from isogeo(as list)
>>> users_isogeo = [user for user in users if "@isogeo" in user.get("contact").get("email")]
>>> print(len(users_isogeo))
37
Return type

list

memberships(user_id)

Returns memberships for the specified user.

Parameters

user_id (str) – user UUID

Return type

dict

subscriptions(user, subscription, subscribe)

Subscribe or unsubscribe an user to/from one of the available subscriptions.

Parameters
  • user (class) – User model object to be updated

  • subscription (str) – subscription (newsletter) targetted. Must be one of: NewReleases | TipsAndTricks

  • subscribe (bool) – subscribe (1) or unsubscribe (0)

Return type

User

Example

# retrieve the user
uzer = isogeo.user.get(user_id={user_uuid})

# unsubscribe the user from the newsletter 'TipsAndTricks'
isogeo.user.subscriptions(uzer, "TipsAndTricks", 0)

# subscribe the user to the newsletter 'NewReleases'
isogeo.user.subscriptions(uzer, "TipsAndTricks", 0)
update(user)

Update an user.

Parameters

user (class) – User model object to be updated

Return type

User

Example

# retrieve the user
uzer = isogeo.user.get(user_id={user_uuid})

# unsubscribe the user from a newsletter
uzer.mailchimp.get("subscriptions")[0]["isInterested"] = False

# update it online
isogeo.user.update(uzer)