Richtlinien für die Transaktionsaufzeichnung konfigurieren

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Konfigurieren Sie die Richtlinien für die Transaktionsaufzeichnung für jedes API-Produkt in Ihrem API-Produktpaket, wie in den folgenden Abschnitten beschrieben.

Einführung

Eine Richtlinie zur Transaktionsaufzeichnung ermöglicht der Monetarisierung, Transaktionsparameter und benutzerdefinierte Attribute zu erfassen. Die Monetarisierung benötigt diese Informationen für die Monetarisierungsverarbeitung, z. B. die Anwendung von Preisplänen.

Wenn Sie beispielsweise einen Tarif für die Umsatzbeteiligung einrichten, wird ein Prozentsatz des Umsatzes, der aus jeder Transaktion mit Ihrem monetarisierten API-Produkt generiert wird, mit dem Entwickler der App geteilt, von der die Anfrage gesendet wurde. Die Umsatzbeteiligung basiert auf dem Netto- oder Bruttopreis der Transaktion (Sie legen fest, welchen). Das heißt, dass ein Prozentsatz des Brutto- oder Nettopreises jeder Transaktion verwendet wird, um die Umsatzbeteiligung zu bestimmen. Aus diesem Grund muss für die Monetarisierung der Brutto- oder Nettopreis einer Transaktion bekannt sein. Der Brutto- oder Nettopreis ergibt sich aus den Einstellungen, die Sie in der Richtlinie zur Transaktionsaufzeichnung vornehmen.

Wenn Sie einen Preislistenplan einrichten, bei dem Sie dem Entwickler jede Transaktion in Rechnung stellen, können Sie den Preis für den Plan anhand eines benutzerdefinierten Attributs festlegen, z. B. der Anzahl der in einer Transaktion übertragenen Byte. Für die Monetarisierung muss bekannt sein, was das benutzerdefinierte Attribut ist und wo es zu finden ist. Daher müssen Sie das benutzerdefinierte Attribut in der Richtlinie zur Transaktionsaufzeichnung angeben.

Neben der Angabe von Transaktionsattributen in der Transaktionsaufzeichnungsrichtlinie können Sie für die Abrechnung Erfolgskriterien für Transaktionen festlegen, um zu bestimmen, wann eine Transaktion erfolgreich ist. Beispiele für das Festlegen von Erfolgskriterien für Transaktionen finden Sie unter Beispiele für das Festlegen von Erfolgskriterien für Transaktionen in einer Richtlinie zur Transaktionsaufzeichnung. Sie können auch benutzerdefinierte Attribute für ein API-Produkt angeben, für das Sie einen Basistarif nutzen.

Richtlinie zur Transaktionsaufzeichnung konfigurieren

Rufen Sie wie unten beschrieben die Seite mit Produktsets auf.

Edge

Wenn Sie über die Edge-Benutzeroberfläche ein API-Produktpaket hinzufügen, müssen Sie die Richtlinie zur Transaktionsaufzeichnung konfigurieren. Gehen Sie dazu so vor:

  1. Wählen Sie im Abschnitt Richtlinie zur Transaktionsaufzeichnung das zu konfigurierende API-Produkt aus, wenn das Produktpaket mehrere API-Produkte enthält.
  2. Konfigurieren Sie Transaktionsattribute.
  3. Benutzerdefinierte Attribute konfigurieren
  4. Ressourcen mit eindeutigen Transaktions-IDs verknüpfen.
  5. Konfigurieren Sie Erstattungen.
  6. Wiederholen Sie diese Schritte für jedes API-Produkt, das im API-Produktpaket definiert ist.

Classic Edge (Private Cloud)

So konfigurieren Sie eine Transaktionsaufzeichnungsrichtlinie mithilfe der Classic Edge-Benutzeroberfläche:

  1. Melden Sie sich bei http://ms-ip:9000 an, wobei ms-ip die IP-Adresse oder der DNS-Name des Knotens des Verwaltungsservers ist.
  2. Wählen Sie oben in der Navigationsleiste Veröffentlichen > Produkte aus.
  3. Klicken Sie in der Zeile des entsprechenden API-Produkts auf + Richtlinie zur Transaktionsaufzeichnung. Das Fenster „Neue Richtlinie für die Transaktionsaufzeichnung“ wird angezeigt.
  4. Konfigurieren Sie die Transaktionsaufzeichnungsrichtlinie so:
  5. Klicken Sie auf Speichern.

