class Messaging: """Api client for messaging""" list_templates = bind_request( method=constants.RequestConst.GET, api_path='/partner/app/<app_id>/templates', header={'Connection': 'keep-alive'}, force_single_model_response=True, model=TemplateList, query_parameters=query_params.AppIdInURL, description='Get WhatsApp message template list') upload_template_example_media = bind_request( method=constants.RequestConst.POST, api_path='/partner/app/<app_id>/upload/media', header={'Connection': 'keep-alive'}, force_single_model_response=True, model=MediaHandle, query_parameters=query_params.UploadTemplateMedia, file_parameters=query_params.UploadTemplateMediaFile, url_parameters=query_params.AppIdInURL, description='Upload template example media file') create_template = bind_request( method=constants.RequestConst.POST, api_path='/partner/app/<app_id>/templates', header={'Connection': 'keep-alive'}, force_single_model_response=True, model=CreateTemplate, query_parameters=query_params.CreateTemplate, url_parameters=query_params.AppIdInURL, description='Create WhatsApp message template')
class Messaging: """Api client for messaging""" send_message = bind_request(method=constants.RequestConst.POST, api_path='/sm/api/v1/msg', model=SendMessageResponse, force_single_model_response=True, query_parameters=query_params.SendMessage, default_parameters={'channel': 'whatsapp'}, description='Send a WhatsApp message') send_template_message = bind_request( method=constants.RequestConst.POST, api_path='/sm/api/v1/template/msg', model=SendMessageResponse, force_single_model_response=True, query_parameters=query_params.SendTemplateMessage, default_parameters={'channel': 'whatsapp'}, description='Send a WhatsApp message template')
class Contacts: """Api client for contacts""" opt_in = bind_request(method=constants.RequestConst.POST, api_path='/sm/api/v1/app/opt/in', path=['app_name'], query_parameters=query_params.OptIn, model=OptInResponse, description='Opt-in a user (phone number) via API')
class Contact: """Partner Api client for contacts""" number = bind_request(method=constants.RequestConst.GET, api_path='/partner/app/<app_id>/userStatus', header={'Connection': 'keep-alive'}, query_parameters=query_params.Number, model=NumberStatus, force_single_model_response=True, description='Get partner API number status')
class Auth: """Partner Api client for authentication""" partner_token = bind_request( method=constants.RequestConst.POST, api_path='/partner/account/login', header={ 'Connection': 'keep-alive', 'Content-Type': 'application/x-www-form-urlencoded' }, query_parameters=query_params.PartnerToken, model=PartnerToken, description='Get partner API token', payload_format=constants.RequestConst.PARAMS_URL_ENCODED) app_token = bind_request(method=constants.RequestConst.GET, api_path='/partner/app/<app_id>/token', query_parameters=query_params.AppToken, model=AppToken, force_single_model_response=True, description='Get partner API APP token')
class App: """Partner Api client for Gupshup apps""" list_apps = bind_request(method=constants.RequestConst.GET, api_path='/partner/account/api/partnerApps', query_parameters=query_params.AppList, model=AppList, force_single_model_response=True, description='Get partner API APP list') app_health = bind_request(method=constants.RequestConst.GET, api_path='/partner/app/<app_id>/health', query_parameters=query_params.AppHealth, model=AppHealth, force_single_model_response=True, description='Get partner API APP health') app_rating = bind_request(method=constants.RequestConst.GET, api_path='/partner/app/<app_id>/ratings', query_parameters=query_params.AppRatings, model=AppRating, force_single_model_response=True, description='Get partner API APP rating')