Click or drag to resize

Policy Search

SDK provides the ability to search for policy for the particular client.
Post /api/policy_search

This method is used to retrieve summary for all policies based on a specified search criteria.

Can be accessed via the URI [Your_SDK_Service]/api/policy_search.

Request Body

User can get all the related policies summary by providing in the body of the request client_guid (required parameter) and any of optional parameters which include line_type_code, service_summary_stage_code and additional 6 parameters used to filter policies by rating detail address fields: rating_detail_address_line_1, rating_detail_address_line_2, rating_detail_address_line_3, rating_detail_address_line_4, rating_detail_address_line_5, rating_detail_postcode.

Response

  • Status Code: 200

    Type: List(Of PolicySummary)

    A list of policy summaries that match search criteria.

Examples

Get policy with multiple filter items

VB
 1' Dim SDK_SERVICE_URI As New Uri("https://Fully_Qualified_Service_Computer_Name/SDK_Service")
 2' Constant DATABASE preset to current database name
 3' Constant AUTHENTICATION_KEY set to current authentication key
 4
 5'This sample will retrieve existing policies that are contained by a specified client and contain a line with a code of 'UKMT'.
 6'The query also filters for policies either issued during a certain time period or cancelled.
 7Try
 8  Dim sUrl As String = SDK_SERVICE_URI & "/api/policy_search"
 9
10  'Filter for policies than contain a UK Motor line.
11  Dim dictLineTypeCode As New Dictionary(Of String, Object) From {
12                           {"filter_value", "UKMT"}, 'Line type code.
13                           {"comparison_type_code", "0"} 'Code for 'Equals'. can be obtained from Post /api/lookup_search/comparison_type
14                    }
15
16  'Filter for policies that have been marked as issued during a target month specified by a date range or cancelled.
17  Dim lstServiceSummaryStageCode As New List(Of Dictionary(Of String, String)) From {
18                      {New Dictionary(Of String, String) From {
19                      {"status_code", "I"}, 'Code for 'Issued'. can be obtaiend from Post /api/lookup_search/service_status.
20                      {"status_changed_begins", "2020-04-05T11:21:00Z"},
21                      {"status_changed_ends", "2020-05-05T12:21:00Z"}}},
22                      {New Dictionary(Of String, String) From {
23                      {"status_code", "C"}}} 'Code for 'Cancelled'. can be obtaiend from Post /api/lookup_search/service_status.
24                    }
25
26  Dim dictRequest As New Dictionary(Of String, Object) From {
27                           {"client_guid", "DE5F8ACB-2FC9-449F-8516-AFC0613F57FD"}, 'Client guids can be obtained from Get_Cleint.
28                           {"line_type_code", dictLineTypeCode}, 'Line types can be obtained from Get_Policy_policyLineType.
29                           {"service_summary_stage_code", lstServiceSummaryStageCode}
30                    }
31
32  Dim jss As New System.Web.Script.Serialization.JavaScriptSerializer
33  Dim sRequestBody As String = jss.Serialize(dictRequest)
34
35  Dim sResponse As String
36  Using oWebclient As New WebClient
37    oWebclient.Encoding = Encoding.UTF8
38    With oWebclient.Headers
39      .Add("AuthenticationKey", AUTHENTICATION_KEY)
40      .Add("DatabaseName", DATABASE)
41      .Add("Content-type", "application/json")
42    End With
43    Dim aResponse As Byte() = oWebclient.UploadData(sUrl, "POST", Encoding.ASCII.GetBytes(sRequestBody))
44    sResponse = oWebclient.Encoding.GetString(aResponse)
45  End Using
46
47  Dim lstPolicies As List(Of Dictionary(Of String, Object)) = jss.Deserialize(Of List(Of Dictionary(Of String, Object)))(sResponse)
48  For Each dictPolicy As Dictionary(Of String, Object) In lstPolicies
49    Console.WriteLine("Policy Guid: " & dictPolicy("policy_guid").ToString)
50    Dim lstLineGuids As ArrayList = CType(dictPolicy("line_guids"), ArrayList)
51    Console.WriteLine("Line Guids: " & String.Join(", ", lstLineGuids))
52    Console.WriteLine("Policy Number: " & If(dictPolicy("policy_number") Is Nothing, "blank", dictPolicy("policy_number").ToString))
53  Next
54
55Catch ex As WebException
56  Dim sStatusCode As String = ex.Status.ToString
57  Dim sError As String = New IO.StreamReader(ex.Response.GetResponseStream).ReadToEnd
58  Console.WriteLine("Status Code: " & sStatusCode & ", Error: " & sError)
59Catch ex As Exception
60  Console.WriteLine(ex.Message)
61End Try
See Also