### 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_
"key": [{"prefix": "auto-"}],
            "nested_key": [{"exists": False}],
        }
        payload = {
            "key": "auto-test",
        }
        We can now properly evaluate the conditions on the same level of depth in the dict object.
        As it passes the filter policy, we then continue to evaluate the top keys, going back to "test".
        :param filter_policy: a dict, starting at the FilterPolicy
        :param payload: a dict, starting at the MessageBody
        :return: True if the payload respect the filter policy, otherwise False
        """
        for field_name, values in filter_policy.items():
            
            if not isinstance(values, list):
                if not self._evaluate_nested_filter_policy_on_dict(
                    values, payload.get(field_name, {})
                ):
                    return False
            else:
                
                if not any(
                    self._evaluate_condition(
                        payload.get(field_name), condition, field_exists=field_name in payload
                    )
                    for condition in values
                ):
                    return False
        return True
    def _evaluate_filter_policy_conditions_on_attribute(