GalaxyMobile App API

<back to all web services

PostMessage

The following routes are available for this service:
POST/galaxy/sendmessageSends a push message to users, notifying them of a message in the app.
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ApiServiceResponse(IServiceResponse):
    description: Optional[str] = None
    heading: Optional[str] = None
    was_successful: bool = False
    model_state: Optional[Object] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PostMessageResponse(ApiServiceResponse):
    pass


# @Flags()
class MessageType(IntEnum):
    INFO = 1
    MARKETING = 2
    POLICY = 3
    ANNOUNCEMENT = 4
    GENERAL = 5
    CLAIM = 6


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UserDetails:
    id_number: Optional[str] = None
    galaxy_company_id: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PostMessage(ILogRequest, IHasApiKey):
    # @ApiMember(DataType="MessageType", Description="The type of message being sent.", IsRequired=true)
    type: Optional[MessageType] = None
    """
    The type of message being sent.
    """


    # @ApiMember(DataType="string", Description="The subject of the message", IsRequired=true)
    subject: Optional[str] = None
    """
    The subject of the message
    """


    # @ApiMember(DataType="string", Description="The content of the message", IsRequired=true)
    content: Optional[str] = None
    """
    The content of the message
    """


    # @ApiMember(Description="The recipients who will be receiving the message", IsRequired=true)
    recipients: Optional[List[UserDetails]] = None
    """
    The recipients who will be receiving the message
    """


    # @ApiMember(Description="The API Key required for authentication", IsRequired=true)
    api_key: Optional[str] = None
    """
    The API Key required for authentication
    """


    # @ApiMember(Description="If set, the message will be displayed in the user's inbox in the app. Otherwise will just be a push notification.", IsRequired=true)
    show_in_inbox: bool = False
    """
    If set, the message will be displayed in the user's inbox in the app. Otherwise will just be a push notification.
    """

Python PostMessage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /galaxy/sendmessage HTTP/1.1 
Host: galaxymobile.api.dev.86degrees.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Type":1,"Subject":"String","Content":"String","Recipients":[{"IdNumber":"String","GalaxyCompanyId":0}],"ApiKey":"String","ShowInInbox":false}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Description":"String","Heading":"String","WasSuccessful":false,"ModelState":{}}