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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<PostMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel">
  <ApiKey>String</ApiKey>
  <Content>String</Content>
  <Recipients xmlns:d2p1="http://schemas.datacontract.org/2004/07/BusinessLogic.Entities">
    <d2p1:UserDetails>
      <d2p1:GalaxyCompanyId>0</d2p1:GalaxyCompanyId>
      <d2p1:IdNumber>String</d2p1:IdNumber>
    </d2p1:UserDetails>
  </Recipients>
  <ShowInInbox>false</ShowInInbox>
  <Subject>String</Subject>
  <Type>Info</Type>
</PostMessage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<PostMessageResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel">
  <Description xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">String</Description>
  <Heading xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">String</Heading>
  <ModelState xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base" />
  <WasSuccessful xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">false</WasSuccessful>
</PostMessageResponse>