diff --git a/README.md b/README.md index 64aa232..9cb8042 100644 --- a/README.md +++ b/README.md @@ -22,12 +22,13 @@ This server acts as the backend component of the [SMS Gateway for Android](https ## Features -- **SMS Messaging**: Dispatch SMS messages through a RESTful API. +- **SMS Messaging**: Dispatch SMS and data messages through a RESTful API. - **Message Status**: Retrieve status for sent messages. - **Device Management**: View information about connected Android devices. - **Webhooks**: Configure webhooks for event-driven notifications. - **Health Monitoring**: Access health check endpoints to ensure system integrity. - **Access Control**: Operate in either public mode for open access or private mode for restricted access. +- **Data SMS Support**: Send/receive binary payloads via SMS with Base64 encoding and port-based routing. ## Prerequisites diff --git a/pkg/swagger/docs/swagger.json b/pkg/swagger/docs/swagger.json index d5c749d..3862fac 100644 --- a/pkg/swagger/docs/swagger.json +++ b/pkg/swagger/docs/swagger.json @@ -1401,10 +1401,17 @@ "smsgateway.Message": { "type": "object", "required": [ - "message", "phoneNumbers" ], "properties": { + "dataMessage": { + "description": "Data message", + "allOf": [ + { + "$ref": "#/definitions/smsgateway.DataMessage" + } + ] + }, "id": { "description": "ID (if not set - will be generated)", "type": "string", @@ -1417,7 +1424,7 @@ "example": true }, "message": { - "description": "Content", + "description": "Message content\nDeprecated: use TextMessage instead", "type": "string", "maxLength": 65535, "example": "Hello World!" @@ -1452,6 +1459,14 @@ "maximum": 3, "example": 1 }, + "textMessage": { + "description": "Text message", + "allOf": [ + { + "$ref": "#/definitions/smsgateway.TextMessage" + } + ] + }, "ttl": { "description": "Time to live in seconds (conflicts with `validUntil`)", "type": "integer", @@ -1603,7 +1618,6 @@ "smsgateway.MobileMessage": { "type": "object", "required": [ - "message", "phoneNumbers" ], "properties": { @@ -1612,6 +1626,14 @@ "type": "string", "example": "2020-01-01T00:00:00Z" }, + "dataMessage": { + "description": "Data message", + "allOf": [ + { + "$ref": "#/definitions/smsgateway.DataMessage" + } + ] + }, "id": { "description": "ID (if not set - will be generated)", "type": "string", @@ -1624,7 +1646,7 @@ "example": true }, "message": { - "description": "Content", + "description": "Message content\nDeprecated: use TextMessage instead", "type": "string", "maxLength": 65535, "example": "Hello World!" @@ -1659,6 +1681,14 @@ "maximum": 3, "example": 1 }, + "textMessage": { + "description": "Text message", + "allOf": [ + { + "$ref": "#/definitions/smsgateway.TextMessage" + } + ] + }, "ttl": { "description": "Time to live in seconds (conflicts with `validUntil`)", "type": "integer", @@ -2021,6 +2051,7 @@ "type": "string", "enum": [ "sms:received", + "sms:data-received", "sms:sent", "sms:delivered", "sms:failed", @@ -2028,6 +2059,7 @@ ], "x-enum-varnames": [ "WebhookEventSmsReceived", + "WebhookEventSmsDataReceived", "WebhookEventSmsSent", "WebhookEventSmsDelivered", "WebhookEventSmsFailed", diff --git a/pkg/swagger/docs/swagger.yaml b/pkg/swagger/docs/swagger.yaml index 21bc44c..482d23e 100644 --- a/pkg/swagger/docs/swagger.yaml +++ b/pkg/swagger/docs/swagger.yaml @@ -187,6 +187,10 @@ definitions: - LogEntryPriorityError smsgateway.Message: properties: + dataMessage: + allOf: + - $ref: "#/definitions/smsgateway.DataMessage" + description: Data message id: description: ID (if not set - will be generated) example: PyDmBQZZXYmyxMwED8Fzy @@ -197,7 +201,9 @@ definitions: example: true type: boolean message: - description: Content + description: |- + Message content + Deprecated: use TextMessage instead example: Hello World! maxLength: 65535 type: string @@ -225,6 +231,10 @@ definitions: example: 1 maximum: 3 type: integer + textMessage: + allOf: + - $ref: "#/definitions/smsgateway.TextMessage" + description: Text message ttl: description: Time to live in seconds (conflicts with `validUntil`) example: 86400 @@ -239,7 +249,6 @@ definitions: example: true type: boolean required: - - message - phoneNumbers type: object smsgateway.MessagePriority: @@ -344,6 +353,10 @@ definitions: description: Message creation time example: "2020-01-01T00:00:00Z" type: string + dataMessage: + allOf: + - $ref: "#/definitions/smsgateway.DataMessage" + description: Data message id: description: ID (if not set - will be generated) example: PyDmBQZZXYmyxMwED8Fzy @@ -354,7 +367,9 @@ definitions: example: true type: boolean message: - description: Content + description: |- + Message content + Deprecated: use TextMessage instead example: Hello World! maxLength: 65535 type: string @@ -382,6 +397,10 @@ definitions: example: 1 maximum: 3 type: integer + textMessage: + allOf: + - $ref: "#/definitions/smsgateway.TextMessage" + description: Text message ttl: description: Time to live in seconds (conflicts with `validUntil`) example: 86400 @@ -396,7 +415,6 @@ definitions: example: true type: boolean required: - - message - phoneNumbers type: object smsgateway.MobileRegisterRequest: @@ -674,6 +692,7 @@ definitions: smsgateway.WebhookEvent: enum: - sms:received + - sms:data-received - sms:sent - sms:delivered - sms:failed @@ -681,6 +700,7 @@ definitions: type: string x-enum-varnames: - WebhookEventSmsReceived + - WebhookEventSmsDataReceived - WebhookEventSmsSent - WebhookEventSmsDelivered - WebhookEventSmsFailed