Die kurze Antwort ist, Sie haben Recht: Es gibt keine API-Unterstützung für die Suche nach CIM-Datensätzen. Und aufgrund der Struktur ist es nicht einfach, CIM alleine für die Suche nach allen Datensätzen zu verwenden.
Um sie in der Art und Weise suchen Sie beschreiben:
- Verwenden getCustomerProfileIdsRequest alle Kundenprofil-IDs erhalten Sie gespeichert haben.
- Verwenden Sie für jede von dieser Anforderung zurückgegebene CustomerProfileId getCustomerProfileRequest, um den spezifischen Datensatz für diesen Client abzurufen.
- Untersuchen Sie jeden Datensatz zu diesem Zeitpunkt, suchen Sie nach dem gewünschten Kriterium und speichern Sie die entsprechenden Datensätze in einer anderen Struktur. eine Klasse, ein mehrdimensionales Array, eine ADO DataTable, was auch immer.
Ja, das ist lästig. Aber es ist buchstäblich der einzige Weg, um fortzufahren.
Die zuvor erwähnte Reporting-API gilt nur für Transaktionen, nicht für den Customer Information Manager.
Beachten Sie, dass Sie zum Zeitpunkt der Aufzeichnung einer Transaktion die gewünschten Daten sammeln können. Solange Sie sie nicht persönlich identifizierbar machen, können Sie sie lokal speichern.
Beispielsweise könnten Sie eine Anfrage für alle Ihre CIM-Kundenprofildatensätze ausführen und den Status speichern, aus dem jeder Kunde in einer lokalen Datenbank stammt.
Wenn Sie nur den Status speichern, können Sie mit diesen Datensätzen arbeiten, da nichts den Status mit einem bestimmten Kundendatensatz verknüpft. In Zukunft könnten Sie eine Logik schreiben, um den lokalen Status-Datensatzspeicher zur gleichen Zeit zu aktualisieren, zu der auch Kundenprofilsätze erstellt/aktualisiert werden.
Ich weiß, das ist wahrscheinlich nicht das, was Sie hören wollten, aber sie sind die Pausen.
Ja, ich habe diesen Ansatz Samuel gedacht. Es ist hässlich, aber es würde funktionieren. Zu viel Mühe und Zeit. Hoffentlich wird Authorize.net dies in naher Zukunft für uns bereitstellen. In der Zwischenzeit habe ich keine andere Wahl, als einige Kundendaten lokal zu speichern (Name, Postleitzahl, etc.). – Axeva
Das klappt gut. Ich musste eine Reihe von falsch zugeordneten Daten korrigieren und musste alle CIM-Profile abfragen. Ich habe einfach ein paar DB-Tabellen erstellt, die CIM-Profile durchlaufen und die benötigten Daten bekommen, dann die fehlerhaften Daten korrigiert und die lokalen Tabellen gelöscht. Zugegeben, keine der Tabellen muss gelöscht werden, da nichts, was Sie von CIM erhalten können, das Sie lokal speichern würden, die PCI-Compliance ungültig machen würde. – Ricky