-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Hola, me dice que el número es inválido (el formato), pero el número que se está intentando enviar esta en el formato correcto, dejo mi código:
import csv
import sys
import requests
import json
import time
import urllib
sendUrl = 'http://api.textveloper.com/sms/enviar/'
cuenta_token = '1324b879d43aff522b0aeddf803bbcba'
aplicacion_token = 'cb275c7f96beb572e4787a7424405b60'
def getMessageParts(sms):
step = 145 #160 limite chars for sms
if(len(sms) > 145):
step = 139
sms = [sms[i:i+step] for i in range(0, len(sms), step)]
return sms
def getMessage(smsList, count = 0):
smsLenght = len(smsList)
#for j, sms in enumerate(smsList):
sms = smsList[count]
smsNum = ''
if smsLenght > 1:
smsNum = '(' + str(count+1) + '/' + smsLenght + ') '
return str(smsNum + sms)
def sendSms(phone, message):
params = {
'telefono': str(phone),
'mensaje': str(message),
'aplicacion_token': str(aplicacion_token),
'cuenta_token': str(cuenta_token)
}
encodeParams = urllib.urlencode(params)
print('---------//////// ----------//////////---------------\n')
print(encodeParams)
print('---------//////// ----------//////////---------------\n')
response = requests.post(sendUrl, data=encodeParams)
while response.text == '' or not response.text or response.text == None or len(response.text) < 2:
time.sleep(1)
response = requests.post(sendUrl, data=encodeParams)
response = json.loads(response.text)
return response
def saveFails(fails):
if(len(fails) > 0):
with open('failed_sends.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerows(fails)
def run():
filePath = str(sys.argv[1])
message = str(sys.argv[2])
limit = int(sys.argv[3])
faileds = []
with open(filePath, 'rb') as numbers:
#for number in numbers:
for number in ['4167704656']:
number = str('0' + number)
messages = getMessageParts(message)
i = 0
while i < len(messages):
sms = getMessage(messages, i)
result = sendSms(number, sms)
if result['respuesta'] != 'ok':
print ('Numero: ' + number)
print ('Error: ' + result['detalle'])
faileds.append(number)
i = i + 1
saveFails(faileds)
run()
Metadata
Metadata
Assignees
Labels
No labels