Managing Integration Dependencies
All RaiseNow and Altruja customers have been approached via the designated organisation contacts regarding migration of your subscription from the legacy platforms to the new RaiseNow Hub. If you aren't aware of any communications to that end, please contact RaiseNow support as soon as possible.
Subscriptions migrated from either Altruja or RaiseNow Manager will have the following element in custom_parameters:
{
"migrated_at": "timestamp",
"source": "epp|altruja",
"source_identifier": "<epp_subscription_token>|<altruja_donation_id>",
"source_organisation_identifier": "<epp_merchant_id>|<altruja_charity_id>",
}
Partners or customers who have integrated Altruja or the RaiseNow Manager have to adapt their integrations for compatibility with RaiseNow Hub. Please visit this article for possible integration strategies. For customers using an integration provided by RaiseNow, we provide an automated migration process. See below for the various supported target systems.
Custom Integrations
In order to update records in a third party system, you can use one of the following two approaches.
Query Search API
After the migration, use the below search query to retrieve all migrated subscriptions from RaiseNow Hub. Replace epp|altruja
as appropriate. The retrieved result set will contain the new uuids for the migrated RaiseNow subscription records. In the custom_parameters
object you will find the identifiers of the original subscription from the legacy system.
You can specify the ìncludes
element as an empty array to return all available fields in the search results.
POST {{base_url}}/search/subscriptions
{
"query": {
"$and": [
{
"$term": {
"status": "active"
}
},
{
"$term": {
"custom_parameters.source": "epp|altruja"
}
},
{
"$term": {
"organisation_uuid": "{{organisation_uuid}}"
}
}
]
},
"size": 10000,
"from": 0,
"includes": ["uuid","amount","custom_parameters","payment_method"],
"excludes": [],
"aggs": {
"status": {
"field": "status",
"type": "terms"
}
},
"sort": {
"created": "DESC"
}
}
The result set will contain the new Hub subscription_uuid
as well as the legacy id from Altruja|RaiseNow Manager. Based on this result, customers & partners can update their systems.
Example response:
{
"summary": {
"hits": 1,
"last_sort_values": [
1731600482000
]
},
"hits": [
{
"amount": 100,
"custom_parameters": {
"migrated_at": "1731600481",
"source_organisation_identifier": "wer-3d03gk",
"source": "epp",
"source_identifier": "b2a3raa62bdb25d484e958e1160565e58b57a12c"
},
"uuid": "f9899975-209f-4a16-afcf-8312516ccfae",
"payment_method": "card"
}
],
"aggregations": {
"status": [
{
"key": "active",
"doc_count": 1
}
]
}
}
If you need to search RaiseNow Hub for a specific subscription based on the id from the legacy system, you can use this query to identify the new record in RaiseNow Hub.
POST {{epms_base_url}}/search/subscriptions
{
"query": {
"$and": [
{
"$term": {
"status": "active"
}
},
{
"$term": {
"custom_parameters.source_identifier": "{{epp_subscription_token|altruja_donation_id}}"
}
}
]
},
"size": 10000,
"from": 0,
"includes": ["uuid","amount","custom_parameters","payment_method"],
"excludes": [],
"aggs": {
"status": {
"field": "status",
"type": "terms"
}
},
"sort": {
"created": "DESC"
}
}
Subscribing to event notifications
This approach has the significant advantage, that it will work automatically and without any coordination required when the subscription import is executed. However, when RaiseNow imports subscriptions from the legacy system to RaiseNow Hub, this approach will result in subscription.created
and subscription.activated
events being fired in close succession. Depending on the number of subscriptions active in the legacy system for the given customer, this may result in significant load on the target endpoint/system. The customers/partners target system must be able to cope with the resulting load. See our section on webhook retries regrading unresponsive target systems for more information on the handling of error responses from the target system.
Partners can subscribe to receive event notifications on the subscription.activated event. Such an event subscription will result in the RaiseNow systems automatically sending notifications to the defined target system when a new subscription is activated on RaiseNow Hub. That event subscription will contain the custom_parameters
element as described in the mapping section for Altuja or RaiseNow Manager. The target system can then execute business logic to update records as needed.
RaiseNow Integrations (RICE)
Salesforce NPSP Integration
Starting with backend integration version v1.20.4, RaiseNow will automatically update records in Salesforce when these are being imported into RaiseNow Hub. During this process, the following objects and fields will be updated in Salesforce:
npe03__Recurring_Donation__c.RaiseNow__RaiseNow_Subscription_Token__c
: Will be updated with thesubscription_uuid
from RaiseNow Hub.RaiseNow__Customer__c.RaiseNow__Customer_Identifier__c
: Will be updated with thesupporter_uuid
from RaiseNow Hub.RaiseNow__Payment_Source__c.RaiseNow__Payment_Source_Identifier__c
: Will be updated with thepayment_source_uuid
from RaiseNow Hub.RaiseNow__Payment_Source__c.RaiseNow__Account_Identifier__c
: Will be updated with theaccount_uuid
from RaiseNow Hub.RaiseNow__Subscription__c.RaiseNow__Subscription_Identifier__c
: Will be updated with the subscription_uuid from RaiseNow Hub.RaiseNow__Subscription__c.RaiseNow__Account_Identifier__c
: Will be updated with theaccount_uuid
from RaiseNow Hub.RaiseNow__Subscription__c.RaiseNow__Payment_Source__c
: Will relate to aboveRaiseNow__Payment_Source__c
Integration to Microsoft Dynamics Nonprofit Accelerator
msnfp_paymentschedule.rnw_raisenowsubscriptionidentifier
: Will be updated with thesubscription_uuid
from RaiseNow Hub.msnfp_donorcommitment.rnw_raisenoworganisationidentifier
: Will be updated with theorganisation_uuid
from RaiseNow Hub.msnfp_donorcommitment.rnw_raisenowaccountidentifier
: Will be updated with theaccount_uuid
from RaiseNow Hub.msnfp_donorcommitment.rnw_raisenowsubscriptionidentifier
: Will be updated with thesubscription_uuid
from RaiseNow Hub.Contact.Contact
: Will be updated with thesupporter_uuid
from RaiseNow Hub.
SEXTANT Integration
For the SEXTANT integration, RaiseNow will automatically send an import request to SEXTANT for the RaiseNow Contract Renewals
import definition. This will contain:
- RaiseNowNewContractId:
subscription_uuid
from RaiseNow Hub - RaiseNowOldContractId:
legacy_subscription_id
from RaiseNow Manager
OM Integration
Coming soon
Salesforce Nonprofit Cloud Integration
A migration for the Salesforce Nonprofit Cloud is not required as recurring payments are not managed through the RaiseNow Manager.