Producers
To accommodate new producers, implement the createProducer method, which takes as arguments the Organization entity instance and the billing system transaction ID.
The transaction ID is an identifier that PolicyCenter creates. Your plugin must track this billing system transaction ID. If PolicyCenter requests the same transaction ID twice, the billing system or your plugin that represents it must detect that PolicyCenter requested it twice. If you receive the same transaction ID more than once, you must ignore the duplicate requests.
Your method must return the billing system version of the public ID for this
Organization. Your method implementation must notify the external
system of the new producer in whatever way is appropriate.
Your code would typically use the following Organization entity properties:
NameAgencyBillPlanIDPublicIDTier.CodeContact(copy all the properties on the Contact entity instance for this producer)
Your code might use additional properties on Organization.
Update producers
You also must prepare for changes to the producer
within PolicyCenter. If it changes, PolicyCenter calls the billing system plugin to
send updates to the billing system. Implement the updateProducer
similar to your createProducer method. It takes the same
parameters but return nothing. Use the PolicyCenter public ID to identify the
producer in the external system.
You also must implement the method producerExists, which takes a
producer public ID and returns true or false to
indicate if the producer exists in the billing system.
Syncing producers
Your plugin must implement the syncOrganization method to synchronize an Organization object with the latest values from the corresponding producer in the billing system. The method takes a Organization object and returns nothing.