Transaktionsattribute konfigurieren

Geben Sie im Abschnitt Transaktionsattribute die Kriterien an, die auf eine erfolgreiche Monetarisierungstransaktion hindeuten.

  1. Geben Sie im Feld Erfolgskriterien für Transaktionen den Ausdruck an, der auf dem Wert des Statusattributs basiert (unten beschrieben), um zu bestimmen, wann die Transaktion erfolgreich ist (zur Abrechnung). Transaktionen, die nicht erfolgreich sind, also die Kriterien im Ausdruck nicht erfüllen, werden zwar erfasst, aber es werden keine Preispläne auf sie angewendet. Beispiel:

    txProviderStatus == 'OK'

  2. Das Attribut Status enthält den Wert, der von dem im Feld Erfolgskriterien für Transaktionen konfigurierten Ausdruck verwendet wird. Konfigurieren Sie das Attribut Status, indem Sie die folgenden Felder festlegen:
    Field Beschreibung
    API-Ressource Im API-Produkt definierte URI-Muster, die zur Identifizierung monetarisierter Transaktionen verwendet werden.
    Antwortspeicherort Speicherort der Antwort, an dem das Attribut angegeben ist. Gültige Werte sind: Flussvariable, Header, JSON-Text und XML-Text.
    Wert Wert der Antwort. Wenn Sie mehr als einen Wert angeben möchten, klicken Sie auf + x hinzufügen, z. B. auf + Ablaufvariable hinzufügen.
  3. Zum Konfigurieren optionaler Transaktionsattribute aktivieren Sie die Ein-/Aus-Schaltfläche Use Optional Attributes (Optionale Attribute verwenden) und konfigurieren die in der folgenden Tabelle definierten Transaktionsattribute.
    Attribut Beschreibung
    Bruttopreis

    Dieses Attribut gilt nur für Preispläne, die das Umsatzbeteiligungsmodell verwenden. Für diese Preispläne ist entweder der Bruttopreis oder der Nettopreis obligatorisch. Der numerische Wert muss als String ausgedrückt werden. Bruttopreis für eine Transaktion. Für Umsatzbeteiligungspläne müssen Sie entweder das Attribut „Bruttopreis“ oder das Attribut „Nettopreis“ angeben. Welches Attribut erforderlich ist, hängt von der Grundlage der Umsatzbeteiligung ab. Sie können beispielsweise einen Preisplan für die Umsatzbeteiligung einrichten, der auf dem Bruttopreis einer Transaktion basiert. In diesem Fall ist das Feld „Bruttopreis“ erforderlich.

    Nettopreis

    Dieses Attribut gilt nur für Preispläne, die das Umsatzbeteiligungsmodell verwenden. Für diese Preispläne ist entweder der Bruttopreis oder der Nettopreis obligatorisch. Der numerische Wert muss als String ausgedrückt werden. Nettopreis für eine Transaktion. Für Pläne zur Umsatzbeteiligung müssen Sie entweder das Feld „Nettopreis“ oder das Feld „Bruttopreis“ angeben. Welches Feld erforderlich ist, hängt von der Grundlage der Umsatzbeteiligung ab. Sie können beispielsweise einen Plan für die Umsatzbeteiligung einrichten, der auf dem Nettopreis einer Transaktion basiert. In diesem Fall ist das Feld „Nettopreis“ erforderlich.

    Currency

    Dieses Attribut ist für Preispläne mit Umsatzbeteiligungsmodell erforderlich. Währungstyp für die Transaktion.

    Fehlercode

    Fehlercode, der der Transaktion zugeordnet ist. Sie liefert weitere Informationen zu einer fehlgeschlagenen Transaktion.

    Artikelbeschreibung

    Beschreibung der Transaktion.

    Steuer

    Dieses Attribut ist nur für Modelle zur Umsatzbeteiligung relevant und nur dann, wenn der Steuerbetrag in den API-Aufrufen erfasst wird. Der numerische Wert muss als String ausgedrückt werden. Steuerbetrag für den Kauf Nettopreis zuzüglich Steuern = Bruttopreis.

