AptecoPSFramework
0.3.3
This module allows Apteco, partners and customers to develop their own integrations.
This framework brings lots of useful features with it like
- Logging + Send information to Orbit UI
- Standardised settings management saved in json files
- Update upward compatibility when there are new features and setting possibilites
- Errorha
This module allows Apteco, partners and customers to develop their own integrations.
This framework brings lots of useful features with it like
- Logging + Send information to Orbit UI
- Standardised settings management saved in json files
- Update upward compatibility when there are new features and setting possibilites
- Errorhandling and causing stop of campaigns on problems
- Installation of dependencies
- Developer mode to quickly create own integrations
- Secure encryption of tokens and credentials
- Possibility to develop cmdlets that can be executed directly in PowerShell e.g. to start clean up jobs or download specific data from an integration...
- Easy boilerplate, documentation on GitHub and Demo-Channel to start quickly
- Easy updates via PowerShellGallery
- Easy integration of proxies, custom headers, REST handling
- Using secure oAuth for connected apps like Microsoft Dynamics, Salesforce SalesCloud and CleverReach
- Using DuckDB by default since 0.3.0 to allow easy data transformation
- Much more to follow...
Your help is appreciated. Just contact me.
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) 2024 Apteco GmbH. All rights reserved.
Package Details
Author(s)
- florian.von.bracht@apteco.de
Tags
Functions
Add-PluginFolder Export-Settings Get-Debug Get-Plugin Get-PluginFolders Get-Plugins Get-ProcessIdentifier Get-Settings Import-Plugin Import-Settings Install-AptecoPSFramework Register-Plugins Set-DebugMode Set-ExecutionDirectory Set-Settings Install-Plugin Open-DuckDBConnection Get-DuckDBConnection Close-DuckDBConnection Read-DuckDBQueryAsReader Read-DuckDBQueryAsScalar Invoke-DuckDBQueryAsNonExecute Add-DuckDBConnection Get-DebugMode Import-Lib
PSEditions
Dependencies
This module has no dependencies.
Release Notes
0.3.3 Fix: Setting a default logfile at the start of the module load named "logfile.log"
Fix: Reflected a new flag for installing dependencies so that DuckDB is not installing all dependent packages of DuckDB.NET
Fix: Improved the error handling and messaging for loading settings files
Maintenance: Removed some not needed scripts
0.3.2 Feature: Added code for emarsys specific functions like downloading lists, campaigns, fields and contacts
Fix: All verbose outputs for plugins do now work with the -verbose flag
Fix: Remove the boolean output when adding a pluginfolder
0.3.1 Fix: Throwing full exceptions via iwr and irm to catch more details of exception in the plugin
0.3.0 Feature: Adding DuckDB as dependencies to the framework by default so the campaign file can be read (and written) through DuckDB query
more effectively than through a .NET streamreader or streamwriter when you want to transform the file
If you already have installed the AptecoPSFramework, make sure to re-install the dependencies in your settings file directory with `Install-AptecoPSFramework`
Feature: Fixed the installation script to also install local and global packages
Feature: Adding a default protocol handler that is recommended by Microsoft, if setting the setting `changeTLS` to `false`
Feature: Added some hints about DuckDB in the readme.md
Feature: Added a better handling for lib folder with other names or other paths than the default
Feature: Added DuckDB functions to read data as pscustom or execute a scalar query
Feature: DuckDB will be loaded automatically when plugin is loaded, otherwise you can use the function Import-Lib
Fix: Added a where-object for CleverReach when not using additional parameters like proxy etc.
Fix: Special characters are getting removed vom CleverReach mailing and group names via Regex `[^\w\s]`
0.2.1 Feature: New internal function for plugins to allow multipart uploads via `Prepare-MultipartUpload`
Feature: Addition for Hubspot to load single or multiple properties by name in `Get-Property`
Feature: New function for Hubspot to allow the loading of a pipeline
Feature: New function for Hubspot to load "owners"
Fix: Invoking hubspot has not used the correct headers which is now fixed
Fix: Better error handling dependent from PS version in `Import-ErrorForResponseBody`^
Fix: Improved input file handling for Salesforce plugin
Fix: The get messages boilerplate was outdated and has now been updated
0.2.0 Added yaml as a new functionality to save and load settings - please make sure to install your dependencies again
CleverReach - Fixed output for validations (showed 1 as valid when there is 0 valid entries)
CleverReach - Putting failed entries also in log and returns it to Orbit Monitoring
CleverReach - Fixed HTML Preview for global attributes
0.1.8 Changing CleverReach to support other mailing types than html/text
0.1.7 Adding a psmodulepath hardcoded to module and boilerplate as it seems to misinterpreted when called by C# runspaces
Adding a flag to Hubspot to forward the input object name
0.1.6 Added a change for Hubspot to load associations into the properties
0.1.5 Fixed a problem in CleverReach when reading and parsing the headers from the csv
Improved the CleverReach logging when something aborts
0.1.4 Changed the uploadsize from 2 to 80 for Hubspot
Fix for loading properties of objects other than contacts in Hubspot
0.1.3 Changed Microsoft Dynamics Dataverse Integration to pagesize of 4500 instead of 3 for testing
Removed -MergeArrays flag when merging settings in module and plugin -> now the arrays from the settings file are the important ones
Adding hubspot to load CRM data with properties and search/filter, sync all of your data now!
Hubspot list upload is now implemented through a list chooser in Orbit/PeopleStage and with use of the email address
Changed the behaviour at Import-Settings, which looks now automatically for settings.json, otherwise you have to refer to it
0.1.2 New hashtable variable "variableCache" for plugins to share data/variables between functions
Fix of saving oauth settings file path in the settings.json file
Read-Only Support for Microsoft Dynamics DataVerse Web API
0.1.1 New version jump with more dependencies that have been implemented now: Install-Dependencies and Import-Dependencies, make sure to install those scripts before updating
Fix for http calls so generic problematic are not repeating infinite
Loading assemblies as dependencies, too
Add a function/cmdlet to install plugins dependencies
Adding more CleverReach api functions around token handling
Support of PSOAuth for Salesforce SalesCloud and Microsoft Dynamics Dataverse, improved token refreshment for CleverReach
Added enforced secret encryption for CleverReach, Salesforce and Microsoft
Added automatic try of token refresh, if there is a http401 error
0.0.20 Exchanged the module/script path handling for the module itself and the boilerplate
Improved the installation of dependencies with a new script
Fix of $null when loading details of new attributes
0.0.19 Added script support for boilerplates
0.0.18 Added a new setting for CleverReach to put response log information into a separate logfile
Added more documentation for CleverReach response download
0.0.17 Fixing a problem when CleverReach invokes a http502 invalid gateway error -> Repeat the call a few times
Fixing a problem in CleverReach when creating new attributes we get now less information back, so we are loading details of new created attributes
Adding functionality to repeat REST calls, when specific problems occur
0.0.16 Added String values for Preheaders that are nulled when they are used
0.0.15 Fixing a problem with WriteLog module
0.0.14 Fixing a problem with the preview read of the input file when it has more than 100 rows
0.0.13 Fixing a problem with newly created lists/groups without any attributes for CleverReach
Preventing a problem with empty upserts for CleverReach
0.0.12 Fixing a problem when there is no preheader html already present in CleverReach
0.0.11 Fixing updating the settings.json file after an module update
0.0.10 Enrolling fix for changed function name
Changed the Tag removal to wait until finished
0.0.9 Support for waiting until the mailing is released for CleverReach
Fixed a query for global deactivated receivers
Fixed a request for group stats to be at the end of the broadcast for CleverReach
Changed a setting for global receiver deactivations
Query group stats by runtime filters instead of cached stats
Added more documentation and FAQs about this integration
Changed the preheader behaviour for CleverReach (now dependent on a variable)
0.0.8 Preheader Support for CleverReach, just needs a "Preheader" variable
Fixed a visual problem after the mailing was sent. Needed the "eddytor" for this
0.0.7 Removing not needed zip files
Fixing a problem with the pluginsfolder in the settings
Complete rewriting of the settings part for joining PSCustomObjects and Hashtables
0.0.6 Added tags support for uploading data and preview
Fixed a bug in the CleverReach Preview regarding new attributes
0.0.5 Added CleverReach Email Preview
0.0.4 Changed URLs
Many improvements and fixes for the CleverReach plugin
Boilerplate fixes for loading psmodulepath environment variable
0.0.3 Automatically load new plugin folders and save them in the settings
Support response gathering for CleverReach Plugin
0.0.2 Small fixes after testing
0.0.1 Initial release of Apteco PS module through psgallery
FileList
- AptecoPSFramework.nuspec
- plugins\Hubspot\Public\Get-PluginDebug.ps1
- plugins\MsDynamicsCRM365\Private\Authentication\Register-NewToken.ps1
- plugins\SalesforceSC\Public\Authentication\Save-NewToken.ps1
- public\get-debug.ps1
- plugins\Aptecoemail\public\Aptecoemail\Get-Contact.ps1
- plugins\CleverReach\Public\CleverReach\Get-GroupStats.ps1
- plugins\emarsys\Plugin.ps1
- plugins\Hubspot\Public\Authentication\Request-Token.ps1
- plugins\MsDynamicsCRM365\Private\Helper\Test-IsGuid.ps1
- plugins\SalesforceSC\Public\peoplestage\get-groups.ps1
- public\Get-DebugMode.ps1
- AptecoPSFramework.psd1
- plugins\Aptecoemail\public\Aptecoemail\Get-ContactData.ps1
- plugins\CleverReach\Public\CleverReach\Get-GroupStatsByRuntime.ps1
- plugins\emarsys\README.md
- plugins\Hubspot\Public\Authentication\Save-NewToken.ps1
- plugins\MsDynamicsCRM365\Private\invoke\Invoke-Dynamics.ps1
- plugins\SalesforceSC\Public\peoplestage\get-messages.ps1
- public\Get-ProcessIdentifier.ps1
- AptecoPSFramework.psm1
- plugins\Aptecoemail\public\Aptecoemail\Get-Contactlist.ps1
- plugins\CleverReach\Public\CleverReach\Get-LocalDeactivated.ps1
- plugins\emarsys\Private\classes\emarsys.ps1
- plugins\Hubspot\Public\Authentication\Save-PrivateAppToken.ps1
- plugins\MsDynamicsCRM365\Public\Get-HelloWorld.ps1
- plugins\SalesforceSC\Public\peoplestage\invoke-broadcast.ps1
- public\Import-Lib.ps1
- bin\dependencies.ps1
- plugins\Aptecoemail\public\Aptecoemail\Get-ContactMetadata.ps1
- plugins\CleverReach\Public\CleverReach\Get-ReceiversWithTag.ps1
- plugins\emarsys\Private\classes\Mailing.ps1
- plugins\Hubspot\Public\Hubspot\Add-ListMember.ps1
- plugins\MsDynamicsCRM365\Public\Get-PluginDebug.ps1
- plugins\SalesforceSC\Public\peoplestage\invoke-upload.ps1
- public\set-debugmode.ps1
- boilerplate\broadcast.ps1
- plugins\Aptecoemail\public\Aptecoemail\Remove-ContactMetadata.ps1
- plugins\CleverReach\Public\CleverReach\Get-Tags.ps1
- plugins\emarsys\Private\emarsys\Invoke-EmarsysLogin.ps1
- plugins\Hubspot\Public\Hubspot\Get-ApiUsage.ps1
- plugins\MsDynamicsCRM365\Public\Authentication\Get-WhoAmI.ps1
- plugins\SalesforceSC\Public\peoplestage\show-preview.ps1
- public\duckdb\Add-DuckDBConnection.ps1
- boilerplate\core_broadcast.ps1
- plugins\Aptecoemail\settings\defaultsettings.ps1
- plugins\CleverReach\Public\CleverReach\Remove-TagsAtReceivers.ps1
- plugins\emarsys\Private\emarsys\Resolve-ContactData.ps1
- plugins\Hubspot\Public\Hubspot\Get-CRMData.ps1
- plugins\MsDynamicsCRM365\Public\Authentication\Register-TokenRefreshTask.ps1
- plugins\SalesforceSC\Public\peoplestage\test-login.ps1
- public\duckdb\Close-DuckDBConnection.ps1
- boilerplate\core_getmessagelists.ps1
- plugins\CleverReach\Plugin.ps1
- plugins\CleverReach\Public\peoplestage\get-groups.ps1
- plugins\emarsys\Private\helper\Get-StringFromByte.ps1
- plugins\Hubspot\Public\Hubspot\Get-List.ps1
- plugins\MsDynamicsCRM365\Public\Authentication\Request-Token.ps1
- plugins\SalesforceSC\Public\peoplestage\test-send.ps1
- public\duckdb\Get-DuckDBConnection.ps1
- boilerplate\core_getmessages.ps1
- plugins\CleverReach\bin\refresh_token.ps1
- plugins\CleverReach\Public\peoplestage\get-messages.ps1
- plugins\emarsys\Public\Get-PluginDebug.ps1
- plugins\Hubspot\Public\Hubspot\Get-ListMember.ps1
- plugins\MsDynamicsCRM365\Public\Authentication\Save-NewToken.ps1
- plugins\SalesforceSC\Public\SalesforceSC\Get-SFSCObject.ps1
- public\duckdb\Invoke-DuckDBQueryAsNonExecute.ps1
- boilerplate\core_preview.ps1
- plugins\CleverReach\Private\Authentication\Register-NewTokenViaApi.ps1
- plugins\CleverReach\Public\peoplestage\invoke-broadcast.ps1
- plugins\emarsys\Public\emarsys\Add-Contact.ps1
- plugins\Hubspot\Public\Hubspot\Get-Owner.ps1
- plugins\MsDynamicsCRM365\Public\DataVerse\Get-ApiUsage.ps1
- plugins\SalesforceSC\Public\SalesforceSC\Get-SFSCObjectData.ps1
- public\duckdb\Open-DuckDBConnection.ps1
- boilerplate\core_test.ps1
- plugins\CleverReach\Private\Authentication\Register-NewTokenViaOauth.ps1
- plugins\CleverReach\Public\peoplestage\invoke-upload.ps1
- plugins\emarsys\Public\emarsys\Add-List.ps1
- plugins\Hubspot\Public\Hubspot\Get-Pipeline.ps1
- plugins\MsDynamicsCRM365\Public\DataVerse\Get-Attributes.ps1
- plugins\SalesforceSC\Public\SalesforceSC\Get-SFSCObjectField.ps1
- public\duckdb\Read-DuckDBQueryAsReader.ps1
- boilerplate\core_testsend.ps1
- plugins\CleverReach\Private\helper\sync-attributes.ps1
- plugins\CleverReach\Public\peoplestage\show-preview.ps1
- plugins\emarsys\Public\emarsys\Get-Campaign.ps1
- plugins\Hubspot\Public\Hubspot\Get-Property.ps1
- plugins\MsDynamicsCRM365\Public\DataVerse\Get-LookupMappings.ps1
- plugins\SalesforceSC\Public\SalesforceSC\Get-SFSCObjectMeta.ps1
- public\duckdb\Read-DuckDBQueryAsScalar.ps1
- boilerplate\core_upload.ps1
- plugins\CleverReach\Private\helper\test-cleverreachconnection.ps1
- plugins\CleverReach\Public\peoplestage\test-login.ps1
- plugins\emarsys\Public\emarsys\Get-ContactData.ps1
- plugins\Hubspot\Public\Hubspot\Remove-ListMember.ps1
- plugins\MsDynamicsCRM365\Public\DataVerse\Get-PicklistOptions.ps1
- plugins\SalesforceSC\Public\SalesforceSC\Get-SFSCToken.ps1
- public\Plugins\Add-PluginFolder.ps1
- boilerplate\core_wrapper.ps1
- plugins\CleverReach\Private\invoke\Invoke-CleverReach.ps1
- plugins\CleverReach\Public\peoplestage\test-send.ps1
- plugins\emarsys\Public\emarsys\Get-Field.ps1
- plugins\Hubspot\Public\peoplestage\get-groups.ps1
- plugins\MsDynamicsCRM365\Public\DataVerse\Get-Record.ps1
- plugins\SalesforceSC\Public\SalesforceSC\Invoke-SFSCQuery.ps1
- public\Plugins\Get-Plugin.ps1
- boilerplate\create_settings.ps1
- plugins\CleverReach\Public\Get-HelloWorld.ps1
- plugins\CleverReach\Public\response\get-response.ps1
- plugins\emarsys\Public\emarsys\Get-List.ps1
- plugins\Hubspot\Public\peoplestage\get-messages.ps1
- plugins\MsDynamicsCRM365\Public\DataVerse\Get-Table.ps1
- plugins\SalesforceSC\settings\defaultsettings.ps1
- public\Plugins\Get-PluginFolders.ps1
- boilerplate\getmessagelists.ps1
- plugins\CleverReach\Public\Get-PluginDebug.ps1
- plugins\CleverReach\settings\defaultsettings.ps1
- plugins\emarsys\Public\emarsys\Get-ListContact.ps1
- plugins\Hubspot\Public\peoplestage\invoke-broadcast.ps1
- plugins\MsDynamicsCRM365\Public\DataVerse\Get-TableDetail.ps1
- private\classes\Mailing.ps1
- public\Plugins\Get-Plugins.ps1
- boilerplate\getmessages.ps1
- plugins\CleverReach\Public\Authentication\Get-TokenTimeToLive.ps1
- plugins\Demo\Plugin.ps1
- plugins\emarsys\Public\emarsys\Get-ListCount.ps1
- plugins\Hubspot\Public\peoplestage\invoke-upload.ps1
- plugins\MsDynamicsCRM365\settings\defaultsettings.ps1
- private\classes\MailingList.ps1
- public\Plugins\Import-Plugin.ps1
- boilerplate\getresponses.ps1
- plugins\CleverReach\Public\Authentication\Get-TokenValidation.ps1
- plugins\Demo\public\Get-HelloWorld.ps1
- plugins\emarsys\Public\emarsys\Invoke-EmarsysCore.ps1
- plugins\Hubspot\Public\peoplestage\test-login.ps1
- plugins\SalesforceSC\Plugin.ps1
- private\http\Import-ErrorForResponseBody.ps1
- public\Plugins\Install-Plugin.ps1
- boilerplate\preview.ps1
- plugins\CleverReach\Public\Authentication\Get-WhoAmI.ps1
- plugins\Demo\public\peoplestage\get-groups.ps1
- plugins\emarsys\Public\emarsys\Remove-Contact.ps1
- plugins\Hubspot\Settings\defaultsettings.ps1
- plugins\SalesforceSC\bin\refresh_token.ps1
- private\http\Invoke-RestMethodWithErrorHandling.ps1
- public\Plugins\Register-Plugins.ps1
- boilerplate\test.ps1
- plugins\CleverReach\Public\Authentication\Register-TokenRefreshTask.ps1
- plugins\Demo\public\peoplestage\get-messages.ps1
- plugins\emarsys\Public\emarsys\Remove-ContactFromList.ps1
- plugins\InxmailProfessional\Inxmail.md
- plugins\SalesforceSC\Private\Authentication\Register-NewTokenViaApi.ps1
- private\http\Invoke-WebRequestWithErrorHandling.ps1
- public\settings\create-settings.ps1
- boilerplate\testsend.ps1
- plugins\CleverReach\Public\Authentication\Request-Token.ps1
- plugins\Demo\public\peoplestage\invoke-broadcast.ps1
- plugins\emarsys\Public\peoplestage\get-messages.ps1
- plugins\InxmailProfessional\Plugin.ps1
- plugins\SalesforceSC\Private\Authentication\Register-NewTokenViaOauth.ps1
- private\http\Prepare-MultipartUpload.ps1
- public\settings\export-settings.ps1
- boilerplate\upload.ps1
- plugins\CleverReach\Public\Authentication\Save-NewToken.ps1
- plugins\Demo\public\peoplestage\invoke-upload.ps1
- plugins\emarsys\settings\defaultsettings.ps1
- plugins\MsDynamicsCRM365\Plugin.ps1
- plugins\SalesforceSC\Private\invoke\Invoke-sfsc.ps1
- private\Prompt\Prompt-Choice.ps1
- public\settings\get-settings.ps1
- plugins\Aptecoemail\Plugin.ps1
- plugins\CleverReach\Public\CleverReach\Get-Blocklist.ps1
- plugins\Demo\public\peoplestage\show-preview.ps1
- plugins\Hubspot\Plugin.ps1
- plugins\MsDynamicsCRM365\bin\refresh_token.ps1
- plugins\SalesforceSC\Public\Get-HelloWorld.ps1
- private\PSCustomObject\Join-Hashtable.ps1
- public\settings\import-settings.ps1
- plugins\Aptecoemail\readme.md
- plugins\CleverReach\Public\CleverReach\Get-Bounces.ps1
- plugins\Demo\public\peoplestage\test-login.ps1
- plugins\Hubspot\bin\refresh_token.ps1
- plugins\MsDynamicsCRM365\Private\Archive\Get-Account.ps1
- plugins\SalesforceSC\Public\Get-PluginDebug.ps1
- private\PSCustomObject\Join-PSCustomObject.ps1
- public\settings\set-settings.ps1
- plugins\Aptecoemail\private\invoke\Invoke-Ae.ps1
- plugins\CleverReach\Public\CleverReach\Get-CRGroups.ps1
- plugins\Demo\public\peoplestage\test-send.ps1
- plugins\Hubspot\Private\Authentication\Register-NewTokenViaOauth.ps1
- plugins\MsDynamicsCRM365\Private\Archive\Get-Contact.ps1
- plugins\SalesforceSC\Public\Authentication\Register-TokenRefreshTask.ps1
- private\String\Convert-StringEncoding.ps1
- public\setup\install-aptecopsframework.ps1
- plugins\Aptecoemail\public\Get-PluginDebug.ps1
- plugins\CleverReach\Public\CleverReach\Get-GlobalDeactivated.ps1
- plugins\Demo\settings\defaultsettings.ps1
- plugins\Hubspot\Private\invoke\Invoke-Hubspot.ps1
- plugins\MsDynamicsCRM365\Private\Archive\Get-MetaData.ps1
- plugins\SalesforceSC\Public\Authentication\Request-Token.ps1
- private\String\Get-RandomString.ps1
- settings\defaultsettings.ps1
- plugins\Aptecoemail\public\Aptecoemail\Add-ContactMetadata.ps1
- plugins\CleverReach\Public\CleverReach\Get-GroupSegments.ps1
- plugins\emarsys\notes.ps1
- plugins\Hubspot\Public\Get-HelloWorld.ps1
Version History
Version | Downloads | Last updated |
---|---|---|
0.3.3 (current version) | 364 | 6/28/2024 |
0.3.1 | 11 | 6/18/2024 |
0.3.0 | 10 | 6/10/2024 |
0.2.0 | 33 | 11/21/2023 |
0.1.8 | 18 | 11/16/2023 |
0.1.7 | 10 | 11/11/2023 |
0.1.6 | 10 | 11/2/2023 |
0.1.5 | 9 | 11/1/2023 |
0.1.4 | 12 | 10/27/2023 |
0.1.3 | 10 | 10/26/2023 |
0.1.2 | 9 | 10/23/2023 |
0.1.1 | 12 | 10/18/2023 |
0.0.20 | 12 | 10/13/2023 |
0.0.18 | 17 | 9/12/2023 |
0.0.17 | 13 | 9/11/2023 |
0.0.16 | 13 | 8/22/2023 |
0.0.15 | 9 | 8/22/2023 |
0.0.14 | 11 | 8/21/2023 |
0.0.13 | 12 | 8/17/2023 |
0.0.12 | 10 | 8/10/2023 |
0.0.11 | 9 | 8/10/2023 |
0.0.10 | 10 | 8/10/2023 |
0.0.9 | 10 | 8/10/2023 |
0.0.8 | 14 | 7/19/2023 |
0.0.7 | 12 | 7/12/2023 |
0.0.6 | 14 | 7/4/2023 |
0.0.5 | 10 | 7/3/2023 |
0.0.4 | 11 | 6/30/2023 |
0.0.3 | 10 | 6/29/2023 |
0.0.2 | 10 | 6/23/2023 |
0.0.1 | 11 | 6/23/2023 |