def notification(alert=None, ios=None, android=None, amazon=None, web=None,
    wns=None, actions=None, interactive=None, in_app=None, open_platform=
    None, sms=None, email=None):
    """Create a notification payload.

    :keyword alert: A simple text alert, applicable for all platforms.
    :keyword ios: An iOS platform override, as generated by :py:func:`ios`.
    :keyword android: An Android platform override, as generated by
        :py:func:`android`.
    :keyword amazon: An Amazon platform override, as generated by
        :py:func:`amazon`.
    :keyword web: A web platform override, as generated by :py:func:`web`.
    :keyword wns: A WNS platform override, as generated by :py:func:`wns`.
    :keyword sms: An Sms platform override as generated by :py:func:`sms`.
    :keyword actions: Used to perform a defined task.
    :keyword interactive: A dictionary with two attributes -- "type" and
        "button_actions", as generated by :py:func:`interactive`.
    :keyword open_platform: A dictionary with open platform name keys, and
        open platform overrides, as generated by :py:func:`open_platform`.

    """
    payload = {}
    if alert is not None:
        payload['alert'] = alert
    if actions is not None:
        payload['actions'] = actions
    if ios is not None:
        payload['ios'] = ios
    if android is not None:
        payload['android'] = android
    if amazon is not None:
        payload['amazon'] = amazon
    if web is not None:
        payload['web'] = web
    if wns is not None:
        payload['wns'] = wns
    if sms is not None:
        payload['sms'] = sms
    if email is not None:
        payload['email'] = email
    if interactive is not None:
        payload['interactive'] = interactive
    if in_app is not None:
        payload['in_app'] = in_app
    if open_platform is not None:
        for platform, overrides in open_platform.items():
            payload['open::' + platform] = overrides
    if not payload:
        raise ValueError('Notification body may not be empty')
    return payload
