![]() | |
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.
Resource Representation: PolicyFilter
Response
Status Code: 200
Type: List(Of PolicySummary)
A list of policy summaries that match search criteria.
Examples
Get policy with multiple filter items
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