System, method and program for transmitting an SMS message using an API
The method and system for SMS message transmission using an API and flow rate control address the issue of unequal handling and bottlenecks in existing systems, ensuring efficient and fair transmission of SMS messages.
Patent Information
- Application Number
- DE112023002940
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-05
- Publication Date
- 2025-05-08
AI Technical Summary
Existing SMS gateway systems have an upper limit on the number of messages that can be transmitted per unit time, leading to unequal handling between users and potential bottlenecks when multiple users attempt to transmit large volumes of similar messages.
A method and system for transmitting SMS messages using an API, which involves an API server assigning message IDs and adding transmission requests to a queue, with a control server performing flow rate control to manage the transmission requests and prevent overload.
The solution ensures equal handling of SMS message transmissions by controlling the flow rate of messages, preventing bottlenecks, and allowing for efficient transmission of messages without overwhelming the system.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical field
[0001] The present invention relates to a system, a method and a program for transmitting an SMS message (Short Message Service SMS) using an API (Application Programming Interface) and in particular relates to a system, a method and a program for transmitting an SMS message using an API via an SMS gateway that communicates with an SMSC (Short Message Service Center SMSC) of an MNO (Mobile Network Operator MNO). background
[0002] SMS is a well-known service that transmits messages using a telephone number. Messages sent via SMS (also known as "SMS messages") can be exchanged both between mobile phones and via an SMS gateway service, which provides an API for transmitting messages over an IP network. In response to the API call, the SMSC, a system of the mobile network operator (MNO) for SMS transmission, and the system of the commercial operator providing the SMS gateway service communicate to deliver the message to the recipient's telephone number via the MNO.
[0003] It is assumed that SMS messages have a high open rate and are used in various processes by companies whose main focus is on sales. Summary of the invention: Technical problem
[0004] When a company uses the SMS messaging service for its operations, it often transmits many messages with the same, similar, or related content for a specific purpose. However, the system of the commercial operator of the SMS gateway service has a limit on the number of messages that can be transmitted per unit of time. Therefore, if a company tries to send a message to 10,000 people, for example, and the limit is 30 messages per second, other companies will be unable to transmit for more than 5 minutes until the transmission ends, resulting in an unequal treatment of users. A similar problem can even occur between multiple users within the same company.
[0005] The present invention was made with the aforementioned problems in mind and implements a system and a method for transmitting SMS messages using an API and a program for this purpose in order to counteract the inequality among users. Solution to the problem
[0006] To solve these problems, a first aspect of the present invention is a method for transmitting an SMS message using an API via an SMS gateway that communicates with an SMSC of an MNO, the method comprising: receiving, by an API server, a first call to the API from a first user terminal; assigning, by the API server, a message ID to one or more addressees determined by the first call; adding, by the API server, a first message transfer request, which includes at least some of the assigned one or more message IDs and a first identifier of a first user of the first user terminal or of an associated first enterprise, to a first queue connected to the API server; and, in a case where a number of first message transfer requests,which contain the first identifier and are received within a first time interval, has not reached a first upper limit compared to a first throughput rate threshold that is a positive number greater than or equal to 1, by a first control server connected to the first queue, adding a second message request, which includes each of the at least one part contained in the first message request, to a second queue connected to the first control server, and in a case where the first upper limit has been reached, by the first control server stopping the addition of the second message request to the second queue until a first predetermined condition is met, wherein a second control server connected to the second queue,transmits an SMS message transmission request to the SMS gateway according to an IP protocol corresponding to the second message generation request.
[0007] A second aspect of the present invention is the method according to the first aspect, wherein the call includes one or more message main texts.
[0008] A third aspect of the present invention is the method according to the first aspect, further comprising: in a case where a number of API calls containing a campaign ID determined by the first call and received within a certain time period have not reached a call limit compared to a call threshold that is a positive number greater than or equal to 1, the API server adding the first message transmission request to the first queue; and the API server responding to the first user terminal with an error response in a case where the call limit has been reached.
[0009] A fourth aspect of the present invention is the method according to the third aspect, wherein the first flow rate threshold is greater than the call threshold.
[0010] A fifth aspect of the present invention is the method according to the first aspect, wherein, in a case where a number of second message generation requests received within a second time period has not reached a second upper limit compared to a second flow rate threshold which is a positive number greater than or equal to 1, the second control or rule server transmits the SMS message transmission request to the SMS gateway.
[0011] A sixth aspect of the present invention is the method according to the fifth aspect, wherein the second message transmission request includes an addressee according to a message ID included in the second message transmission request, and the second queue is selected by the first control or rule server according to an addressee included in the second message transmission request.
[0012] A seventh aspect of the present invention is the method according to the sixth aspect, wherein the first flow rate threshold is a value determined for the selected second queue or second control or regulation server or SMS gateway associated therewith.
[0013] An eighth aspect of the present invention is the method according to the first or sixth aspect, further comprising: receiving, by the API server, a second API call from a second user terminal device, which does not contain a valid campaign name and contains a single addressee; assigning a single message ID to the second call by the API server; and adding, by the first control or rule server, a second message transmission request, which contains the single addressee and the single message ID, to a one-time queue connected to the second control or rule server.
[0014] A ninth aspect of the present invention is the method according to the sixth aspect, wherein the second flow rate threshold is a value determined for the selected second queue or second control or regulation server or SMS gateway associated therewith.
[0015] A tenth aspect of the present invention is the method according to the ninth aspect, wherein the first flow rate threshold is smaller than the second flow rate threshold.
[0016] An eleventh aspect of the present invention is a program that causes a system comprising an API server and a first control or rule server to execute a method for transmitting an SMS message using an API via an SMS gateway communicating with an SMSC of an MNO, wherein the method comprises: receiving a first API call from a first user terminal by the API server; assigning a message ID to one or more recipients determined by the first call by the API server; adding a first message transmission request, which includes at least some of the assigned one or more message IDs and a first identifier of a first user of the first user terminal or of an associated first enterprise, to a first queue connected to the API server by the API server; and in one case,in which a number of first message transmission requests containing the first identifier and received within a first time interval have not reached a first upper limit compared to a first throughput rate threshold that is a positive number greater than or equal to 1, by a first control server connected to the first queue, a second message transmission request containing each of the at least one part contained in the first message transmission request is added to a second queue connected to the first control server, and in a case where the first upper limit has been reached, by the first control server, the addition of the second message transmission request to the second queue is stopped until a first predetermined condition is met, wherein a second control server,which is connected to the second queue, transmits an SMS message transmission request to the SMS gateway according to an IP protocol corresponding to the second message generation request.
[0017] A twelfth aspect of the present invention is a system comprising a first control or rule server and an API server for transmitting an SMS message using an API via an SMS gateway communicating with an SMSC of an MNO, wherein the API server receives a first API call from a first user terminal, assigns a message ID to one or more recipients determined by the first call, adds a first message transmission request to a first queue connected to the API server, which includes at least some of the assigned one or more message IDs and a first identifier of a first user of the first user terminal or of an associated first enterprise, and the first control or rule server...A control server connected to the first queue, in a case where a number of first message transfer requests containing the first identifier and received within a first time interval have not reached a first upper limit compared to a first flow rate threshold that is a positive number greater than or equal to 1, adds a second message transfer request to a second queue connected to the first control server, which includes each of the at least one part contained in the first message transfer request, and in a case where the first upper limit has been reached, stops adding the second message transfer request to the second queue until a first predetermined condition is met, wherein a second control serverThe rule server, which is connected to the second queue, transmits an SMS message transmission request to the SMS gateway according to an IP protocol corresponding to the second message generation request. Advantageous effects of the invention
[0018] According to one aspect of the present invention, for the transmission of SMS messages via an SMS gateway communicating with an SMSC of an MNO using an API, an API server assigns a message ID to one or more recipients, determined by an API call received from a user terminal; and adds a first message transmission request to a first queue connected to the API server, which includes at least a portion of the assigned one or more message IDs and an identifier of a user of the user terminal or an associated company. A first control server connected to the first queue performs flow rate control for the identifier to ensure equal treatment with respect to the amount of time required to transmit SMS messages.
[0019] Further features and advantages of the present invention will become apparent from the following description in conjunction with the accompanying drawings. Note that identical reference numerals denote identical or similar components in the accompanying figures. Brief description of the drawing
[0020] The accompanying figures, which are integrated into the description and form part of it, show embodiments of the invention and, together with the description, serve to explain the principles of the invention. Fig. Figure 1 is a diagram illustrating a system for transmitting SMS messages using an API according to an embodiment of the present invention. Fig. Figure 2 is a diagram illustrating the flow in a method for transmitting SMS messages using an API according to an embodiment of the present invention. Description of embodiments
[0021] The following are detailed descriptions of embodiments with reference to the accompanying figures. It should be noted that the following embodiments are not intended to limit the scope of the claimed invention, nor is there any limitation to an invention that requires a combination of all features described in the embodiments. Two or more of the several features described in the embodiments can be suitably combined. Furthermore, identical reference numerals are assigned to identical or similar embodiments, and redundant descriptions of these are omitted.
[0022] Embodiments of the present invention are described in detail below with reference to the drawing.
[0023] Fig. Figure 1 shows a system according to an embodiment of the present invention. The system is a system 100 for transmitting SMS messages using an API. The system 100 receives an API call from a user terminal device 110, which is used by a user to transmit an SMS message, and transmits an SMS message transmission request to an SMS gateway 120-1.
[0024] Here, SMS Gateway 120-1 is a system that communicates with System 100 using an IP protocol and with an SMSC (not shown) of an MNO using an SMPP protocol, a MAP (Mobile Application Part) protocol, or the like. Specifically, SMS Gateway 120-1 includes, for example, an SMPP (Short Message Peer-to-Peer) server connected to the SMSC and an SMPP client that communicates with the SMPP server, with System 100 sending a message transfer request to the SMPP client. The SMPP client can be conceptually included as part of System 100; however, in this description, System 100 is primarily described using an example that does not include the SMPP client.Furthermore, multiple SMS gateways, as described below, may be present, and one of these may be selected as the recipient of the message transfer request. Fig. Figure 1 shows a second SMS gateway, 120-2, in addition to the first SMS gateway, 120-1. For clarity, the first SMS gateway, 120-1, will be referred to simply as "SMS gateway 120" below.
[0025] System 100 can include an API server 101, which receives an API call and assigns a message ID to one or more recipients included in the call; a first control server 103, which receives a first message transmission request generated by API server 101 and added to a first queue 102-1, and selects the SMS gateway 120 for each recipient included in the first message transmission request as needed; and a second control server 105, which receives a second message transmission request generated by the first control server 103 and added to a second queue 104-1 for each message ID, and transmits a transmission request to the SMS gateway 120 according to an IP protocol that supports the second message transmission request.
[0026] There are cases where an API call includes a campaign ID to identify a "campaign" and cases where a campaign sends a message with the same, similar, or related content to multiple recipients for a specific purpose. As described below, in a case where no campaign ID is included, a request can be added to a first one-off queue (102-2) and a second one-off queue (104-2).
[0027] The API server 101 includes a communication unit 101-1, such as a communication interface; a processing unit 101-2, such as a processor, CPU, or the like; and a storage unit 101-3, such as a storage device or storage medium containing memory, a hard disk, or the like, and can be configured to execute a program for carrying out any process. The API server 101 can include one or more servers. Furthermore, the program can include one or more programs or can be a non-temporary program product stored on a computer-readable storage medium.The program can be stored in storage unit 101-3, or in a storage device or on a storage medium, such as a database or the like, which the API server 101 can access from an IP network, and the program can be executed in processing unit 101-2. Data described as being stored in storage unit 101-3 can also be stored in the database, and vice versa.
[0028] Fig.Figure 2 shows the process of a method for providing an API for transmitting SMS messages according to an embodiment of the present invention. First, the API server 101 receives a call to the API provided by the API server 101 from the user terminal device 110 (S201). The API server 101, receiving the call, assigns a message ID to one or more recipients determined by the call and stores this ID in the storage unit 103-1 in association with the corresponding recipient (S202).
[0029] The request can include one or more recipients, one or more message bodies, a user or associated company identifier or related authentication information, and a campaign ID. If multiple recipients are linked to and stored on API Server 101 for message delivery within a campaign identified by a campaign ID, API Server 101 can identify the recipients based on the campaign ID included in the request, even if the recipients themselves are not explicitly stated in the request. If the message body is not the same for every recipient, a separate message body is prepared for each recipient.
[0030] The API call can be described as follows, for example. In this example, the endpoint is different for each campaign ID, represented by campaignld.
[0031] In a case where the campaign ID is included in the call, API server 101 stores the association of one or more campaign IDs and the number of calls containing each campaign ID, received within a certain time period, in memory unit 101-3. Whenever a new call is received, it updates this information by incrementing the number of calls according to the campaign ID included in the call (S203). If the number of calls corresponding to the campaign ID included in a new call is less than or equal to a call threshold (a positive number greater than or equal to 1), API server 101 can respond to user device 110 with a success response. If the number is greater than or equal to the call threshold, API server 101 can respond to user device 110 with an error response.More generally, if the number of calls containing the campaign ID (determined by a new call) is compared to a call threshold and the call limit has been reached, API server 101 may not receive the call and may respond to user device 110 with an error response. Conversely, if the call limit has not been reached, API server 101 may receive the call and respond to user device 110 with a success response (S204). Whether or not the API receives the call can be determined either after or before the call count is incremented.
[0032] The number of calls received within a given time period maintained by the link can be calculated and updated as time elapses, or, if the call threshold is exceeded, a certain remaining time can be counted down, and the number of calls can be reset when this remaining time reaches 0 seconds. An example of a call threshold is 600 calls within a 60-second period. Another example is a remaining time of 35 seconds.
[0033] Next, API server 101 adds an initial message transfer request to the first queue 102-1 connected to API server 101. This request includes at least part of the assigned one or more message IDs and an identifier of a user of the user terminal 110 or an associated company. The added initial message transfer request is received by the first control server 103, which accesses the first queue 102-1 periodically or discontinuously to retrieve data (S205).
[0034] The first message transmission request received by the first control or rule server 103 can contain one or more recipients, one or more message IDs, one or more message bodies, and an identifier for a user or associated organization. If the message body is not the same for every recipient, a separate message body is prepared for each recipient. If multiple recipients are included, the same number of message IDs are included.
[0035] The first message transmission request can be described as follows, for example. In this example, the identifier of the user or the associated company is represented by operatorld, and the message body is the same for all recipients.
[0036] The first control or rule server 103 updates an initial link between the one or more identifiers and the number of initial message transmission requests containing each identifier and received within an initial predetermined time period by incrementing the number of requests for identifiers included in the received initial message transmission request (S206).
[0037] In a case where the call received by API server 101 does not include a campaign ID and a single recipient, API server 101 can assign a single message ID to the call and add the first message transfer request containing the single recipient and message ID to the first one-time queue 102-2, which is separate from the previously described first queue 102-1 for one-time messages. Splitting the queue in this way allows a one-time message transfer request, which is most likely to have higher urgency, to be quickly sent to the first control / rule server 103.Rule server 103, which receives the transfer request, can add a second message transfer request, containing the single recipient and the single message ID, to the second one-time queue 104-2, which is selected according to the single recipient. The second control / rule server 105 is connected to the second one-time queue 104-2 in addition to the second queue 104-1.
[0038] If the number of requests within the first predetermined time interval is less than or equal to a first flow rate threshold, which is a positive number greater than or equal to 1, the first control server 103 adds a second message transmission request to the second queue 104-1 for each message ID. If the number of requests is greater than or equal to the first flow rate threshold, the first control server 103 suspends processing the addition to the second queue until a first remaining time has elapsed. More generally, if the number of requests within the first time interval is compared to the first flow rate threshold and a first upper limit has not been reached, the first control server 103 generates a second message transmission request.Rule server 103 receives the second message transfer request, containing each addressee included in the first message transfer request, and adds it to the second queue 104-1. If the first limit has been reached, processing the addition of the second message transfer request is paused until the first remaining time has elapsed. If the first message transfer request does not contain a campaign ID, the first control server 103, receiving the first message transfer request, cannot perform the flow rate control described above and can add the second message transfer request for each message ID corresponding to the first message transfer request to the second one-time queue 104-2 without reducing its priority.
[0039] The request received from API server 101, or the first message transfer request received from the first control / rule server 103, which "does not contain a campaign ID," can leave the campaign ID field blank or enter an invalid number. This can be more generally replaced by "does not contain a valid campaign recipient."
[0040] The first control server 103 can select the SMS gateway 120-1 for use according to the recipient included in the second message transmission request. Instead of selecting the SMS gateway 120-1 directly, the second queue 104-1, which is associated with the SMS gateway 120-1 or the second control server 105, can be selected. In a case where the second queue 104-1, or the associated second control server 105, or the SMS gateway 120-1 is selected and used according to the recipient, the first flow rate threshold can also be set to a value determined for the selected second queue 104-1, the associated second control server 105, or the SMS gateway 120-1 according to the selection. If multiple SMS gateways are used, the load is distributed.It is therefore preferable for every SMS gateway if the throughput rate is controlled or regulated in such a way that the inequality between users is not large.
[0041] Every second message transfer request added to the second queue 104-1 or the second one-off queue 104-2 is received by the second control / rule server 105, which accesses the second queue 104-1 or the second one-off queue 104-2 periodically or discontinuously to retrieve data (S207). The second message transfer request received by the second control / rule server 105 can contain a single addressee, a single message ID, a single message body, and an identifier of a user or associated organization.
[0042] The second message transmission request can be described, for example, as follows.
[0043] The number of requests received in the first predetermined time interval held by the first link can be calculated and updated over time, or, if the first flow rate threshold is exceeded, a predetermined first remaining time can be counted down, and the number of requests can be reset when the first remaining time reaches 0 seconds. More generally, the first control / rule server 103 can pause processing the addition of the second message transmission request until a first predetermined condition, such as the one described above, is met. An example of a first flow rate threshold is 600 requests within a first predetermined time interval of 30 seconds. Another example is a first remaining time of 20 seconds.Preferably, the initial flow rate is greater than the call threshold.
[0044] The second control server 105 updates the number of second message transmission requests received within a second predetermined time period by incrementing it (S208). If the number of requests within the second predetermined time period is less than or equal to a second flow rate threshold, which is a positive number greater than or equal to 1, the second control server 105 transmits an SMS message transmission request to the SMS gateway 120 according to an IP protocol (S209). If the number of requests is greater than or equal to the second flow rate threshold, the process is stopped. More generally, if the number of requests within the second predetermined time period is compared to the second flow rate threshold and a second upper limit has not been reached, the second control server 105 transmits a second message transmission request to the SMS gateway 120 according to an IP protocol (S209).Rule server 105 sends an SMS transmission request according to an IP protocol to SMS gateway 120 (S209). If the second limit is reached, processing is paused until a second remaining time has elapsed.
[0045] The number of requests received in the second predetermined time interval stored in the second control / rule server 105 can be calculated and updated over time, or, if the second flow rate threshold is exceeded, a predetermined second remaining time can be counted down, and the number of requests can be reset when the second remaining time reaches 0 seconds. More generally, the second control / rule server 105 can pause the processing of the SMS message transfer request until a second predetermined condition, such as the one described above, is met. An example of the second flow rate threshold is 30 requests within a second predetermined time interval of 1 second. Another example is a second remaining time of 1 second.The second flow rate threshold can be determined for the selected second queue 104-1 or the associated second control server 105 or the SMS gateway 120-1. Preferably, the first flow rate threshold is lower than the second flow rate threshold.
[0046] The second control server 105 can be capable of transmitting an SMS message transfer request to multiple SMS gateways, rather than to a single SMS gateway determined according to the recipient included in the second message transfer request. In this case, the second control server 105 can maintain a second link between one or more SMS gateway IDs and the number of second message transfer requests containing each SMS gateway ID that are received within the second predetermined time period, store the throughput rate for each SMS gateway, and control the throughput rate using the second throughput rate threshold of each SMS gateway. Preferably, the first throughput rate threshold is lower than the second throughput rate threshold of each SMS gateway.
[0047] As described above, implementing flow rate control or regulation for the user or each associated company in the first control or regulation server 103 ensures equal treatment regarding the amount of time required to transmit SMS messages. Additionally, implementing flow rate control or regulation can prevent the condition defined for each SMS gateway from being exceeded and SMS transmission requests from being sent.
[0048] As described above, the processes involving API server 101, the first control / rule server 103, and the second control / rule server 105, which together form system 100, are separate, and data exchange between the servers is carried out via queues. However, data can also be sent between the servers without necessarily using queues, and the processing can be performed partially or entirely by the same server. In a case where the same server performs the majority of the processing, the processing described as sending data between servers can simply correspond to generating data on the server and reading it back.
[0049] Note that in the embodiment described above, if "only" is not used, for example in connection with "only based on," "only according to," and "in a case where only," it should be clear that additional information is to be expected. Furthermore, for example, the phrase "in a case where a and then b" does not necessarily mean "in a case where a and then always b" or "a is followed by b," unless explicitly stated. Moreover, the phrase "each constituent a" does not mean that a is necessarily formed by several components, but also includes the possibility that a single component is given.
[0050] It should also be mentioned that in the case of a certain method, program, terminal, device, server or system (all hereinafter referred to as methods and the like), even if there are aspects in which processes differ from those described in the present description, the aspects of the present invention relate to the same processes as those described in the present description, the presence of processes different from those described in the present description not excluding the method and the like from the scope of the aspects of the present invention.
[0051] The invention is not limited to the embodiments described above, and various modifications / changes within the nature of the invention are possible.
[0052] The present application claims priority over Japanese patent application No. 2022-108130, filed on July 5, 2022, which is hereby incorporated by reference. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] JP 2022-108130
[0052]
Claims
[1] A method for transmitting an SMS message using an API via an SMS gateway communicating with an SMSC of an MNO, the method comprising: receiving a first call to the API from a first user terminal by an API server; Assignment of a message ID by the API server to one or more recipients determined by the first call; adding, by the API server, a first message transmission request including at least a portion of the assigned one or more message IDs and a first identifier of a first user of the first user terminal or an associated first company to a first queue connected to the API server; and in a case where a number of the first message transmission requests including the first identifier and received within a first time period has not reached a first upper limit compared to a first flow rate threshold (which is a positive number greater than or equal to 1), adding, by a first control server connected to the first queue, a second message transmission request including each of the at least one part included in the first message transmission request to a second queue connected to the first control server, and in a case where the first upper limit has been reached, by the first control serverstopping the addition of the second message transmission request to the second queue until a first predetermined condition is met, wherein a second control server connected to the second queue transmits to the SMS gateway an SMS message transmission request according to an IP protocol corresponding to the second message generation request. [2] The method of claim 1, wherein the call includes one or more message main texts. [3] The method of claim 1, further comprising: in a case where a number of calls to the API containing a campaign ID determined by the first call and received within a certain period of time has not reached a call limit compared to a call threshold (which is a positive number greater than or equal to 1), the API server adding the first message transmission request to the first queue; and Responding by the API server to the first user terminal with an error response in a case where the request limit has been reached. [4] The method of claim 3, wherein the first flow rate threshold is greater than the call threshold. [5] The method of claim 1, wherein in a case where a number of the second message generation requests received within a second time period has not reached a second upper limit compared to a second flow rate threshold that is a positive number greater than or equal to 1, the second control server transmits the SMS message transmission request to the SMS gateway. [6] Method according to claim 5, wherein the second message transmission request includes an addressee according to a message ID included in the second message transmission request, and the second queue is selected by the first control server according to an addressee included in the second message transmission request. [7] Method according to claim 6, wherein the first flow rate threshold is a value that is valid for the selected second queue or the second control server or the SMS gateway, which are associated with it. [8] The method of claim 1 or 6, further comprising: the API server receiving a second call to the API from a second user device that does not contain a valid campaign name and contains a single recipient; the API server assigns a single message ID to the second call; and adding, by the first control or rule server, a second message transmission request containing the single addressee and the single message ID to a one-time queue associated with the second control or rule server. [9] The method of claim 6, wherein the second flow rate threshold is a value determined for the selected second queue or the second control server or SMS gateway associated therewith. [10] The method of claim 9, wherein the first flow rate threshold is less than the second flow rate threshold. [11] A program for causing a system comprising an API server and a first control server to perform a method for transmitting an SMS message using an API via an SMS gateway communicating with an SMSC of an MNO, the method comprising: receiving a first call to the API from a first user terminal by an API server; Assignment of a message ID by the API server to one or more recipients determined by the first call; adding, by the API server, a first message transmission request including at least a portion of the assigned one or more message IDs and a first identifier of a first user of the first user terminal or an associated first company to a first queue connected to the API server; and in a case where a number of the first message transmission requests including the first identifier and received within a first time period has not reached a first upper limit compared to a first flow rate threshold (which is a positive number greater than or equal to 1), adding, by a first control server connected to the first queue, a second message transmission request including each of the at least one part included in the first message transmission request to a second queue connected to the first control server, and in a case where the first upper limit has been reached, by the first control serverstopping the addition of the second message transmission request to the second queue until a first predetermined condition is met, wherein a second control server connected to the second queue transmits to the SMS gateway an SMS message transmission request according to an IP protocol corresponding to the second message generation request. [12] A system comprising a first control server and an API server for transmitting an SMS message using an API via an SMS gateway communicating with an SMSC of an MNO, wherein the API server receives a first call to the API from a first user terminal, assigns a message ID to one or more recipients determined by the first call, adding to a first queue connected to the API server a first message transmission request including at least a portion of the assigned one or more message IDs and a first identifier of a first user of the first user terminal or an associated first company, and the first control or rule server connected to the first queue, in a case where a number of the first message transmission requests including the first identifier and received within a first time period has not reached a first upper limit compared to a first flow rate threshold (which is a positive number greater than or equal to 1), adding to a second queue connected to the first control server a second message transmission request including each of the at least one part included in the first message transmission request, and in a case where the first upper limit has been reached, stopping the addition of the second message transmission request to the second queue until a first predetermined condition is met, wherein a second control server connected to the second queue transmits to the SMS gateway an SMS message transmission request according to an IP protocol corresponding to the second message generation request.
Citation Information
Patent Citations
JAPANISCHENPATENTANMELDUNGNR.2022-108130