Extending the Consumer & Data API for backwards compatibility

 

As a member of our developer community we wanted to share an update with you that we’ll be introducing shortly to the JustGiving API.

 

Background

Historically, all JustGiving page types (Fundraising, Team, Campaign & Crowdfunding) have sat on different platforms, with the URL structure different for each page type. One work-stream that we are prioritising for 2022 & 2023 is the migration of all page types to sit on one common platform. There are a number of benefits associated with migrating all page types onto one platform, below we have listed a few:

  • More frequent releases of new features and products across Fundraising, Campaign and Teams pages. Moving to one common platform will enable us to increase the number of features we're able to release across all page types. This should allow us to make continuous improvements to the platform based on insight & data we're gathering.
  • Pages will be composable meaning that features from different page types can be reused, mixed and matched to form new products. Effectively we'll have a library of components/features that can be reused across all page types, and built in one place which reduces inefficiencies.

 

What are the changes?

We are making two changes to the our API:

  1. The page id returned in the Data API for these new pages can now be used on existing endpoints (no impact to users)
  2. The new url’s generated by the new pages can now be used in the Consumer API to get page details (impact to users)

For Fundraising Pages, we are updating the URL path going forward, adding an additional prefix into new Fundraising Pages with 'page'

"New Route": /c46c6a77/v1/fundraising/pages/page/luis-b

"Old Route" /c46c6a77/v1/fundraising/pages/luis-b

NB- The new URL structure above is only impacting new fundraising pages created, existing fundraising pages will be unaffected

 

How does this affect me?

GetPage by Page ID 

  • Queries to get data for New Pages will now return a 200 response rather than a 404

GetPage by Page URL

  • There will be some changes if you are using the page URL from the Data API response to fetch up to date details for a given fundraising page.

 

Typical flow for a CRM partner:

Using legacy pages (legacy pages are pages with urls which contain “fundraising”) – NO CHANGES:

  1. Call Data API: {{dataapi-url}}/<appId>/v1/charity/<charityId>/pages/created/04-4-2021;04-28-2021
  2. [
    {
            "Appeal": "RedArc Campaign",
                            ...Omitted for simplicity
            "Id": 9647856,
            "Status": "Active",
                            ...Omitted for simplicity
            "Url": "https://www.justgiving.com/fundraising/luispereira2020-pereira16",
        },
    ]

Using New pages – SOME CHANGES:

  1. Call Data API: {{dataapi-url}}/<appId>/v1/charity/<charityId>/pages/created/04-4-2021;04-28-2021
  2. [
    {
            "Appeal": "Girls Night In",
                            ...Omitted for simplicity
            "Id": 50006239,
            "Status": "Active",
                            ...Omitted for simplicity
            "Url": "https://www.justgiving.com/page/luispereira2020-pereira-1652096823229",
        },
     ]
  3. If you are subsequently calling the GetFundraisingPageDetailsById API, there are no changes
  4. If you are using the URL from the response of the Data API, then you have to change how you parse/split the url so that you can use the shortname.

    For example: you normally split/parse on “fundraising”, but now you have to split/parse on the justgiving domain. For example if querying:

    https://www.justgiving.com/page/luispereira2020-pereira-1652096823229

    Then you use “page/luispereira2020-pereira-1652096823229” in the existing get page by short name. For example:

    https://api.staging.justgiving.com/a6ba1005/v1/fundraising/pages/page/luispereira2020-pereira-1652096823229

 

What is the current status of these changes?

We are looking at migrating all our fundraising pages over to our new platform in a staggered approach as opposed to one migration. As things stand, 2% of fundraising pages created are now using the new URL path. We will be looking to move that up to approx 42% by the end of July with 100% of Fundraising Pages to be using the new path by the end of 2022.

NB- All Fundraising Pages created pre-migration will remain on the original URL path.

 

 

Is there anything you need to do?

We wanted to bring this change to your attention as it is complex and we don’t have complete overview of all the ways in which a partner like you might collect, store or leverage such data. So we wanted to give you the chance to ask any questions you might have of us and to ensure that we can work with you to put address any concerns you might have

 

How can I contact JustGiving if I need help?

Please email us at developer@justgiving.com and we'll respond. Please include as much detail in your email as possible and one of the team will work directly with you. 

 

FAQS

Will the pageId still be returned?

The pageId will be returned, but in the long run we are making steps to depreciate this. The pageGuid will become the long term identifier for a page

 

Will the pageGuid still be returned?

Yes it will

 

Will this change have any impact on Team or Campaign pages that I also query?

No

 

 

Have more questions? Submit a request

0 Comments

Article is closed for comments.