PhoneNumber

class q2_sdk.hq.db.phone_number.PhoneNumberRow(element, row_class=None, rename_fields=None)[source]

Bases: TableRow

PhoneID: int
CountryID: int
CityOrAreaCode: str
LocalNumber: str
Extension: str
PhoneType: int
UserID: int
CustomerID: int
PhoneTypeID: int
PhoneTypeName: str
IsoCode: int
IsoCodeA2: str
IsoCodeA3: str
CountryName: str
DialingCode: str
SmsDialingCode: str
class q2_sdk.hq.db.phone_number.PhoneNumber(logger, hq_credentials=None, ret_table_obj=None)[source]

Bases: DbObject

Programmatic access to the Q2 database. Not as flexible as a true ORM, but takes the guesswork out of database schemas and ensures safety in the transactions.

Parameters:
  • logger – Reference to calling request’s logger (self.logger in your extension)

  • hq_credentials (Optional[HqCredentials]) – HQ Connectivity Information (Defaults to settings file)

  • ret_table_obj (Optional[bool]) – Flag to return list of LXML elements if False or TableRow objects from DB calls if True (Defaults to settings file)

NAME = 'PhoneNumber'
REPRESENTATION_ROW_CLASS

alias of PhoneNumberRow

add_arguments(parser)[source]

Hook for subclassed DbObjects to add custom arguments.

async get(user_id, serialize_for_cli=False)[source]
Return type:

List[PhoneNumberRow]

async get_customer_phone_numbers(customer_id)[source]
Return type:

List[PhoneNumberRow]

async delete_phone_number_by_id(user_id, phone_id, date_time=None)[source]
async add_phone_number(country_id, city_or_area_code, local_number, phone_type, user_id=None, customer_id=None, extension=None)[source]
async update_customer_phones(customer_id, phones)[source]
Parameters:
  • customer_id (int) – the CustomerID of the customer you would like to update

  • phones (list[Phone]) – a list of phone objects containing the customer’s new phone information

Return type:

list[str]

:return list containing success or failure message string