Partner Portal 7.0 Release

Overall Summary:

TPP Partner Onboarding Enhancements

  • Simple Partner Application - Reduced number of inputs for partner application
  • Re-Submit Partner Creation Request - Ability to submit partner creation request with modified meta app ID details, if the support team has rejected the partner creation request
  • Meta App ID Screenshot - Partners need to submit a Meta App ID screenshot during the partner creation process

Passthorugh APIs for Whatsapp Flow

  • Partners can use Send Message API passthrough API to send WhatsApp flows to their customers
  • Whatsapp flows need to be created on the Meta user interface and their flow ID needs to be passed in the Send Message API payload

Allowing URLs to be submitted in media upload API ( handle ID, and media ID )

  • Partners can now submit URLs in the media upload API. Click here, to learn more about Upload Template Media

Detailed Notes :

TPP Partner Onboarding Enhancements

  1. Simple Partner Application

During the partner application step, partners now need to submit the following fields

  • Registered Business Name
  • Registered Business Address
  • Nature of Service Provided
  • ISV FB Manager

Revised partner application step in the partner creation process

  1. Resubmit Partner application in case of Rejection

If partner support rejects the partner application, partners can now submit their partner application with modified Meta App ID details.

Screen in case the partner application is rejected during the partner creation process

Screen in case the partner application is rejected during the partner creation process

Screen for the partner to resubmit the partner application, once the partner clicks on resubmit

Screen for the partner to resubmit the partner application, once the partner clicks on resubmit

  1. Meta App ID screenshot to be uploaded

Partners need to submit a mandatory screenshot detailing the following, during the partner creation application.

The supported format types for the screenshot are SVG, JPEG, JPG, and PNG.
The screenshot should contain the following information, which should be visible

  • App Name
  • Meta App ID
  • Email address of Partner
  • Whatsapp product added to app
Screen to upload Meta App ID screenshot during the partner creation process

Screen to upload Meta App ID screenshot during the partner creation process

Sample screen that needs to be submitted by partner

Sample screen that needs to be submitted by partner

Passthrough APIs for Whatsapp Flow

Creation of Flows on Meta UI

  • Whatsapp flows need to be created on the Meta user interface and their flow ID needs to be passed in the Send Message API payload
  • Under account tool >> flow, you can create flows by following the following inputs
    • Name - up to 200 characters
    • Category - choose the applicable category
  • Once the flow is created, we can create a flow template
    • For the flow template, only the MARKETING category is available
    • Select form, and proceed to create a form
    • Enter the body
    • Enter buttons and the links for the buttons
    • You can also check out the preview of the flow, on the display on the right-hand side of the flow
    • Once you have verified the details, you can click on confirm, to create your flow template
  • Template review takes a few seconds to be reviewed.
  • Once you have created the template, you can see the Send Message API to send the flow to your users.
  • For a Sign-up/Sign in flow, the prerequisite steps like creating flow with category and template, following the documentation steps to create private and public keys: WhatsApp Business Encryption - On-Premises API (facebook.com), Generate URI with ngrok and run flask app script which has updated private key, Set public key generated with API.
  • Confluence page link that has flask app python script: Passthrough API for Flows - Unified Partner Portal (ISV/Misc Partners, White-labeled) - GupShup (atlassian.net)

Send Message API

  • Partners can use Send Message API passthrough API to send WhatsApp flows to their customers

Request

curl --location 'https://qa-partner-api.gupshup.io/partner/app/{{appid}}/v3/message' \
--header 'Authorization: {{token}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'messaging_product=whatsapp' \
--data-urlencode 'recipient_type=individual' \
--data-urlencode 'to={{destinationNumber}}' \
--data-urlencode 'type=template' \
--data-urlencode 'template={
   	 "name": "flow_working",
   	 "language": {
   		 "policy": "deterministic",
   		 "code": "en_US"
   	 },
   	 "components": [
   		 {
       		 "type": "button",
       		 "sub_type": "flow",
       		 "index": "0",
       		 "parameters": [
          		 
          		 
       		 ]
   		 }
   	 ]
    }
'

Response

{
    "messages": [
        {
            "id": "4b0a61e0-4177-4210-889c-26874eb2d9d2"
        }
    ],
    "messaging_product": "whatsapp",
    "contacts": [
        {
            "input": "{{destinationNumber}}",
            "wa_id": "{{destinationNumber}}"
        }
    ]
}

Allowing URLs to be submitted in media upload API

We now support submitting video/Image URLs in the media Upload API, with handle ID

Media (video) Upload with Handle ID

Request

curl --location --request POST 'https://qa-partner-api.gupshup.io/partner/app/{{appid}}/upload/media' \
--header 'token: {{token}}' \
--form 'file=@"/sample-5s.mp4"' \
--form 'file_type="video/mp4"'

Response

{
   "handleId": {
       "message": 
       "4::dmlkZW8vbXA0:ARbjPtloecpdrWDB3vib0qCMZpj2TsYwTi02gA3XEV6PfMMe045jzoSZffDrvPIQwxagxExCEi7sXlEs-1rCdFvW0vb3q5Uu4cxFoFitZFuoFw:e:1708238355:2281283925530161:100033655335566:ARbwOPia3oEZLhW2pVc\n4::dmlkZW8vbXA0:ARZYMI0Zs-jYjuPI2RQaA_LgB1jaqNuTTSSZfJH-MDcPEfyvGXjxddXnmYjrHPhGp-9DQZvDfPTuYgh4k3IWEfwzySBzsnjNgOq5eQw3kTNQ1A:e:1708238355:2281283925530161:100033655335566:ARbj23W1IGcUICDgOR0\n4::dmlkZW8vbXA0:ARZqS0l2Y7wTnsyMRW24ZUEY6nHkSQE8TW1pV2ZcydYtKoTUx0LH_4y2Xrb-uaWOugsMMxJ4zlcsrpi8KmA9yiFM44uf-J84lnlXgH78WleGxw:e:1708238355:2281283925530161:100033655335566:ARbxE51wcwPadK_Cdek"
   },
   "status": "success"
}

Media (Image) Upload with Handle ID

Request

curl --location --request POST 'https://qa-partner-api.gupshup.io/partner/app/{{appid}}/upload/media' \
--header 'token: {{token}}' \
--form 'file="https://picsum.photos/200"' \
--form 'file_type="image/png"'

Response

{
   "handleId": {
       "message": "4::aW1hZ2UvcG5n:ARbOnrky5ZVUJgEEA7VvBfwG_psPIBd3qhf3wrPXKfAI5cJ8VD3hpJnr0tTsQ_gyyDJ0VMrlZd7_winOi65TS7yEBbhetcMVs-fk3aaSidu4EQ:e:1708238571:2281283925530161:100033655335566:ARanAtmBEOxUkDwlhHc"
   },
   "status": "success"
}

Media (Video) Upload with Media ID

We now support submitting video/Image URLs in the media Upload API, with media ID

Request

curl --location --request POST 'https://qa-partner-api.gupshup.io/partner/app/{{appid}}/media' \
--header 'token: {{token}}' \
--form 'file=@"/sample-5s.mp4"' \
--form 'file_type="video/mp4"'

Response

{
   "mediaId": "934161762046875",
   "status": "success"
}

Media (Image) Upload with Media ID

Request

curl --location --request POST 'https://qa-partner-api.gupshup.io/partner/app/{{appid}}/media' \
--header 'token: {{token}}' \
--form 'file="https://picsum.photos/200"' \
--form 'file_type="image/png"'

Response

{
   "mediaId": "758321326214986",
   "status": "success"
}