09.02.2022
API - Quote Connector for Approval/Rejection
Quote Connector API for Approval/Rejection is in there for SOAP and on-site DLLs as well as the yet-to-be-released REST connector.WCF connector will detect missing Approve/Reject methods on remote service and ignore errors from them. WCF connector will avoid calling if methods are flagged as missing.QuoteConnector plugins must implement new IQuoteConnector2 interface to add support for approve/reject methods.Reference:06.15.2022
API - CRMScript
Improvements to CRMScript:-
Added two new functions to arrays and structs:
toJSONString()andfromJSONString(), which will directly use a string as input or output. -
Arrays now have a
buildString()method, which creates a delimited string of its members. -
Structs can implement a
toString()method. This will work together with thebuildString()function above, but will also as a bonus make variables of these types better to view in the debugger/tracer. - Error messages for incorrect array functions are now shown at the correct source position.
-
Support for
sort()on arrays. Basic types will be sorted normally, such as Integers, strings or floats. - Structs that implement a compare(struct s) function are used when sorting an array of that struct type.
06.15.2022
Breaking changes on Web.Api
SuperOffice.WebApi 10.1.3 breaking changes:- System user functionality moved into package SuperOffice.SystemUser.Client.
- Extracted Authorizations into the following packages:
- SuperOffice.WebApi.Authorization, contains the following [default] authorizations:
AuthorizationUsernamePassword;AuthorizationTicket;AuthorizationImplicit - SuperOffice.WebApi.Authorization.AccessToken, contains
AuthorizationAccessToken - SuperOffice.WebApi.Authorization.SystemUserTicket, depends on SuperOffice.SystemUser.Client package and contains
AuthorizationSystemUserTicket
- SuperOffice.WebApi.Authorization, contains the following [default] authorizations:
IAuthorization.GetAuthorizationchanged, now returns an AuthenticationHeaderValue instead of a tuple.- Changed
Environmentenum property to SubDomain string. - Added
CancellationTokensupport
05.04.2022
API - Support for RSA encryption and decryption in CRMScript
New methods in CRMScript class Rsa:API - Support for password-based encryption and decryption in CRMScript
New CRMScript class Pbes for encrypting and decrypting a binary string with a given password. (PBKDF2 cryptographic key derivation function)Available methods:API - New data type StringObjectDictionary in CRMScript
A StringObjectDictionary is a collection of key-value pairs. The key is a string and the value can be an Integer, Float, String, Bool, or DateTime.Available methods:- getInteger(String)
- getFloat(String)
- getString(String)
- getBool(String)
- getDateTime(String)
- insertInteger(String, Integer)
- insertFloat(String, Float)
- insertString(String, String)
- insertBool(String, Bool)
- insertDateTime(String, DateTime)
- StringObjectDictionary NSWebhook.GetProperties()
- Void NSWebhook.SetProperties(StringObjectDictionary)
- Void NSWebhookAgent.SignalEvent(String,Integer,StringObjectDictionary
Map.)API - Send custom notifications to user with specified URL in CRMScript
New method in CRMScript class Notify that sends a custom notification message to a user with a specified URL:API - NULL handling in NetServer for extra fields and tables
Added support for NULL values to custom fields that are actually CS-style extra fields. You can now fetch, handle and, save NULL values where their definition allows it. The user interface allows “blank” values for such fields.Fixed bug ID 27795, WebAPI client can’t deserialize FieldRight.Mask with value “Update, Nullable”
Fixed deserialization issues discovered withFieldRight.Mask.04.04.2022
API - Support for RSA signature with SHA-256 in CRMScript
Extend support for RSA signature in CRMScript.New CRMScript class Rsa for creating and verifying RSA signatures.Available methods:- Bool loadPrivateKey(String privateKey, String password)
- Bool loadPublicKey(String privateKey)
- Byte[] createSignature(Byte[] data, Integer hashingAlgorithm)
- Byte[] createSignature(String data, Integer hashingAlgorithm)
- Bool verifySignature(Byte[] data, Byte[] signature, Integer hashingAlgorithm)
- Bool verifySignature(String data, Byte[] signature, Integer hashingAlgorithm)
API - Add exception message in JSON response
When migrating from SOAP to web API calls you need to change exception handling, and want more details from the web API, like the message included in the JSON response.Read more on Community Bugs & Wishes, issue 21478.API - WebAPI client to use interfaces
WebAPI client classes can mock using the HttpClient - but we can add interfaces to make it easier to mock the whole thing.