171 lines
6.1 KiB
Python
171 lines
6.1 KiB
Python
from plaid.api.api import API
|
|
|
|
|
|
class AssetReport(API):
|
|
'''Assets endpoints.
|
|
(`HTTP docs <https://plaid.com/docs/api/#assets>`__)'''
|
|
|
|
def __init__(self, client):
|
|
super(AssetReport, self).__init__(client)
|
|
self.audit_copy = AuditCopy(client)
|
|
|
|
def create(self,
|
|
access_tokens,
|
|
days_requested,
|
|
options=None):
|
|
'''
|
|
Create an asset report.
|
|
|
|
:param [str] access_tokens: A list of access tokens, one token for
|
|
each Item to be included in the Asset
|
|
Report.
|
|
:param int days_requested: Days of transaction history requested
|
|
to be included in the Asset Report.
|
|
:param dict options: An optional dictionary. For more
|
|
information on the options object, see
|
|
the documentation site listed above.
|
|
'''
|
|
options = options or {}
|
|
|
|
return self.client.post('/asset_report/create', {
|
|
'access_tokens': access_tokens,
|
|
'days_requested': days_requested,
|
|
'options': options,
|
|
})
|
|
|
|
def filter(self,
|
|
asset_report_token,
|
|
account_ids_to_exclude):
|
|
'''
|
|
Create a new, filtered asset report based on an existing asset report.
|
|
|
|
:param str asset_report_token: The existing Asset Report's
|
|
asset report token.
|
|
:param [str] account_ids_to_exclude: A list of account IDs to
|
|
exclude from the new Asset
|
|
Report.
|
|
'''
|
|
return self.client.post('/asset_report/filter', {
|
|
'asset_report_token': asset_report_token,
|
|
'account_ids_to_exclude': account_ids_to_exclude,
|
|
})
|
|
|
|
def refresh(self,
|
|
asset_report_token,
|
|
days_requested,
|
|
options=None):
|
|
'''
|
|
Create a new, refreshed asset report based on an existing asset report.
|
|
|
|
:param str asset_report_token: The existing Asset Report's asset
|
|
report token.
|
|
:param int days_requested: Days of transaction history
|
|
requested to be included in the
|
|
Asset Report.
|
|
:param dict options: An optional dictionary. This is the
|
|
same object used in `create`.
|
|
'''
|
|
options = options or {}
|
|
|
|
return self.client.post('/asset_report/refresh', {
|
|
'asset_report_token': asset_report_token,
|
|
'days_requested': days_requested,
|
|
'options': options,
|
|
})
|
|
|
|
def get(self,
|
|
asset_report_token,
|
|
include_insights=False):
|
|
'''
|
|
Retrieves an asset report.
|
|
|
|
:param str asset_report_token: The asset report token for the
|
|
asset report you created.
|
|
:param bool include_insights: An optional boolean specifying
|
|
whether we should retrieve the
|
|
report as an Asset Report with
|
|
Insights. For more, see
|
|
https://plaid.com/docs/#retrieve-json-report-request.
|
|
'''
|
|
|
|
return self.client.post('/asset_report/get', {
|
|
'asset_report_token': asset_report_token,
|
|
'include_insights': include_insights,
|
|
})
|
|
|
|
def get_pdf(self,
|
|
asset_report_token):
|
|
'''
|
|
Retrieves an asset report in the PDF format.
|
|
|
|
:param str asset_report_token: The asset report token for the
|
|
asset report you created.
|
|
'''
|
|
|
|
return self.client.post('/asset_report/pdf/get', {
|
|
'asset_report_token': asset_report_token,
|
|
}, is_json=False)
|
|
|
|
def remove(self,
|
|
asset_report_token):
|
|
'''
|
|
Retrieves an asset report in the PDF format.
|
|
|
|
:param str asset_report_token: The asset report token for the
|
|
asset report you want to remove.
|
|
'''
|
|
|
|
return self.client.post('/asset_report/remove', {
|
|
'asset_report_token': asset_report_token,
|
|
})
|
|
|
|
|
|
class AuditCopy(API):
|
|
'''Audit copy endpoints. Use this class via the `audit_copy` member on the
|
|
`AssetReport` class.'''
|
|
|
|
def create(self,
|
|
asset_report_token,
|
|
auditor_id):
|
|
'''
|
|
Creates an audit copy.
|
|
|
|
:param str asset_report_token: The asset report token for the
|
|
asset report you created.
|
|
:param str auditor_id: The ID of the third party with
|
|
which you want to share the asset
|
|
report.
|
|
|
|
'''
|
|
|
|
return self.client.post('/asset_report/audit_copy/create', {
|
|
'asset_report_token': asset_report_token,
|
|
'auditor_id': auditor_id,
|
|
})
|
|
|
|
def get(self,
|
|
audit_copy_token):
|
|
'''
|
|
Retrieves an audit copy.
|
|
|
|
:param str audit_copy_token: The audit copy token for the audit
|
|
copy you want to retrieve.
|
|
'''
|
|
|
|
return self.client.post('/asset_report/audit_copy/get', {
|
|
'audit_copy_token': audit_copy_token,
|
|
})
|
|
|
|
def remove(self,
|
|
audit_copy_token):
|
|
'''
|
|
Removes an audit copy.
|
|
|
|
:param str audit_copy_token: The audit copy token for the
|
|
audit copy you want to remove.
|
|
|
|
'''
|
|
|
|
return self.client.post('/asset_report/audit_copy/remove', {
|
|
'audit_copy_token': audit_copy_token,
|
|
})
|