Wenn du beispielsweise die folgenden Werte festlegst, erhält die Monetarisierung den Wert der Flussvariablen aus der Nachrichtenantwort in einer Variablen namens response.reason.phrase. Wenn der Wert in Ordnung ist und die Richtlinie zur Überprüfung der Monetarisierungslimits an die API-Proxy-ProxyEndpoint-Anfrage angehängt ist, zählt die Monetarisierung als Transaktion.

Field Wert
Erfolgskriterien für Transaktionen txProviderStatus == 'OK'
Status: API-Ressource **
Status: Antwortort Flussvariable
Status: Ablaufvariable response.reason.phrase

Benutzerdefinierte Attribute konfigurieren

Im Abschnitt Benutzerdefinierte Attribute legen Sie benutzerdefinierte Attribute fest, die in die Richtlinie zur Transaktionsaufzeichnung aufgenommen werden sollen. Wenn Sie beispielsweise einen Preislistenplan einrichten, bei dem Sie dem Entwickler jede Transaktion in Rechnung stellen, können Sie den Preis für den Tarif anhand eines benutzerdefinierten Attributs wie der Anzahl der in einer Transaktion übertragenen Byte festlegen. Anschließend müssen Sie dieses benutzerdefinierte Attribut in die Richtlinie zur Transaktionsaufzeichnung aufnehmen.

Jedes dieser Attribute wird im Transaktionsprotokoll gespeichert, das Sie abfragen können. Sie werden auch angezeigt, wenn Sie einen Preisplan erstellen, sodass Sie eines oder mehrere dieser Attribute auswählen können, auf denen der Preis für den Tarif basieren soll.

Du kannst benutzerdefinierte Attribute, die in der Richtlinie zur Transaktionsaufzeichnung definiert sind, in deine zusammenfassenden Berichte zum Umsatz aufnehmen, wie unter Benutzerdefinierte Transaktionsattribute in zusammenfassende Umsatzberichte einschließen beschrieben.

Wenn Sie benutzerdefinierte Attribute konfigurieren möchten, aktivieren Sie die Ein-/Aus-Schaltfläche Benutzerdefinierte Attribute verwenden und definieren Sie bis zu 10 benutzerdefinierte Attribute. Für jedes benutzerdefinierte Attribut, das Sie in die Richtlinie zur Transaktionsaufzeichnung aufnehmen, müssen Sie die folgenden Informationen angeben.

Field Beschreibung
Name des benutzerdefinierten Attributs Geben Sie einen Namen ein, der das benutzerdefinierte Attribut beschreibt. Wenn der Preisplan auf einem benutzerdefinierten Attribut basiert, wird dieser Name dem Nutzer in den Preisplandetails angezeigt. Wenn das benutzerdefinierte Attribut beispielsweise die Dauer erfasst, sollten Sie dem Attribut „duration“ einen Namen geben. Die tatsächlichen Einheiten für das benutzerdefinierte Attribut (z. B. Stunden, Minuten oder Sekunden) werden im Feld für die Bewertungseinheit festgelegt, wenn Sie einen Preisplan für benutzerdefinierte Attribute erstellen (siehe Preisplan mit Details zu benutzerdefinierten Attributen angeben).
API-Ressource Wählen Sie ein oder mehrere URI-Suffixe (d. h. das URI-Fragment nach dem Basispfad) einer API-Ressource aus, auf die in der Transaktion zugegriffen wird. Die verfügbaren Ressourcen sind dieselben wie bei den Transaktionsattributen.
Antwortspeicherort Wählen Sie die Stelle in der Antwort aus, an der das Attribut angegeben ist. Gültige Werte sind: Flussvariable, Header, JSON-Text und XML-Text.
Wert Geben Sie einen Wert für das benutzerdefinierte Attribut an. Jeder von Ihnen angegebene Wert entspricht einem Feld, Parameter oder Inhaltselement, das das benutzerdefinierte Attribut an der von Ihnen angegebenen Position bereitstellt. Wenn Sie mehr als einen Wert angeben möchten, klicken Sie auf + x hinzufügen, z. B. auf + Ablaufvariable hinzufügen.

