get_master_plans_by_supp_field_m Sample Call and Response
This example returns the master subscription plans that carry a particular value in a supplemental object field, rather than plans belonging to a particular class or having a particular parent. It is based on the get_master_plans_by_supp_field_m method as defined in plsql_m_r73.yml.
This example covers a lookup by supplemental field number and value, returning a representative subset of each plan's attributes. It does not cover the alternative lookup by supplemental field name, the locale-based translation filters, or every optional plan attribute.
Sample call
{
"rest_call": "get_master_plans_by_supp_field_m",
"output_format": "json",
"client_no": 100234,
"auth_key": "8f3d2a19c6b74e0a9d1f5c6e7a8b9c0d",
"field_no": 845,
"field_val": "enterprise_tier"
}
The field_no field and the field_name field are alternatives to one another; this example uses the Aria-assigned field_no rather than the client-defined field_name. The field_val field is always required, since it specifies the actual supplemental field value that qualifying master plans must carry. In this example, supplemental field number 845 stores a product-line tag, and the value "enterprise_tier" identifies master plans that belong to the enterprise product line. The optional locale_no, locale_name, and include_translations fields, which control retrieval of translated plan names and descriptions, are left out of this example, so the response returns only the base-locale plan attributes. The rest_call and output_format fields are added by the REST layer and are not part of the method's own argument list.
Sample response
{
"error_code": 0,
"error_msg": "OK",
"master_plans_dtl_by_supp_field": [
{
"plan_no": 6210,
"plan_name": "Enterprise Gold",
"plan_desc": "Enterprise-tier plan with priority support and expanded usage limits.",
"billing_ind": 1,
"display_ind": 1,
"rollover_months": 0,
"rollover_plan_no": null,
"early_cancel_fee": 500.00,
"early_cancel_min_months": 12,
"suspension_period": 30,
"new_acct_status": 1,
"prepaid_ind": 0,
"currency_cd": "usd",
"client_plan_id": "ENT-GOLD",
"proration_invoice_timing_cd": "I"
},
{
"plan_no": 6211,
"plan_name": "Enterprise Platinum",
"plan_desc": "Enterprise-tier plan with dedicated account management and highest usage limits.",
"billing_ind": 1,
"display_ind": 1,
"rollover_months": 0,
"rollover_plan_no": null,
"early_cancel_fee": 1000.00,
"early_cancel_min_months": 12,
"suspension_period": 30,
"new_acct_status": 1,
"prepaid_ind": 0,
"currency_cd": "usd",
"client_plan_id": "ENT-PLATINUM",
"proration_invoice_timing_cd": "I"
}
]
}
An error_code of zero, paired with an error_msg of "OK", indicates the call succeeded. The proration_invoice_timing_cd value of "I" means that pro-rated charges for these plans are invoiced immediately rather than deferred to the next anniversary date. The master_plans_dtl_by_supp_field array shown here contains two representative plans tagged with the requested supplemental field value; a broader product line could return many more plans. The error_details field is left out of this response entirely because it is a nonpublic field not exposed to callers. This example also leaves out a number of less commonly used optional plan attributes present in the yml definition, including rollover_acct_status, rollover_acct_status_days, init_free_months, plan_2_assign_on_susp, default_notify_method, client_rollover_plan_id, client_plan_id_2_assign_on_susp, rollover_plan_duration and its related rollover/free-period duration fields, contract_rollover_plan_no and its associated contract rollover rate schedule array, and plan_translation_info, none of which are needed to tell this example's story. As a judgment call, the include_rs_summary request field is left out of this example entirely because it carries usage: unused in the yml, indicating Aria does not currently populate or act on it.