Messaging Service


Messaging Service


Create a new message for an user
Resource: messages 

URLhttps://api-stage.bimplus.net/v2/messages

Examplehttps://api-stage.bimplus.net/v2/messages

JSON Structure

Name

Mandatory / Optional

Type

Description

id

will be ignored

string

Id of the message

receiver

mandatory

object

receiver user object (contains id & email).
When 'Id' is user id, must be defined also 'email' string property with email address of the user. Email will be sent only to this address.
When 'Id' is group id, email will be sent to all users which belongs to this group.

senderoptionalobjectsender user object (contains id & email)
idmandatorystring(guid)id of the user
emailmandatorystringemail id of the user

source

mandatory

string

Source of the message (eg: Import Service)

topic

mandatory

string

Topic of the message

severity

mandatory

object

Severity can be Info, Warning, Error

returnCode

mandatory

string

Readable return code

timestampwill be ignoredstringCreation date of the message
unreadEmailoptionalboolean

When 'unreadEmail' is missing the default value is true.
If set to true or default, the message will me marked as an email ( yet unread ), and sent via email service.
If it is set as false the message will be marked as a "read" (collect) email

unreadBrowserNotificationoptionalboolean

When 'unreadBrowserNotification' is missing the default value is true.
If set to true or default, the message will be marked as browser notification ( yet unread ) and send to the Bimplus portal as popup message.
If it is set as false the message will be marked as a "read" (collect) browser notification.

additionalDataoptionalstringExtra info
correlationIdoptionalguidId of the other related message
 POST
 Create a new message for an user.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
{
    "sender": {
            "id": "1110ac3b-fa49-e540-ac2f-8caff3dd72ed"
    },
    "receiver": {
            "id": "1e2223b-fa49-e540-ac2f-8caff3dd72ed"
    },
    "source": "ServiceName",
    "topic": "SKETCHUP_JOB",
    "severity": "Warn",
    "returncode": "FILE_TOO_BIG",
    "unreadBrowserNotification": true
}
Status: 201 Created
{
    "id": "4633d522-53aa-4d81-90b4-704681e0573d",
    "sender": {
            "id": "1110ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer1@bimplus.net"
    },
    "receiver": {
            "id": "1e2223b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer2@bimplus.net"
    },
    "source": "ServiceName",
    "topic": "SKETCHUP_JOB",
    "severity": "Warn",
    "returncode": "FILE_TOO_BIG",
    "unreadBrowserNotification": true,
    "timestamp": "2013-11-15T10:55:53"
}

Get the message list of the current user
Resource: user/<user_id>/messages 

URLhttps://api-stage.bimplus.net/v2/user/<user_id>/messages

Examplehttps://api-stage.bimplus.net/v2/user/123456789/messages

 GET
 Gets the message list of the current user
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK
[
    {
        "id": "481713d6-7dab-410c-8c8a-d65ff1d4a766",
        "sender": {
            "id": "1110ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer1@bimplus.net"
        },
        "receiver": {
            "id": "1e2223b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer2@bimplus.net"
        },
        "source": "ServiceName2",
        "topic": "SKETCHUP_JOB",
        "severity": "Info",
        "returncode": "FILE_TOO_BIG",
        "timestamp": "2013-11-18T14:55:22",
        "unreadBrowserNotification": false,
        "unreadEmail": false,
        "additionaldata": null,
        "correlationid": null
    },
    {
        "id": "93c29c5d-1391-4ae8-8876-ef9815e60f7d",
        "sender": {
            "id": "1110ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer1@bimplus.net"
        },
        "receiver": {
            "id": "1e2223b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer2@bimplus.net"
        },
        "source": "ServiceName",
        "topic": "IFC_JOB",
        "severity": "Info",
        "returncode": "OK",
        "timestamp": "2013-11-18T14:30:53",
        "unreadBrowserNotification": true,
        "unreadEmail": false,
        "additionaldata": null,
        "correlationid": null
    }
]


Get information about a specified message
Resource: messages 

URLhttps://api-stage.bimplus.net/v2/messages/<message_id>

Examplehttps://api-stage.bimplus.net/v2/messages/<message_id>


 GET
 Get information about a specified message
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK
{
    "id": "93c29c5d-1391-4ae8-8876-ef9815e60f7d",
    "sender": {
            "id": "1110ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer1@bimplus.net"
    },
    "receiver": {
            "id": "1e2223b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer2@bimplus.net"
    },
    "source": "ServiceName",
    "topic": "IFC_JOB",
    "severity": "Info",
    "returncode": "OK",
    "timestamp": "2013-11-18T14:30:53",
    "unreadBrowserNotification": true,
    "unreadEmail": false,
    "additionaldata": null,
    "correlationid": null
}


Delete the specified message
Resource: messages/<message_id> 

URLhttps://api-stage.bimplus.net/v2/messages/<message_id>

Examplehttps://api-stage.bimplus.net/v2/messages/<message_id>

 DELETE
 Delete the specified message.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK


Mark a browser message as "read"
Resource: messages/<message_id>/markasreadbrowser 

URLhttps://api-stage.bimplus.net/v2/messages/<message_id>/markasreadbrowser 

Examplehttps://api-stage.bimplus.net/v2/messages/<message_id>/markasreadbrowser 

 POST
 Mark a message as read by browser.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK
Mark a browser message as "unread"
Resource: messages/<message_id>/markasunreadbrowser 

URLhttps://api-stage.bimplus.net/v2/messages/<message_id>/markasunreadbrowser 

Examplehttps://api-stage.bimplus.net/v2/messages/<message_id>/markasunreadbrowser 

 POST
 Mark a message as unread by browser.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK
Mark an email message as "unread"
Resource: messages/<message_id>/markasunreademail 

URLhttps://api-stage.bimplus.net/v2/messages/<message_id>/markasunreademail

Examplehttps://api-stage.bimplus.net/v2/messages/<message_id>/markasunreademail

 POST
 Mark an email message as unread.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK

Filter the messages (eg: Get all the unread messages from a particular user)
Resource: messages?filter=<property><operator><value>%26<property><operator><value>%26....

URLhttps://api-stage.bimplus.net/v2/messages?filter=unread=true%26receiver.email=customer@bimplus.net%26source=IssueService

Examplehttps://api-stage.bimplus.net/v2/messages?filter=unread=true%26receiver.email=customer@bimplus.net%26source=IssueService

where "%26" is the escape character for "&"

 GET
 Get information about a specified message
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK
[
    {
        "id": "44ad058b-1f76-4343-bafa-031eb462215c",
        "receiver": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer@bimplus.net"
        },
        "sender": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "testuser1@bimplus.net"
        },
        "source": "IssueService",
        "topic": "ISSUE_DELETED",
        "severity": "Info",
        "returnCode": "ISSUE_DELETED",
        "timestamp": "2014-05-09T09:54:17",
        "unreadBrowserNotification": true,
        "unreadEmail": false,
        "correlationId": null
    },
    {
        "id": "0a4c8eab-26af-49ce-9191-049a141ba762",
        "receiver": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer@bimplus.net"
        },
        "sender": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "testuser1@bimplus.net"
        },
        "source": "IssueService",
        "topic": "ISSUE_UPDATED",
        "severity": "Info",
        "returnCode": "ISSUE_UPDATED",
        "timestamp": "2014-04-08T08:54:41",
        "unreadBrowserNotification": false,
        "unreadEmail": false,
        "correlationId": "de96f4ae-79fd-4d83-99e9-07cec7a80906"
    },
    {
        "id": "ffd50096-fb82-4029-8d49-06a04e31f02a",
        "receiver": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "customer@bimplus.net"
        },
        "sender": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "testuser2@bimplus.net"
        },
        "source": "IssueService",
        "topic": "ISSUE_DELETED",
        "severity": "Info",
        "returnCode": "ISSUE_DELETED",
        "timestamp": "2014-05-09T09:54:27",
        "unreadBrowserNotification": false,
        "unreadEmail": true,
        "correlationId": null
    }
]