Wenn Sie beispielsweise ein benutzerdefiniertes Attribut mit dem Namen „Inhaltslänge“ konfigurieren und „Header“ als Antwortspeicherort auswählen, geben Sie Content-Length als Wert an, wenn der Wert für die Inhaltslänge im Feld „HTTP-Inhaltslänge“ angegeben ist.

Einige Transaktionen sind einfach und umfassen einen API-Aufruf an eine Ressource. Andere Transaktionen können jedoch komplexer sein. Angenommen, eine Transaktion für den Kauf eines In-App-Produkts in einer mobilen Gaming-App beinhaltet mehrere Ressourcenaufrufe:

  • Ein Aufruf einer Reserve API, die dafür sorgt, dass ein im Voraus bezahlter Nutzer genügend Guthaben hat, um das Produkt zu kaufen, und das Geld für den Kauf zuweist („reserviert“).
  • Ein Aufruf einer Gebühren-API, die den Betrag vom Konto des Prepaid-Nutzers abzieht.

Damit die gesamte Transaktion verarbeitet werden kann, muss bei der Monetarisierung die erste Ressource (Aufruf und Antwort an und von der Reserve API) mit der zweiten Ressource (Aufruf und Antwort an und von der Charge API) verknüpft werden. Dazu werden Informationen benötigt, die Sie im Abschnitt Ressourcen mit eindeutiger Transaktions-ID verknüpfen angeben.

Zum Konfigurieren von benutzerdefinierten Attributen aktivieren Sie die Ein-/Aus-Schaltfläche Eindeutige Transaktions-IDs verwenden und verknüpfen die Transaktionen. Für jede Transaktion geben Sie eine Ressource, einen Antwortspeicherort und einen Attributwert an, die mit den entsprechenden Werten in den anderen Transaktionen verknüpft sind.

Angenommen, der Reserve API-Aufruf und der Charge API-Aufruf sind folgendermaßen verknüpft: Das Feld session_id im Antwortheader der Reserve API entspricht einem Antwortheader namens reference_id der Charge API. In diesem Fall können Sie die Einträge im Abschnitt Ressourcen mit eindeutiger Transaktions-ID verknüpfen wie folgt festlegen:

Ressource Antwortspeicherort Wert
reserve/{id}**

Header

session_id
/charge/{id}**

Header

reference_id

Erstattungen konfigurieren

Im Abschnitt Erstattungen gibst du Attribute an, die bei der Monetarisierung zur Verarbeitung von Erstattungen verwendet werden.

Angenommen, ein Nutzer kauft ein Produkt über eine mobile App, die Ihre monetarisierten APIs verwendet. Die Transaktion wird gemäß dem gemeinsamen Umsatzplan monetarisiert. Angenommen, der Nutzer ist mit dem Produkt unzufrieden und möchte es zurückgeben. Wenn die Erstattung des Produkts über einen Aufruf deiner API erfolgt, über die die Erstattung erfolgt, werden bei der Monetarisierung die erforderlichen Anpassungen bei der Monetarisierung vorgenommen. Dies geschieht basierend auf den Informationen, die Sie in den Richtlinien zur Transaktionsaufzeichnung im Abschnitt „Erstattungen“ angeben.

