Skip to main content
CRMScript
04.28.2021

SHA512 support in CRMScript

Added global function Byte[] encodeHMACSHA512(String key, String value).This function generates and returns a hash from a specified key-value pair using the HMAC SHA512 encoding algorithm. This can be used to ensure data integrity.For more information, see the CRMScript reference.
NetServer

NetServer Logger requirements

NetServer has switched from using a baked-into-the-code logger to using an extensible plugin system of ILogger based loggers.The old logger now lives in SuperOffice.Logging.dll, but you can remove it, replace it, or add more loggers alongside it.All the logger plugins are used - there is no preferential treatment among the ILoggers.
  • For web applications, ASP.NET will load all the DLLs in the bin folder automatically.
  • For console applications, you will need to add the plugins to the <DynamicLoad> section or add explicit references to make sure the DLLs are loaded and found by the class factory.
For more information, see the NetServer documentation.
ChatbotbLogic

Chatbot - CRMScript Chatbots

Chatbots are CRMScripts that can interact with chat sessions. Chatbot functionality in SuperOffice requires the AI license. This enables the Chatbot tab in chat administration.Chatbots are folders that contain one or more CRMScripts with names that fit a pattern:…bot register… signals the presence of a chatbot in the folder.…bot session create… is called when a new chat session starts.…bot session change… is called when the chat session changes state.…bot message receive… is called when a new message is received.The names of the scripts must follow this pattern, but they allow any prefix or suffix you want. echobot register, my bot registered, and BotRegister are all acceptable names for the registration script.The CRMScripts are not called after the chatbot hands the session off to the queue for human processing. The bot message receive script is only called for incoming messages.This removes the need for a bunch of book-keeping logic, simplifying the bot scripts.Read more about chatbots.

New options for bLogic chart element

New Map keys for addSeries:
  • seriesType
  • yaxis2
New actions:
  • setX2Label
  • setY2Label
  • setY2Min
  • setX2Max
  • setAllowY2AxisDecimals
  • setY2AxisInterval
See bLogic reference for details.
Bulk Operations

Mass Operations

SuperOffice APIs support the import and update of large datasets via the Mass Operations API. This API leverages database server features that are optimized for speed and efficiency.See API reference
WebHooks

WebHooks - Include contact_id and person_id in activity.deleted

With the introduction of soft-deletes, the contact and person deleted webhooks were “broken”. These events will fire when the entity has been permanently removed from SuperOffice.
  • contact.deleted
  • person.deleted
Because API consumers may still want to be notified and manage soft-deletes, the following 2 new webhooks have been introduced:
  • contact.softdeleted
  • person.softdeleted
Added Values property to webhook for deleted events, to hold ID values from the original record (if available). Deleted activities will now retain contact and person ID values. This will allow you to see which company or person the deleted activity was connected to.For more info, see announcement in the forums and webhook reference.

WebHooks - Project member triggers/webhooks

Once you delete a project member, the Number of project members field is automatically updated and does not require scripting.Deleted activities will now retain contact, person, project, and sale ID values. This will allow you to see which company, person, project, or sale the deleted activity was connected to.

Prefix changes on date/time

Since serialization of arbitrary objects is somewhat problematic - that’s why we have JSON, BSON, XML, ASN.1, and what-have-you - we decided to make our own, self-identifying format for archive values. In our code, it lives in the beautifully named class CultureDataFormatter, and we use it all over the place, particularly in the archive providers. Both values going out through DisplayValue and values coming in view ArchiveRestrictionInfo.Values[] use this format.Also check out the blog post.
CRMScript
10.15.2020

API - CRMScript

New HTTP class functions to easily send documents and attachments in a POST request.