SDK Code Examples — WhatsAppTagController
Base URL: https://{tenant}.shumoul.app · Token variable: $TOKEN (bash) / %TOKEN% (cmd) / token (JS/C#/Dart), obtained per §19 SDK Usage Guide.
1. GET /api/v1/whatsapp/tags/GetTags
Permission: WhatsAppInbox.Tag
cURL — Linux/macOS:
curl -X GET "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/GetTags" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
cURL — Windows (cmd.exe):
curl -X GET "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/GetTags" ^
-H "Authorization: Bearer %TOKEN%" ^
-H "Content-Type: application/json"
JavaScript — fetch():
const response = await fetch("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/GetTags", {
method: "GET",
headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" }
});
const result = await response.json();
JavaScript — Axios:
const { data } = await axios.get("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/GetTags", { headers: { Authorization: `Bearer ${token}` } });
C# — HttpClient:
var client = httpClientFactory.CreateClient("Shumoul"); // BaseAddress = "https://{tenant}.shumoul.app"
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.GetAsync("/api/v1/whatsapp/tags/GetTags");
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadFromJsonAsync<Result<object>>();
Flutter — Dio:
final response = await dio.get(
"/api/v1/whatsapp/tags/GetTags",
options: Options(headers: {"Authorization": "Bearer $token"}),
);
2. GET /api/v1/whatsapp/tags/GetConversationTags/{conversationId}
Permission: WhatsAppInbox.Tag
cURL — Linux/macOS:
curl -X GET "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/GetConversationTags/c1a2b3c4-0000-0000-0000-000000000001" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
cURL — Windows (cmd.exe):
curl -X GET "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/GetConversationTags/c1a2b3c4-0000-0000-0000-000000000001" ^
-H "Authorization: Bearer %TOKEN%" ^
-H "Content-Type: application/json"
JavaScript — fetch():
const response = await fetch("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/GetConversationTags/c1a2b3c4-0000-0000-0000-000000000001", {
method: "GET",
headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" }
});
const result = await response.json();
JavaScript — Axios:
const { data } = await axios.get("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/GetConversationTags/c1a2b3c4-0000-0000-0000-000000000001", { headers: { Authorization: `Bearer ${token}` } });
C# — HttpClient:
var client = httpClientFactory.CreateClient("Shumoul"); // BaseAddress = "https://{tenant}.shumoul.app"
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.GetAsync("/api/v1/whatsapp/tags/GetConversationTags/c1a2b3c4-0000-0000-0000-000000000001");
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadFromJsonAsync<Result<object>>();
Flutter — Dio:
final response = await dio.get(
"/api/v1/whatsapp/tags/GetConversationTags/c1a2b3c4-0000-0000-0000-000000000001",
options: Options(headers: {"Authorization": "Bearer $token"}),
);
3. POST /api/v1/whatsapp/tags/CreateTag
Permission: WhatsAppInbox.Tag
cURL — Linux/macOS:
curl -X POST "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/CreateTag" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"عميل مميز","fName":"VIP","color":"#FFD700","isActive":true}'
cURL — Windows (cmd.exe):
curl -X POST "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/CreateTag" ^
-H "Authorization: Bearer %TOKEN%" ^
-H "Content-Type: application/json" ^
-d "{\"name\":\"عميل مميز\",\"fName\":\"VIP\",\"color\":\"#FFD700\",\"isActive\":true}"
JavaScript — fetch():
const response = await fetch("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/CreateTag", {
method: "POST",
headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" },
body: JSON.stringify({
"name": "عميل مميز",
"fName": "VIP",
"color": "#FFD700",
"isActive": true
})
});
const result = await response.json();
JavaScript — Axios:
const { data } = await axios.post(
"https://{tenant}.shumoul.app/api/v1/whatsapp/tags/CreateTag",
{
"name": "عميل مميز",
"fName": "VIP",
"color": "#FFD700",
"isActive": true
},
{ headers: { Authorization: `Bearer ${token}` } }
);
C# — HttpClient:
var client = httpClientFactory.CreateClient("Shumoul"); // BaseAddress = "https://{tenant}.shumoul.app"
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var payload = new { name = "عميل مميز", fName = "VIP", color = "#FFD700", isActive = true };
var response = await client.PostAsJsonAsync("/api/v1/whatsapp/tags/CreateTag", payload);
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadFromJsonAsync<Result<object>>();
Flutter — Dio:
final response = await dio.post(
"/api/v1/whatsapp/tags/CreateTag",
data: {
"name": "عميل مميز",
"fName": "VIP",
"color": "#FFD700",
"isActive": true
},
options: Options(headers: {"Authorization": "Bearer $token"}),
);
4. PUT /api/v1/whatsapp/tags/UpdateTag/{tagId}
Permission: WhatsAppInbox.Tag
cURL — Linux/macOS:
curl -X PUT "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/UpdateTag/t1a2b3c4-0000-0000-0000-000000000001" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"id":"t1a2b3c4-0000-0000-0000-000000000001","name":"عميل مميز","fName":"VIP","color":"#FFC300","isActive":true}'
cURL — Windows (cmd.exe):
curl -X PUT "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/UpdateTag/t1a2b3c4-0000-0000-0000-000000000001" ^
-H "Authorization: Bearer %TOKEN%" ^
-H "Content-Type: application/json" ^
-d "{\"id\":\"t1a2b3c4-0000-0000-0000-000000000001\",\"name\":\"عميل مميز\",\"fName\":\"VIP\",\"color\":\"#FFC300\",\"isActive\":true}"
JavaScript — fetch():
const response = await fetch("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/UpdateTag/t1a2b3c4-0000-0000-0000-000000000001", {
method: "PUT",
headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" },
body: JSON.stringify({
"id": "t1a2b3c4-0000-0000-0000-000000000001",
"name": "عميل مميز",
"fName": "VIP",
"color": "#FFC300",
"isActive": true
})
});
const result = await response.json();
JavaScript — Axios:
const { data } = await axios.put(
"https://{tenant}.shumoul.app/api/v1/whatsapp/tags/UpdateTag/t1a2b3c4-0000-0000-0000-000000000001",
{
"id": "t1a2b3c4-0000-0000-0000-000000000001",
"name": "عميل مميز",
"fName": "VIP",
"color": "#FFC300",
"isActive": true
},
{ headers: { Authorization: `Bearer ${token}` } }
);
C# — HttpClient:
var client = httpClientFactory.CreateClient("Shumoul"); // BaseAddress = "https://{tenant}.shumoul.app"
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var payload = new { id = "t1a2b3c4-0000-0000-0000-000000000001", name = "عميل مميز", fName = "VIP", color = "#FFC300", isActive = true };
var response = await client.PutAsJsonAsync("/api/v1/whatsapp/tags/UpdateTag/t1a2b3c4-0000-0000-0000-000000000001", payload);
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadFromJsonAsync<Result<object>>();
Flutter — Dio:
final response = await dio.put(
"/api/v1/whatsapp/tags/UpdateTag/t1a2b3c4-0000-0000-0000-000000000001",
data: {
"id": "t1a2b3c4-0000-0000-0000-000000000001",
"name": "عميل مميز",
"fName": "VIP",
"color": "#FFC300",
"isActive": true
},
options: Options(headers: {"Authorization": "Bearer $token"}),
);
5. DELETE /api/v1/whatsapp/tags/DeleteTag/{tagId}
Permission: WhatsAppInbox.Tag
cURL — Linux/macOS:
curl -X DELETE "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/DeleteTag/t1a2b3c4-0000-0000-0000-000000000001" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
cURL — Windows (cmd.exe):
curl -X DELETE "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/DeleteTag/t1a2b3c4-0000-0000-0000-000000000001" ^
-H "Authorization: Bearer %TOKEN%" ^
-H "Content-Type: application/json"
JavaScript — fetch():
const response = await fetch("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/DeleteTag/t1a2b3c4-0000-0000-0000-000000000001", {
method: "DELETE",
headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" }
});
const result = await response.json();
JavaScript — Axios:
const { data } = await axios.delete("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/DeleteTag/t1a2b3c4-0000-0000-0000-000000000001", { headers: { Authorization: `Bearer ${token}` } });
C# — HttpClient:
var client = httpClientFactory.CreateClient("Shumoul"); // BaseAddress = "https://{tenant}.shumoul.app"
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.DeleteAsync("/api/v1/whatsapp/tags/DeleteTag/t1a2b3c4-0000-0000-0000-000000000001");
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadFromJsonAsync<Result<object>>();
Flutter — Dio:
final response = await dio.delete(
"/api/v1/whatsapp/tags/DeleteTag/t1a2b3c4-0000-0000-0000-000000000001",
options: Options(headers: {"Authorization": "Bearer $token"}),
);
6. POST /api/v1/whatsapp/tags/AssignTag/{conversationId}
Permission: WhatsAppInbox.Tag
cURL — Linux/macOS:
curl -X POST "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/AssignTag/c1a2b3c4-0000-0000-0000-000000000001" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"tagId":"t1a2b3c4-0000-0000-0000-000000000001"}'
cURL — Windows (cmd.exe):
curl -X POST "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/AssignTag/c1a2b3c4-0000-0000-0000-000000000001" ^
-H "Authorization: Bearer %TOKEN%" ^
-H "Content-Type: application/json" ^
-d "{\"tagId\":\"t1a2b3c4-0000-0000-0000-000000000001\"}"
JavaScript — fetch():
const response = await fetch("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/AssignTag/c1a2b3c4-0000-0000-0000-000000000001", {
method: "POST",
headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" },
body: JSON.stringify({
"tagId": "t1a2b3c4-0000-0000-0000-000000000001"
})
});
const result = await response.json();
JavaScript — Axios:
const { data } = await axios.post(
"https://{tenant}.shumoul.app/api/v1/whatsapp/tags/AssignTag/c1a2b3c4-0000-0000-0000-000000000001",
{
"tagId": "t1a2b3c4-0000-0000-0000-000000000001"
},
{ headers: { Authorization: `Bearer ${token}` } }
);
C# — HttpClient:
var client = httpClientFactory.CreateClient("Shumoul"); // BaseAddress = "https://{tenant}.shumoul.app"
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var payload = new { tagId = "t1a2b3c4-0000-0000-0000-000000000001" };
var response = await client.PostAsJsonAsync("/api/v1/whatsapp/tags/AssignTag/c1a2b3c4-0000-0000-0000-000000000001", payload);
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadFromJsonAsync<Result<object>>();
Flutter — Dio:
final response = await dio.post(
"/api/v1/whatsapp/tags/AssignTag/c1a2b3c4-0000-0000-0000-000000000001",
data: {
"tagId": "t1a2b3c4-0000-0000-0000-000000000001"
},
options: Options(headers: {"Authorization": "Bearer $token"}),
);
7. DELETE /api/v1/whatsapp/tags/RemoveTag/{conversationId}/{tagId}
Permission: WhatsAppInbox.Tag
cURL — Linux/macOS:
curl -X DELETE "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/RemoveTag/c1a2b3c4-0000-0000-0000-000000000001/t1a2b3c4-0000-0000-0000-000000000001" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
cURL — Windows (cmd.exe):
curl -X DELETE "https://{tenant}.shumoul.app/api/v1/whatsapp/tags/RemoveTag/c1a2b3c4-0000-0000-0000-000000000001/t1a2b3c4-0000-0000-0000-000000000001" ^
-H "Authorization: Bearer %TOKEN%" ^
-H "Content-Type: application/json"
JavaScript — fetch():
const response = await fetch("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/RemoveTag/c1a2b3c4-0000-0000-0000-000000000001/t1a2b3c4-0000-0000-0000-000000000001", {
method: "DELETE",
headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" }
});
const result = await response.json();
JavaScript — Axios:
const { data } = await axios.delete("https://{tenant}.shumoul.app/api/v1/whatsapp/tags/RemoveTag/c1a2b3c4-0000-0000-0000-000000000001/t1a2b3c4-0000-0000-0000-000000000001", { headers: { Authorization: `Bearer ${token}` } });
C# — HttpClient:
var client = httpClientFactory.CreateClient("Shumoul"); // BaseAddress = "https://{tenant}.shumoul.app"
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.DeleteAsync("/api/v1/whatsapp/tags/RemoveTag/c1a2b3c4-0000-0000-0000-000000000001/t1a2b3c4-0000-0000-0000-000000000001");
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadFromJsonAsync<Result<object>>();
Flutter — Dio:
final response = await dio.delete(
"/api/v1/whatsapp/tags/RemoveTag/c1a2b3c4-0000-0000-0000-000000000001/t1a2b3c4-0000-0000-0000-000000000001",
options: Options(headers: {"Authorization": "Bearer $token"}),
);
