curl --request POST \
--url https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"referenceId": "wa:+5215512345678",
"summary": "<string>",
"externalUrl": "https://lola.example.com/support/console",
"externalRef": "<string>",
"channel": "whatsapp",
"operationId": "<string>"
}
'import requests
url = "https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases"
payload = {
"referenceId": "wa:+5215512345678",
"summary": "<string>",
"externalUrl": "https://lola.example.com/support/console",
"externalRef": "<string>",
"channel": "whatsapp",
"operationId": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
referenceId: 'wa:+5215512345678',
summary: '<string>',
externalUrl: 'https://lola.example.com/support/console',
externalRef: '<string>',
channel: 'whatsapp',
operationId: '<string>'
})
};
fetch('https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'referenceId' => 'wa:+5215512345678',
'summary' => '<string>',
'externalUrl' => 'https://lola.example.com/support/console',
'externalRef' => '<string>',
'channel' => 'whatsapp',
'operationId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases"
payload := strings.NewReader("{\n \"referenceId\": \"wa:+5215512345678\",\n \"summary\": \"<string>\",\n \"externalUrl\": \"https://lola.example.com/support/console\",\n \"externalRef\": \"<string>\",\n \"channel\": \"whatsapp\",\n \"operationId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"referenceId\": \"wa:+5215512345678\",\n \"summary\": \"<string>\",\n \"externalUrl\": \"https://lola.example.com/support/console\",\n \"externalRef\": \"<string>\",\n \"channel\": \"whatsapp\",\n \"operationId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"referenceId\": \"wa:+5215512345678\",\n \"summary\": \"<string>\",\n \"externalUrl\": \"https://lola.example.com/support/console\",\n \"externalRef\": \"<string>\",\n \"channel\": \"whatsapp\",\n \"operationId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyOpen a Leap support case
Opens a partner_support_case in the Leap Inbox, or returns the case already open for this referenceId. The partner identifies the person only by referenceId. That person may not exist in RaaS yet, so the call does not require a userId and does not fail when none is found. The platform stores the summary and the console URL. It does not store the conversation.
curl --request POST \
--url https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"referenceId": "wa:+5215512345678",
"summary": "<string>",
"externalUrl": "https://lola.example.com/support/console",
"externalRef": "<string>",
"channel": "whatsapp",
"operationId": "<string>"
}
'import requests
url = "https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases"
payload = {
"referenceId": "wa:+5215512345678",
"summary": "<string>",
"externalUrl": "https://lola.example.com/support/console",
"externalRef": "<string>",
"channel": "whatsapp",
"operationId": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
referenceId: 'wa:+5215512345678',
summary: '<string>',
externalUrl: 'https://lola.example.com/support/console',
externalRef: '<string>',
channel: 'whatsapp',
operationId: '<string>'
})
};
fetch('https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'referenceId' => 'wa:+5215512345678',
'summary' => '<string>',
'externalUrl' => 'https://lola.example.com/support/console',
'externalRef' => '<string>',
'channel' => 'whatsapp',
'operationId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases"
payload := strings.NewReader("{\n \"referenceId\": \"wa:+5215512345678\",\n \"summary\": \"<string>\",\n \"externalUrl\": \"https://lola.example.com/support/console\",\n \"externalRef\": \"<string>\",\n \"channel\": \"whatsapp\",\n \"operationId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"referenceId\": \"wa:+5215512345678\",\n \"summary\": \"<string>\",\n \"externalUrl\": \"https://lola.example.com/support/console\",\n \"externalRef\": \"<string>\",\n \"channel\": \"whatsapp\",\n \"operationId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.raas-widgets.leapfinancial.com/partner/support-cases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"referenceId\": \"wa:+5215512345678\",\n \"summary\": \"<string>\",\n \"externalUrl\": \"https://lola.example.com/support/console\",\n \"externalRef\": \"<string>\",\n \"channel\": \"whatsapp\",\n \"operationId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Your partner API key. Use raas_sandbox_* keys for the sandbox environment and raas_live_* keys for production.
Body
End user id in the partner system (for Lola, wa:<E.164>). This is the only identity the partner sends. A RaaS userId is not required: the person may not have onboarded yet, so no User row exists. The case is stored on this referenceId. If a User with the same partnerId and referenceId already exists, the inbox item also gets that userId.
"wa:+5215512345678"
general, cancellation_intent, operation_issue What the user needs, followed by a recent transcript the agent can read before opening the console
4000HTTPS URL of the partner console. http is accepted only for localhost.
"https://lola.example.com/support/console"
Inbox priority. When omitted, cancellation_intent is high and every other subtype is medium.
low, medium, high, critical Partner-side id for this conversation, stored as-is
Descriptive channel label. The platform does not branch on it.
"whatsapp"
Operation this case is about. Must belong to the caller.
Response
Case opened or already open