glossary variable-arg-definition

Variable Argument Definitions

Some functions have different argument definitions depending on the presence/absence or value of another supplied argument (a control argument).

Usually, the names of the available arguments will differ, but it is also possible that some arguments will have the same names but different dependies depending on the control argument.

For example, telecoms.cart.checkout has a different list of required arguments depending on the supplied value of the pay_method argument. If pay_method is set to stored_card then a paymentcardID argument will be required, whereas for example if pay_method is set to interactive, then quite a few more arguments are then required for the cardolder's name, address etc, callback URLs and other things.

You can tell whether a function has a variable argument definition by looking at the response from calling argdef. If the response contains an altsyntax section, the function has variable arg definitions. The altsyntax section shows a list of control arguments and the types of rules applicable.