### Is there an existing issue for this?

- [X] I have searched the existing issues

### Feature description

SNS allows for the publishing of messages to an SMS destination with a phone number. Those messages are logged and stored in the `SnsStore`, but there is no way to retrieve them for verification. The request here is to expose a new endpoint which returns SMS messages from the store, similar to the one made available to retrieve email messages sent via SES.

### 🧑‍💻 Implementation

The `SNSServicePlatformEndpointMessagesApiResource` class makes endpoints available for accessing platform endpoint messages sent via SNS. A similar resource class could be implemented to provide new endpoints for accessing SMS messages.

Given that interaction platform endpoint messages is exposed at the path `/_aws/sns/platform-endpoint-messages`, SMS message interaction would presumably be exposed at `/_aws/sns/sms-messages`. A `GET` endpoint could accept an optional `phoneNumber` query parameter to filter messages based on the destination phone number.

```python
class SNSServiceSMSMessagesApiResource:
  @route(sns_constants.SMS_MSGS_ENDPOINT, methods=["GET"])
    def on_get(self, request: Request):
      account_id = #...
      region = #...
      filter_phone_number = request.args.get("phoneNumber")
      # get store; conditionally filter messages based on filter_phone_number
```

### Anything else?

_No response_
if "default" not in message and not is_endpoint_publish:
                    raise InvalidParameterException(
                        "Invalid parameter: Message Structure - No default entry in JSON message body"
                    )
            except json.JSONDecodeError:
                raise InvalidParameterException(
                    "Invalid parameter: Message Structure - JSON message body failed to parse"
                )
        if message_attributes:
            validate_message_attributes(message_attributes)
        if not phone_number:
            
            parsed_arn = parse_and_validate_topic_arn(topic_or_target_arn)
            store = self.get_store(account_id=parsed_arn["account"], region_name=context.region)
            moto_sns_backend = self.get_moto_backend(parsed_arn["account"], context.region)
            if is_endpoint_publish:
                if target_arn not in moto_sns_backend.platform_endpoints:
                    raise InvalidParameterException(
                        "Invalid parameter: TargetArn Reason: No endpoint found for the target arn specified"
                    )
            else:
                if topic_or_target_arn not in store.topic_subscriptions:
                    raise NotFoundException(
                        "Topic does not exist",
                    )
        else:
            
            store = self.get_store(account_id=context.account_id, region_name=context.region)