Konten
In PolicyCenter ist ein Konto mit einer Person oder einem Unternehmen verknüpft und wird in der Regel erstellt, wenn ein Angebot für eine Police für einen neuen Interessenten erstellt wird. Ein Konto muss mindestens den Namen des Kontoinhabers, grundlegende Ortsinformationen für den Kontoinhaber und Informationen über den mit dem Konto verknüpften Vermittler enthalten.
Erstellen eines Kontos
Zum Erstellen eines neuen Kontos in PolicyCenter kann ein Aufrufer den POST /account/v1/accounts-Endpunkt über die Account-API verwenden. Beim Erstellen eines Kontos muss der Aufrufer die folgenden Daten in den Anforderungs-Nutzdaten bereitstellen:
- einen Kontoinhaber
- einen Hauptstandort
- eine Vermittlernummer
Ein Aufrufer kann gemäß der Definition im Schema für die Account-Ressource zusätzliche Kontoinformationen in den Anforderungs-Nutzdaten bereitstellen.
Namensprüfung
Die Namensprüfung ist der Abgleichungsprozess mit einer oder mehreren Datenbanken von Vermittlern oder Konten zur Sicherstellung, dass es sich bei einer Person oder einem Unternehmen nicht um ein bereits in PolicyCenter vorhandenes Konto handelt. Da die Anforderungen für die Namensprüfung von Versicherer zu Versicherer unterschiedlich sind, wird sie nicht direkt in den System-APIs implementiert. Implementoren von Services, die eine Namensprüfung erfordern, können diese Funktion in ihrem eigenen Code konfigurieren.
Kontoinhaber
Der Kontoinhaber gibt den Hauptkontakt an, der mit dem Konto verknüpft wird. Ein Kontoinhaber kann eine Einzelperson oder ein Unternehmen sein, und diese Informationen müssen in der Anforderung angegeben werden. Darüber hinaus muss die Anforderung auch einen Namen und eine Adresse für den Kontoinhaber enthalten.
Bei der Kontoerstellung wird der Kontostatus auf „Ausstehend“ gesetzt. Dies gibt an, dass das Konto vorhanden ist, aber keine Policen damit verknüpft sind.
Aufrufe von POST /account/v1/accounts sind nicht idempotent. Ein Aufrufer kann mehrere neue Konten für dieselbe Person oder dasselbe Unternehmen erstellen.
Festlegen eines Kontoinhabers
Um den Kontoinhaber festzulegen, kann der Aufrufer das initialAccountHolder-Attribut in den Anforderungs-Nutzdaten verwenden. Alternativ kann der Aufrufer das accountHolder-Attribut zusammen mit einem Einschluss verwenden, der eine AccountContact-Ressource enthält. Der letztere Ansatz beinhaltet den Anforderungseinschluss. Weitere Informationen finden Sie unter Anforderungseinschluss.
Beim Festlegen eines Kontoinhabers muss der Aufrufer Werte für die Felder contactSubtype, primaryAddress.addressLine1, primaryAddress.city, primaryAddress.state und primaryAddress.postalCode angeben. Wenn das Konto für eine Einzelperson bestimmt ist, muss der Aufrufer auch die Felder firstName und lastName einschließen. Wenn das Konto für ein Unternehmen bestimmt ist, muss der Aufrufer das Feld companyName einschließen.
Im folgenden Beispiel werden die erforderlichen Felder für einen einzelnen Kontoinhaber an das initialAccountHolder-Attribut angehängt:
{
"data": {
"attributes": {
"initialAccountHolder": {
"contactSubtype": "Person",
"firstName": "Bill",
"lastName": "Preston",
"primaryAddress": {
"addressLine1": "2850 S. Delaware St.",
"city": "San Mateo",
"postalCode": "94403",
"state": {
"code": "CA"
}
}
},
. . .
}
}
}
Im nächsten Beispiel wird veranschaulicht, wie der Kontoinhaber für dieselbe Person mithilfe des accountHolder-Attributs mit einem AccountContact-Einschluss festgelegt wird:
{
"data": {
"attributes": {
"accountHolder": {
"refid": "newperson"
},
. . .
}
},
"included": {
"AccountContact": [
{
"attributes": {
"contactSubtype": "Person",
"firstName": "Bill",
"lastName": "Preston",
"primaryAddress": {
"addressLine1": "2850 S. Delaware St.",
"city": "San Mateo",
"postalCode": "94403",
"state": {
"code": "CA"
}
}
},
"method": "post",
"refid": "newperson",
"uri": "/account/v1/accounts/this/contacts"
}
]
}
}
Im nächsten Beispiel wird veranschaulicht, wie der Kontoinhaber für ein Unternehmen mithilfe des initialAccountHolder-Attributs festgelegt wird:
{
"data": {
"attributes": {
"initialAccountHolder": {
"contactSubtype": "Company",
"companyName": "Preston, Inc.",
"primaryAddress": {
"addressLine1": "2850 S. Delaware St.",
"city": "San Mateo",
"postalCode": "94403",
"state": {
"code": "CA"
}
}
},
. . .
}
}
}
Hauptstandort
Der Hauptstandort gibt die Hauptadresse an, die mit dem Konto verknüpft wird.
Um den Hauptstandort des Kontos festzulegen, kann der Aufrufer das initialPrimaryLocationAttribut in den Anforderungs-Nutzdaten verwenden. Alternativ kann der Aufrufer das primaryLocation-Attribut zusammen mit einem Einschluss verwenden, der eine AccountLocation-Ressource enthält. Der letztere Ansatz beinhaltet den Anforderungseinschluss. Weitere Informationen finden Sie unter Anforderungseinschluss.
Beim Erstellen eines Kontos kann der Kontostandort spezifisch oder nicht spezifisch angegeben werden. Eine spezifische Angabe des Kontostandorts muss die Straßenadresse, den Ort, das Bundesland/den Kanton und die Postleitzahl enthalten. Eine nicht spezifische Angabe des Kontostandorts muss mindestens das Bundesland/den Kanton enthalten, da dies erforderlich ist, um mehrere gebietsschemabezogene Einschränkungen für das Konto zu bestimmen.
Festlegen eines spezifischen Kontostandorts
Beim Festlegen eines spezifischen Standorts muss der Aufrufer Werte für die Felder addressLine1, city, state und postalCode angeben. Im folgenden Beispiel werden diese Felder an das initialPrimaryLocation-Attribut angehängt:
{
"data": {
"attributes": {
. . .
"initialPrimaryLocation": {
"addressLine1": "2850 S. Delaware St.",
"city": "San Mateo",
"state": {
"code": "CA"
},
"postalCode": "94403"
}
}
}
}
Im nächsten Beispiel wird dasselbe mit dem Anforderungseinschluss erreicht. Dabei wird das primaryLocation-Attribut mit einem AccountLocation-Einschluss verwendet:
{
"data": {
"attributes": {
. . .
"primaryLocation": {
"refid": "newlocation"
}
}
},
"included": {
"AccountLocation": [
{
"attributes": {
"addressLine1": "2850 S. Delaware St.",
"city": "San Mateo",
"postalCode": "94403",
"state": {
"code": "CA"
}
},
"method": "post",
"refid": "newlocation",
"uri": "/account/v1/accounts/this/locations"
}
]
}
}
Festlegen eines nicht spezifischen Kontostandorts
Beim Festlegen eines nicht spezifischen Standorts muss der Aufrufer Werte für die Felder state und nonSpecific angeben. Im folgenden Beispiel werden diese Felder an das initialPrimaryLocation-Attribut angehängt:
{
"data": {
"attributes": {
. . .
"initialPrimaryLocation": {
"nonSpecific": true,
"state": {
"code": "CA"
}
}
}
}
}
Im nächsten Beispiel wird dasselbe mit dem Anforderungseinschluss erreicht. Dabei wird das primaryLocation-Attribut mit einem AccountLocation-Einschluss verwendet:
{
"data": {
"attributes": {
. . .
"primaryLocation": {
"refid": "newlocation"
}
}
},
"included": {
"AccountLocation": [
{
"attributes": {
"nonSpecific": true,
"state": {
"code": "CA"
}
},
"method": "post",
"refid": "newlocation",
"uri": "/account/v1/accounts/this/locations"
}
]
}
}
Vermittlernummer
Zum Zeitpunkt der Erstellung muss ein Konto mit einer Vermittlernummer verknüpft werden. Dies ist eine PolicyCenter-Anforderung und kann nicht durch die System-APIs umgangen werden.
Die Anforderungs-Nutzdaten müssen ein producerCodes-Attribut enthalten. Dies ist ein Array eines Objekts, das ein id-Feld für die Vermittlernummer enthält:
{
"data": {
"attributes": {
. . .,
"producerCodes": [
{
"id": "pc:6"
}
]
}
}
}
Beispiel: Erstellen eines Kontos
Das folgende Codebeispiel zeigt die vollständigen Anforderungs-Nutzdaten, die per POST zum Endpunkt /account/v1/accounts übertragen werden können. Das Beispiel enthält die optionalen Eigenschaften preferredCoverageCurrency und preferredSettlementCurrency. Die Eigenschaften „Kontoinhaber“ und „Hauptstandort“ werden durch Anforderungseinschluss angewendet. Details zum Anforderungseinschluss finden Sie unter Anforderungseinschluss.
Anforderungs-Nutzdaten zum Erstellen eines neuen Kontos unter Verwendung von Anforderungseinschluss
{
"data": {
"attributes": {
"accountHolder": {
"refid": "newperson"
},
"organizationType": {
"code": "individual"
},
"preferredCoverageCurrency": {
"code": "USD"
},
"preferredSettlementCurrency": {
"code": "USD"
},
"primaryLocation": {
"refid": "newloc"
},
"producerCodes": [
{
"id": "pc:6"
}
]
}
},
"included": {
"AccountContact": [
{
"attributes": {
"contactSubtype": "Person",
"firstName": "Bill",
"lastName": "Preston",
"primaryAddress": {
"addressLine1": "2850 S Delaware St #400",
"city": "San Mateo",
"postalCode": "94403",
"state": {
"code": "CA"
}
}
},
"method": "post",
"refid": "newperson",
"uri": "/account/v1/accounts/this/contacts"
}
],
"AccountLocation": [
{
"attributes": {
"locationCode": "0001",
"locationName": "Location 0001",
"nonSpecific": true,
"postalCode": "94403",
"state": {
"code": "CA"
}
},
"method": "post",
"refid": "newloc",
"uri": "/account/v1/accounts/this/locations"
}
]
}
}
Konten suchen
Über die Konto-API kann ein Aufrufer den Endpunkt /account/v1/search/accounts verwenden, um nach Konten zu suchen. Um eine Suche auszuführen, kann ein Aufrufer eine POST-Anforderung an den Suchendpunkt senden. Die Anforderungs-Nutzdaten müssen eines der folgenden Elemente enthalten:
accountNumber: KontonummercompanyName: Vollständiger Unternehmensname. Geben Sie bei der Suche nach Unternehmensname keine persönlichen Namensdaten ein.firstNameundlastName: Geben Sie den Vor- und Nachnamen des Kontoinhabers ein. Bei der Suche nach dem Namen des Kontoinhabers müssen beide Felder in der Anforderung enthalten sein. Geben Sie bei der Suche nach persönlichem Namen keine Unternehmensnamensdaten ein.organization.id: UnternehmensidentifikationsnummerphoneNumber: TelefonnummerproducerCode.id: VermittlernummertaxId: Steueridentifikationsnummer
Bei der Suche nach persönlichem Namen oder Unternehmensnamen muss der vollständige Name eingegeben werden. Die teilweise Übereinstimmung wird nicht unterstützt. Auch die Suche nach Adresse wird nicht unterstützt.
Der folgende Codeblock ist ein Anforderungstext für eine Suche basierend auf einem persönlichen Namen:
{
"data": {
"attributes": {
"firstName": "Ray",
"lastName": "Newton"
}
}
}
Eine erfolgreiche Suchanfrage gibt ein Array von Kontoobjekten zurück. Eine Suche mit dem oben genannten Anforderungstext gibt beispielsweise Folgendes zurück:
{
"count": 1,
"data": [
{
"attributes": {
"accountHolder": {
"displayName": "Ray Newton",
"id": "test_pp:2"
},
"accountNumber": "C000143542",
"accountStatus": {
"code": "Active",
"name": "Active"
},
"businessOperationsDescription": "business description",
"createdDate": "2021-04-10T22:12:13.688Z",
"frozen": false,
"id": "pc:2",
"industryCode": {
"code": "0740",
"description": "Veterinarians / Veterinarian / Veterinary Services",
"id": "SIC:0740"
},
"numberOfContacts": "8",
"organizationType": {
"code": "commonownership",
"name": "Common ownership"
},
"preferredCoverageCurrency": {
"code": "usd",
"name": "USD"
},
"preferredSettlementCurrency": {
"code": "usd",
"name": "USD"
},
"primaryLanguage": {
"code": "en_US",
"name": "English (US)"
},
"primaryLocale": {
"code": "en_US",
"name": "United States (English)"
},
"primaryLocation": {
"displayName": "4: 1253 Paloma Ave, Arcadia, CA",
"id": "pc:749",
"type": "AccountLocation",
"uri": "/account/v1/accounts/pc:2/locations/pc:749"
},
"producerCodes": [
{
"displayName": "100-002541",
"id": "pc:6"
}
]
},
. . .
}
Der Suchendpunkt unterstützt auch bestimmte gebietsschemaspezifische Felder:
companyNameKanji: Vollständiger Unternehmensname, auf JapanischfirstNameKanji: Vollständiger Vorname, auf Japanisch. Kann in Kombination mitfirstNameoderlastNameKanjiverwendet werden.lastNameKanji: Vollständiger Nachname, auf Japanisch. Kann in Kombination mitlastNameoderfirstNameKanjiverwendet werden.particle: Im Namen des Kontoinhabers verwendetes Partikel (entsprechend derparticle-Eigenschaft einer AccountContact-Ressource)
Der folgende Codeblock ist ein Anforderungstext für eine Suche, die auf Vorname und Vorname auf Japanisch basiert:
{
"data": {
"attributes": {
"firstNameKanji": "太郎",
"firstName": "Taro"
}
}
}