Optouts API Client

class go_http.optouts.OptOutsApiClient(auth_token, api_url=None, session=None)

Client for Vumi Go’s opt out API.

Parameters:
  • auth_token (str) – An OAuth 2 access token.
  • api_url (str) – The full URL of the HTTP API. Defaults to https://go.vumi.org/api/v1/go.
  • session (requests.Session) – Requests session to use for HTTP requests. Defaults to a new session.
count()

Return a count of the total number of opt out records.

Returns:The total number of opt outs (an integer).

Example:

>>> client.count()
215
delete_optout(address_type, address)

Remove an out opt record.

Parameters:
  • address_type (str) – Type of address, e.g. msisdn.
  • address (str) – The address to remove the opt out record for, e.g. +271235678.
Returns:

The deleted opt out record (a dict) or None if the API returned an HTTP 404 reponse.

Example:

>>> client.delete_optout('msisdn', '+12345')
{
    u'created_at': u'2015-11-10 20:33:03.742409',
    u'message': None,
    u'user_account': u'fxxxeee',
}
get_optout(address_type, address)

Retrieve an opt out record.

Parameters:
  • address_type (str) – Type of address, e.g. msisdn.
  • address (str) – The address to retrieve an opt out for, e.g. +271235678.
Returns:

The opt out record (a dict) or None if the API returned a 404 HTTP response.

Example:

>>> client.get_optout('msisdn', '+12345')
{
    u'created_at': u'2015-11-10 20:33:03.742409',
    u'message': None,
    u'user_account': u'fxxxeee',
}
set_optout(address_type, address)

Register an address as having opted out.

Parameters:
  • address_type (str) – Type of address, e.g. msisdn.
  • address (str) – The address to store an opt out for, e.g. +271235678.
Returns:

The created opt out record (a dict).

Example:

>>> client.set_optout('msisdn', '+12345')
{
    u'created_at': u'2015-11-10 20:33:03.742409',
    u'message': None,
    u'user_account': u'fxxxeee',
}