In dit document wordt beschreven hoe het berichtenbeheer en de release op een Cisco SMA via de REST API kunnen worden geautomatiseerd om grote hoeveelheden berichten te verwerken.
Cisco raadt kennis van de volgende onderwerpen aan:
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Het automatiseren van het vrijgeven van berichten is essentieel voor omgevingen met een hoog e-mailvolume. Door de API te gebruiken, kunnen beheerders specifieke berichten filteren (bijvoorbeeld per afzender) en deze programmatisch vrijgeven, waardoor de operationele tijd en het risico op menselijke fouten worden verminderd in vergelijking met handmatig beheer in de GUI.
Om de quarantaine te beheren, begint u met het uitvoeren van een eerste query om de connectiviteit te verifiëren en de gegevensstructuur te bevestigen.
https://dhxyz-sma2.iphmx.com/sma/api/v2.0/quarantine/messages?quarantineType=pvo&quarantines=TEST_QUARANTINE&limit=25&offset=0&orderBy=received&orderDir=desc&startDate=2026-03-15T00:00:00.000Z&endDate=2026-03-16T00:00:00.000Z
Bij het ophalen van de informatie kunt u hetzelfde aantal berichten zien in de API-oproep en in de GUI.
postbode GET-aanvraag
TEST_QUARANTAINE-berichten
Genereer uw Base64-authenticatietoken voor de autorisatieheader:
echo -n 'username:password' | base64
Voer het curl-verzoek uit om de berichten in een lokaal bestand uit te pakken:
curl -X GET "https://dhxyz-sma2.iphmx.com/sma/api/v2.0/quarantine/messages?quarantineType=pvo&quarantines=TEST_QUARANTINE&limit=25&offset=0&orderBy=received&orderDir=desc&startDate=2026-03-15T00:00:00.000Z&endDate=2026-03-16T00:00:00.000Z" \
-H "Authorization: Basic token-generated-in-base64" \
-H "Accept: application/json" \
-o response.json
Controleer het totale aantal ontvangen berichten:
$ grep "totalCount" response.json | awk '{ print $2, $3}'
{"totalCount": 24},
Gebruik JQ om de MID's van de berichten die u wilt vrijgeven te filteren (bijvoorbeeld filteren op domein).
$ jq '[.data[] | select(.attributes.sender | endswith("@labcisco.com")) | .mid]' response.json > mids-labcisco-domain.json
$ cat mids-labcisco-domain.json
[
440,
439,
438,
437,
436,
435,
434,
433,
425,
414
]
Het aantal MID's kan overeenkomen als u een zoekopdracht uitvoert in de TEST_QUARANTINE in de SMA GUI.
quarantaine-onderzoek
quarantaineresultaten
Filter de MID's en genereer het payload-bestand.
$ jq '{action:"release", quarantineType:"pvo", quarantineName:"TEST_QUARANTINE", mids:[.data[] | select(.attributes.sender | endswith("@labcisco.com")) | .mid]}' response.json > payload.json
$ cat payload.json
{
"action": "release",
"quarantineType": "pvo",
"quarantineName": "TEST_QUARANTINE",
"mids": [
440,
439,
438,
437,
436,
435,
434,
433,
425,
414
]
}
Stuur het vrijgaveverzoek naar de SMA:
$ curl -X POST "https://dhxyz-sma2.iphmx.com/sma/api/v2.0/quarantine/messages" \
-H "Authorization: Basic token-generated-in-base64" \
-H "Content-Type: application/json" \
-d @payload.json
{"data": {"action": "release", "totalCount": 10}}
Bij het controleren van mail_logs voor vrijgegeven berichten, kunt u filteren op grep "release" mail_logs en dezelfde MID's die u hierboven filtert, dezelfde als degene die zijn vrijgegeven.
Sun Mar 15 11:48:21 2026 Info: MID 436 released from quarantine "TEST_QUARANTINE" (manual) t=1393
Sun Mar 15 11:48:21 2026 Info: MID 425 released from quarantine "TEST_QUARANTINE" (manual) t=1411
Sun Mar 15 11:48:21 2026 Info: MID 414 released from quarantine "TEST_QUARANTINE" (manual) t=2787
Sun Mar 15 11:48:21 2026 Info: MID 433 released from quarantine "TEST_QUARANTINE" (manual) t=1397
Sun Mar 15 11:48:21 2026 Info: MID 440 released from quarantine "TEST_QUARANTINE" (manual) t=1387
Sun Mar 15 11:48:21 2026 Info: MID 439 released from quarantine "TEST_QUARANTINE" (manual) t=1388
Sun Mar 15 11:48:21 2026 Info: MID 434 released from quarantine "TEST_QUARANTINE" (manual) t=1396
Sun Mar 15 11:48:21 2026 Info: MID 437 released from quarantine "TEST_QUARANTINE" (manual) t=1391
Sun Mar 15 11:48:21 2026 Info: MID 435 released from quarantine "TEST_QUARANTINE" (manual) t=1395
Sun Mar 15 11:48:21 2026 Info: MID 438 released from quarantine "TEST_QUARANTINE" (manual) t=1390
Als u dezelfde zoekopdracht uitvoert voor het domein waarin u de berichten hebt vrijgegeven, ziet u dat de zoekopdracht geen resultaten heeft, omdat alle berichten zijn vrijgegeven.
Nieuwe resultaten in quarantaine plaatsen
Voer de opdracht GET opnieuw uit vanuit Alle berichten ophalen om te bevestigen dat het totaal aantal is afgenomen of dat de specifieke MID's niet langer aanwezig zijn.
postbode GET-zoekopdracht
$ curl -X GET "https://dhxyz-sma2.iphmx.com/sma/api/v2.0/quarantine/messages?quarantineType=pvo&quarantines=TEST_QUARANTINE&limit=25&offset=0&orderBy=received&orderDir=desc&startDate=2026-03-12T00:00:00.000Z&endDate=2026-03-14T00:00:00.000Z" \
-H "Authorization: Basic token-generated-in-base64" \
-H "Accept: application/json" \
-o response.json
$ jq '[.data[] | select(.attributes.sender | endswith("@labcisco.com")) | .mid]' response.json > mids-labcisco-domain.json
$ cat mids-labcisco-domain.json
[]
Om bulkbewerkingen effectief af te handelen, moet u begrijpen hoe u grote datasets kunt beheren met behulp van paginering. Wanneer u een groot aantal berichten moet verwerken, moet u de limiet- en offsetparameters berekenen om ervoor te zorgen dat u de volledige set gegevens ophaalt zonder de API-responsbeperkingen te overschrijden.
Wanneer u een groot aantal berichten ophaalt, gebruikt u deze logica om uw verzoek te configureren:
Het proces dat in het vorige voorbeeld met 10 berichten is gebruikt, dient als basis voor alle bulkbewerkingen. Om uw workflow te schalen, herhaalt u eenvoudig door de wachtrij door de offset-parameter systematisch te verhogen. Door met deze waarden te 'spelen' - de limiet aan te passen om uw batchgrootte en de offset te definiëren om door de pagina's te navigeren - kunt u uw hele quarantainewachtrij effectief ophalen en verwerken, ongeacht het totale aantal berichten.
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
1.0 |
07-Apr-2026
|
Eerste vrijgave |