Wenn Sie Erstattungen konfigurieren möchten, aktivieren Sie die Ein-/Aus-Schaltfläche Erstattungsattribute verwenden und legen Sie die Erstattungsdetails fest:

  1. Definieren Sie die Erstattungskriterien, indem Sie die folgenden Felder festlegen:
    Field Beschreibung
    Antwortspeicherort Ressource für die Erstattungstransaktion. Wenn das API-Produkt mehrere Ressourcen bereitstellt, kannst du nur die Ressource auswählen, die die Erstattung ausführt.
    Erfolgskriterien für Erstattungen Ausdruck, der auf dem Wert des Statusattributs (siehe unten) basiert und zu Berechnungszwecken verwendet wird, um zu bestimmen, wann die Erstattungstransaktion erfolgreich ist. Erstattungstransaktionen, die nicht erfolgreich sind, also die Kriterien im Ausdruck nicht erfüllen, werden zwar erfasst, Preispläne werden jedoch nicht auf sie angewendet. Beispiel:

    txProviderStatus == 'OK'

  2. Konfigurieren Sie das Attribut Status, indem Sie die folgenden Felder festlegen:
    Field Beschreibung
    Antwortspeicherort Speicherort der Antwort, an dem das Attribut angegeben ist. Gültige Werte sind: Flussvariable, Header, JSON-Text und XML-Text.
    Wert Wert der Antwort. Wenn Sie mehr als einen Wert angeben möchten, klicken Sie auf + x hinzufügen, z. B. auf + Ablaufvariable hinzufügen.
  3. Konfigurieren Sie das Attribut Parent ID (Übergeordnete ID) durch Festlegen der folgenden Felder:
    Field Beschreibung
    Antwortspeicherort Speicherort der Antwort, an dem das Attribut angegeben ist. Gültige Werte sind: Flussvariable, Header, JSON-Text und XML-Text.
    Wert ID der Transaktion, für die eine Erstattung verarbeitet wird. Wenn ein Nutzer beispielsweise ein Produkt kauft und dann eine Erstattung anfordert, ist die übergeordnete Transaktions-ID die ID der Kauftransaktion. Wenn Sie mehr als einen Wert angeben möchten, klicken Sie auf + x hinzufügen, z. B. auf + Ablaufvariable hinzufügen.
  4. Um optionale Erstattungsattribute zu konfigurieren, aktivieren Sie die Ein-/Aus-Schaltfläche Optionale Erstattungsattribute verwenden und konfigurieren Sie die Attribute. Die optionalen Erstattungsattribute sind mit den optionalen Transaktionsattributen identisch, die unter Transaktionsattribute konfigurieren definiert sind.

Richtlinien für Transaktionsaufzeichnungen mithilfe der API verwalten

In den folgenden Abschnitten wird beschrieben, wie Sie Richtlinien zur Transaktionsaufzeichnung mithilfe der API verwalten.

Richtlinie zur Transaktionsaufzeichnung mithilfe der API erstellen

Sie geben eine Richtlinie zur Transaktionsaufzeichnung als Attribut eines API-Produkts an. Der Wert des Attributs gibt Folgendes an:

  • Das URI-Suffix der Produktressource, an die die Transaktionsaufzeichnungsrichtlinie angehängt ist. Das Suffix enthält eine Mustervariable, die in geschweifte Klammern gesetzt ist. Die Mustervariable wird von API-Diensten zur Laufzeit ausgewertet. Das folgende URI-Suffix enthält beispielsweise die Mustervariable {id}.
    /reserve/{id}**
    

    In diesem Fall werten API-Dienste das URI-Suffix der Ressource als /reserve aus, gefolgt von einem beliebigen Unterverzeichnis, das mit einer vom API-Anbieter definierten ID beginnt.

  • Die Ressource in der Antwort, an die sie angehängt ist. Ein API-Produkt kann mehrere Ressourcen haben und jede Ressource kann eine Transaktionsaufzeichnungsrichtlinie haben, die an eine Antwort von dieser Ressource angehängt ist.
  • Eine Richtlinie zum Extrahieren von Variablen, mit der die Richtlinie zur Transaktionsaufzeichnung Inhalte aus einer Antwortnachricht für die Transaktionsparameter extrahieren kann, die Sie erfassen möchten.

Sie fügen einem API-Produkt das Richtlinienattribut für die Transaktionsaufzeichnung hinzu, indem Sie eine PUT-Anfrage an die Verwaltungs-API https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} (und nicht an eine Monetarisierungs-API) senden.

Kriterien für den Transaktionserfolg über die API angeben

Sie können Erfolgskriterien für Transaktionen angeben, um zu bestimmen, wann eine Transaktion erfolgreich ist (zu Abrechnungszwecken). Transaktionen, die nicht erfolgreich sind, also die Kriterien des Ausdrucks erfüllen, werden zwar erfasst, aber es werden keine Preispläne auf sie angewendet. Beispiele für das Festlegen von Erfolgskriterien für Transaktionen finden Sie unter Beispiele für das Festlegen von Erfolgskriterien für Transaktionen in einer Richtlinie zur Transaktionsaufzeichnung.

