Commit eb7abe51 authored by Jérome Perrin's avatar Jérome Perrin

SMS/Mobyt: fix message_type to support multitext messages

parent 8e0544bf
......@@ -70,11 +70,15 @@ class MobytGateway(XMLObject):
, PropertySheet.SMSGateway
)
# see https://web.archive.org/web/20111125005954/http://www.mobyt.fr/doc/mobyt_module_http.pdf
# for documentation of this old API
api_url = "http://multilevel.mobyt.fr/sms"
security.declarePublic('getAllowedMessageType')
def getAllowedMessageType(self):
"""List of all message type"""
return ['text','multitext', 'wappush', 'ucs2', 'multiucs2']
# `text` is here for compatibility, but the API always expected uppercase
return ['text', 'TEXT', 'MULTITEXT', 'WAPPUSH', 'UCS2', 'MULTIUCS2']
security.declarePrivate("_fetchSendResponseAsDict")
def _fetchSendResponseAsDict(self,page):
......@@ -145,7 +149,7 @@ class MobytGateway(XMLObject):
recipient -- phone url of destination_reference. Could be a list
sender -- phone url of source
sender_title -- Use it as source if the gateway has title mode enable
message_type -- Only 'text' is available today
message_type -- see getAllowedMessageType
test -- Force the test mode
Kw Parameters:
......@@ -194,7 +198,7 @@ class MobytGateway(XMLObject):
if message_type != "text":
assert quality == 'n', "This type of message require top level messsage quality"
assert message_type in self.getAllowedMessageType(), "Unknown message type"
params['operation'] = message_type.capitalize()
params['operation'] = message_type
#Send message (or test)
if test or self.isSimulationMode():
......
  • @gabriel GYI this ( and b7ecb47c ) is how I configured SMS sending to support messages longer than 160 characters.

    I did not make another merge request yet because !49 (merged) is still ongoing and because I don't know how to handle compatibility with essendex which uses different message types.

    Maybe message_type should become a property of the gateway and not be defined in ShortMessage_send.

    I noticed other small things, one is that this is using http. Using the same URL with https seems to work. the next is this API is old, I found the doc using wayback machine. The new API is slightly different.

  • @jerome, yes, I also saw this small changes(supporting https for example). I think API URL should be also part of the gateway(or at least set a default and be editable), message_type become a property of the gateway as you said and move getAllowedMessageType to ERP5 (as script or categories?)

    About essendex, I don't know either.

    Thank you for the fix

  • mentioned in merge request !173 (closed)

    Toggle commit list
  • I opened !173 (closed) so that we do not forget all this.

Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment