Forum Discussion

jrash06's avatar
jrash06
Contributor
7 years ago

Is there an API to send and receive messages for Lithium Messaging

Hi,

 

My company wants to build a server app that proxies customers' chat. We want to connect to Lithium Messaging service and send / receive messages at the server. The UI part will be built by us and connect to our server.

 

Does Lithium Messaging have an API for that usecase.

 

Regards

  • AdamCo's avatar
    AdamCo
    Khoros Alumni (Retired)

    jrash06 - If you are referring to the new Lithium Messenger offering - yes.

    In fact, we have a customer already live with this deployment pattern.  Simply said, there is a web hook you register to receive new messages and an API to send a message - so essentially you just relay messages in both directions.

    Note that there is a server side solution for this as you ask, but our client-side SDK allows registering handlers for events -if that is part of your use case too.

    When you are interested, I can get you more docs (we have published them yet).

  • jrash06 It depends on the particular use case...

    For example: Who is going to message who, e.g. is it the client who sends out messages to customers (e.g. one user sends messages to many) or users send messages to users? -> Not 100% sure, but afaik you cannot send messages as another user trough the Lithium API, e.g. playing man-in-the-middle between two users chatting is most likely not going to work.

    In general: the messaging API (or the PM module in general) is pretty rudimentary, which is why I would not build custom apps around it. Plus: Lithium is working on a new PM module that is supposed to come out this year, that would also mean, that you might have to rewrite your entire Lithium side code, once this is out or you will be stuck with the primitive old API if you don't.

    If the chats are managed on an external service anyways, it might be easier to entirely replace the Lithium PM module with your own customization, e.g. build a custom UI on Lithium, that interacts trough the http.client with your external services (e.g. fetching PMs, displaying them on Lithiums side in the PM area of the user profile, having some custom forms that are sending the messages to your service etc.). Depending on the implementation a potential challenge could be how you link your chat services users with the Lithium community ones, if it is only dealing with users from Lithium communities that wouldn't be a big deal, but if the service deals with its own user-base, it could be, but as said before, that depends on the implementation. Feel free to contact me if you need professional help with that customization (also "just" the implementation on Lithiums side). Stuff like that is what we do best =)...