Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(CW) Notify Member option under board configuration does not work #151

Open
Nness opened this issue Nov 26, 2019 · 1 comment
Open

(CW) Notify Member option under board configuration does not work #151

Nness opened this issue Nov 26, 2019 · 1 comment
Labels
connectwise-only integration issue Issue relates to a DeskDirector integration

Comments

@Nness
Copy link
Contributor

Nness commented Nov 26, 2019

This issue is related to ConnectWise APIv3, where the new API does not respect Service Board's notify member setting.

2019-11-27_09h28_56

The work around is to use Automatic Email options in following setting
2019-11-27_09h31_01

@Nness Nness added integration issue Issue relates to a DeskDirector integration connectwise-only labels Nov 26, 2019
@Nness
Copy link
Contributor Author

Nness commented Dec 2, 2019

Many customer have question regarding this issue, where they use notify member option before, never had problem, but now they have. The answer is related to ConnectWise's API design.

ConnectWise had 3 API. (v1.5, v2.0 and v3.0).

  • v1.5 SOAP API, payload is XML SOAP envelop.
  • v2.0 SOAP API, payload is XML SOAP envelop.
  • v3.0 RESTful API, payload is JSON.

v1.5 and v2.0 are pretty much similar. But v3.0 is completely different beast. The fundamental difference is not only from its payload but also from its perspective.

v1.5 and v2.0 They focus on general purpose API. That means the perspective or personality of the API is stand at neutral point of view. Where itself is not act on behalf of any user. In that way, you can use API to create ticket on behalf of any user, include contact, or member.

v3.0 The root of this API is from member point of view. Even the authorization is from API member. That means any API been used is act on behalf of API member. It is not stand as neutral.

When creating ticket or ticket note through API v3.0, from ConnectWise system point of view, it is always created by a member. Even though it is API member. This cause huge problem from the end result. It causes following problems.

  • Notify member not been triggered. Because note is added by API member as member, not as contact.
  • Initial description of ticket is logged by API member, not contact. It's just because it is API member who created ticket. API member is a human.
  • Ticket received email, Note added email all display they are logged by API member. Author is also API member. Because API member is human.

Until ConnectWise introduce additional API to resolve those perspective issue, it will be something that is hard to resolve.


Here is more technical point of view. For API design, ConnectWise's RESTful API design have problem start at routing.

Tickets routing is under: /service/tickets. For such routing, it can only act on behalf of itself (API member) or on behalf of nothing.

Other kind of design could be following.

  • /contacts/{contactId}/service/tickets. This means we want to get tickets by that contact, or create ticket by that contact.
  • /members/{memberId}/service/tickets. Similar as contact, this is on behalf of member.
  • /service/tickets. This is for general purpose, serve as admin that can access to all tickets. Or create ticket by system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
connectwise-only integration issue Issue relates to a DeskDirector integration
Projects
None yet
Development

No branches or pull requests

1 participant