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
- 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
- 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.
- 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
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"
}