Sie geben die Erfolgskriterien für Transaktionen als Attribut eines API-Produkts an. Senden Sie dazu eine PUT-Anfrage an die Verwaltungs-API https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} und nicht an die Monetarisierungs-API.

In der folgenden Anfrage ist eine Transaktion beispielsweise erfolgreich, wenn der Wert von txProviderStatus success ist (die Spezifikationen für Erfolgskriterien für Transaktionen sind hervorgehoben).

$ curl -H "Content-Type: application/json" -X PUT -d \ 
'{
        "apiResources": [
        "/reserve/{id}**"       
        ],
        "approvalType": "auto",
        "attributes": [                         
        {
                "name": "MINT_TRANSACTION_SUCCESS_CRITERIA",
                "value": "txProviderStatus == 'OK'"
        }
        ],
        "description": "Payment",
        "displayName": "Payment",
        "environments": [
        "dev"
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
        ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

Benutzerdefinierte Attribute über die API festlegen

Sie können benutzerdefinierte Attribute für ein API-Produkt angeben, für das Sie einen Basistarif nutzen. Wenn Sie beispielsweise einen Preislistenplan einrichten, bei dem Sie dem Entwickler jede Transaktion in Rechnung stellen, können Sie den Preis für den Tarif anhand eines benutzerdefinierten Attributs wie der Anzahl der in einer Transaktion übertragenen Byte festlegen. Wenn Sie einen Preisplan erstellen, können Sie ein oder mehrere benutzerdefinierte Attribute angeben, auf denen der Preis für den Plan basieren soll. Jedes Produkt in einem Preisplan kann jedoch nur ein benutzerdefiniertes Attribut haben, auf dem der Preis für den Tarif basieren soll.

Sie geben benutzerdefinierte Attribute als Attribute eines API-Produkts an. Senden Sie dazu eine PUT-Anfrage an die Verwaltungs-API https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} und nicht an die Monetarisierungs-API.

Für jedes benutzerdefinierte Attribut, das Sie einem API-Produkt hinzufügen, müssen Sie einen Namen und einen Attributwert angeben. Der Name muss das Format MINT_CUSTOM_ATTRIBUTE_{num} haben, wobei {num} eine Ganzzahl ist.

In der folgenden Anforderung werden beispielsweise drei benutzerdefinierte Attribute angegeben.

$ curl -H "Content-Type: application/json" -X PUT -d \
'{
        "apiResources": [
        "/reserve/{id}**",
        "/charge/{id}**"
        ],
        "approvalType": "auto",
        "attributes": [
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_1",
                "value": "test1"
        },
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_2",
                "value": "test2"
        }
 
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
                ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

Beispiele für das Festlegen von Erfolgskriterien für Transaktionen in einer Richtlinie zur Transaktionsaufzeichnung

Die folgende Tabelle enthält Beispiele für erfolgreiche und fehlgeschlagene Transaktionen, die auf dem Ausdruck für Erfolgskriterien für Transaktionen und dem txProviderStatus-Wert basieren, der vom API-Proxy zurückgegeben wird. txProviderStatus ist die interne Variable, die von der Monetarisierung verwendet wird, um den Transaktionserfolg zu bestimmen.

Erfolgskriterienausdruck Gültiger Ausdruck? txProviderStatus-Wert vom API-Proxy Bewertungsergebnis
null true "200" false
"" false "200" false
" " false "200" false
"sdfsdfsdf" false "200" false
"txProviderStatus =='100'" true "200" false
"txProviderStatus =='200'" true "200" true
"true" true "200" true
"txProviderStatus=='OK' OR
txProviderStatus=='Not Found' OR
txProviderStatus=='Bad Request'"
true "OK" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "OK" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "Not Found" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "Bad Request" true
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "Bad Request" true
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" true null false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "bad request" true
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "Redirect" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "heeeelllooo" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" true null false
"txProviderStatus == 100" true "200" false