Here we've provided a complete 3rd-party library (SDK) for Python developers that covers both SOAP and REST webservices. Before using, make sure you have provided a valid account in Farapayamak corporation.
فراپیامک مجموعۀ کامل از متدهای اتصال به وب سرویس REST و SOAP این شرکت را برای توسعه دهندگان Python فراهم نموده. قبل از استفاده از این کتابخانه، نیاز به خرید پنل فراپیامک دارید
You can run the following pip command to have it:
pip install farapayamak
Farapayamak package requires installing zeep
to work.
This is the simple usage for both REST and SOAP APIs:
restClient = Rest_Client('username', 'password')
print(restClient.SendSMS('09123456789', '5000xxx', 'test sms', false))
soapClient = Soap_Client('username', 'password')
print(soapClient.SendSimpleSMS2('09123456789', '5000xxx', 'test sms', false))
Further demonstrations can be found inside the rest-sample.py and soap-sample.py files.
We support a small number of methods in REST against the SOAP web service that supports the entire ones.
We're currently supporting the following methods in REST web service:
restClient.SendSMS(to, _from, text, isFlash)
restClient.GetDeliveries2(recId)
restClient.GetMessages(location, _from, index, count)
restClient.GetCredit()
restClient.GetBasePrice()
restClient.GetUserNumbers()
restClient.BaseServiceNumber(text, to, bodyId)
restClient.SendSmartSMS(to, text, fromNumber, fromSupportOne, fromSupportTwo)
restClient.SendMultipleSmartSMS(to, text, fromNumber, fromSupportOne, fromSupportTwo)
restClient.GetSmartDeliveries2(id)
restClient.GetSmartDeliveries(ids)
We support a wide range of methods in SOAP web service. They're scope separated. Let's review all the SOAP web service methods.
soapClient.GetCredit()
soapClient.GetDeliveries(recIds)
soapClient.GetDeliveries3(recId)
soapClient.GetSmsPrice(irancellCount, mtnCount, _from, text)
soapClient.SendByBaseNumber(text, to, bodyId)
soapClient.SendByBaseNumber2(text, to, bodyId)
soapClient.SendByBaseNumber3(text, to)
soapClient.SendSimpleSMS(to, _from, text, isflash)
soapClient.SendSimpleSMS2(to, _from, text, isflash)
soapClient.SendSms(to, _from, text, isflash, udh, recId)
soapClient.SendSms2(to, _from, text, isflash, udh, recId, status, filterId)
soapClient.SendMultipleSMS(to, _from, text, isflash, udh, recId)
soapClient.SendMultipleSMS2(to, _from, text, isflash, udh, recId)
soapClient.ChangeMessageIsRead(msgIds)
soapClient.GetInboxCount()
soapClient.GetLatestReceiveMsg(sender, receiver)
soapClient.GetMessages(location, _from, index, count)
soapClient.GetMessagesAfterID(location, _from, count, msgId)
soapClient.GetMessagesFilterByDate(location, _from, index, count, dateFrom, dateTo, isRead)
soapClient.GetMessagesReceptions(msgId, fromRows)
soapClient.GetMessagesWithChangeIsRead(location, _from, index, count, isRead, changeIsRead)
soapClient.GetOutBoxCount()
soapClient.RemoveMessages(location, msgIds)
soapClient.AddUser(productId, descriptions, mobileNumber, emailAddress, nationalCode,
name, family, corporation, phone, fax, address, postalCode, certificateNumber)
soapClient.AddUserWithLocation(productId, descriptions, mobileNumber, emailAddress, nationalCode,
name, family, corporation, phone, fax, address, postalCode, certificateNumber, country, province, city)
soapClient.AddUserWithMobileNumber(productId, mobileNumber, firstName, lastName, email)
soapClient.AddUserWithMobileNumber2(productId, mobileNumber, firstName, lastName, userName, email)
soapClient.AddUserWithUserNameAndPass(productId, descriptions, mobileNumber, emailAddress, nationalCode,
name, family, corporation, phone, fax, address, postalCode, certificateNumber, targetUserName, targetUserPassword)
soapClient.AuthenticateUser()
soapClient.ChangeUserCredit(amount, description, targetUsername, GetTax)
soapClient.DeductUserCredit(amount, description)
soapClient.ForgotPassword(mobileNumber, emailAddress, targetUsername)
soapClient.GetCities(provinceId)
soapClient.GetEnExpireDate()
soapClient.GetExpireDate()
soapClient.GetProvinces()
soapClient.GetUserBasePrice(targetUsername)
soapClient.GetUserCredit(targetUsername)
soapClient.GetUserCredit2()
soapClient.GetUserDetails(targetUsername)
soapClient.GetUserIsExist(targetUsername)
soapClient.GetUserNumbers()
soapClient.GetUserTransactions(targetUsername, creditType, dateFrom, dateTo, keyword)
soapClient.GetUserWallet()
soapClient.GetUserWalletTransaction(dateFrom, dateTo, count, startIndex, payType, payLoc)
soapClient.GetUsers()
soapClient.RemoveUser(targetUsername)
soapClient.SendBulkSpeechText(title, body, receivers, DateToSend, repeatCount)
soapClient.SendBulkVoiceSMS(title, voiceFileId, receivers, DateToSend, repeatCount)
soapClient.UploadVoiceFile(title, base64StringFile)
soapClient.AddContact(groupIds, firstname, lastname, nickname, corporation, mobilenumber,
phone, fax, birthdate, email, gender, province, city, address, postalCode, additionaldate,
additionaltext, descriptions)
soapClient.AddContactEvents(contactId, eventName, eventType, eventDate)
soapClient.AddGroup(groupName, Descriptions, showToChilds)
soapClient.ChangeContact(contactId, firstname, lastname, nickname, corporation, mobilenumber,
phone, fax, email, gender, province, city, address, postalCode, contactStatus,
additionaltext, descriptions)
soapClient.ChangeGroup(groupId, groupName, Descriptions, showToChilds, groupStatus)
soapClient.CheckMobileExistInContact(mobileNumber)
soapClient.GetContactEvents(contactId)
soapClient.GetContacts(groupId, keyword, _from, count)
soapClient.GetContactsByID(contactId, status)
soapClient.GetGroups()
soapClient.MergeGroups(originGroupId, destinationGroupId, deleteOriginGroup)
soapClient.RemoveContact(mobilenumber)
soapClient.RemoveContactByContactID(contactId)
soapClient.RemoveGroup(groupId)
soapClient.AddNewMultipleSchedule(to, _from, text, isflash, scheduleDateTime, period)
soapClient.AddNewUsance(to, _from, text, isflash, scheduleStartDateTime, countrepeat,
scheduleEndDateTime, periodType)
soapClient.AddSchedule(to, _from, text, isflash, scheduleDateTime, period)
soapClient.GetScheduleDetails(scheduleId)
soapClient.GetScheduleStatus(scheduleId)
soapClient.RemoveSchedule(scheduleId)
soapClient.AddNumberBulk(_from, title, messages, receivers, DateToSend)
soapClient.BulkReception(bulkId, maximumRows, startRowIndex)
soapClient.BulkReceptionCount(bulkId)
soapClient.GetBulkDeliveries(recIds)
soapClient.GetBulkDeliveries2(recId)
soapClient.GetBulkDetails(bulkdId)
soapClient.SendSmartSMS(to, text, fromNumber, fromSupportOne, fromSupportTwo)
soapClient.SendMultipleSmartSMS(to, text, fromNumber, fromSupportOne, fromSupportTwo)
soapClient.GetSmartSMSDeliveries(ids)