VPP Notifications (14.7+)

What

Starting from FileWave version 14.6.0 we added support for a new Apple API for App and Book Management within the Apple Volume Purchase Program. The new API brings:

  • More efficient calls to Apple service
  • Asynchronous processing of the requests combined with notifications

When/Why

FileWave 14.6.0 can use the new API, as a technical preview, to benefit from the more efficient calls. FileWave 14.7.0 now introduces support for notifications.

How

When a license is associated to a device (or a VPP User), this is not effective immediately. Apple services need some time to update App Store purchase history; therefore FileWave waits 3 minutes (by default) between license assignment and app installation. This delay is based on Apple's recommendation for User-based licenses but is an average delay. Sometimes it is too short - and the InstallApplication command fails because the license is not effective yet. Sometimes it is too long and the end-user experience could have been better by reducing the wait.

The new API can use notifications; FileWave can enable a setting Apple side which will allow Apple to contact your FileWave server back when something has changed on the license level. This allows FileWave to react at the right time: if App Store purchase history is quickly updated, FileWave won't wait 3 minutes before requesting the app installation. On the other hand, if App Store is suffering from delays, the app installation request will not be done until the license is properly applied. This provides a better user experience.

In addition to license assignment, notifications are sent:

  • When new licenses (new application or additional licenses for existing applications) are bought on Apple School or Business Manager
  • When a user joins an organization and links his Apple ID to the corresponding VPP user.

These notifications allow FileWave to react immediately and not wait for scheduled task polling data regularly.

In FileWave 14.7.0, VPP_V2 is still optional, and notifications can then be enabled in FileWave Native Admin Console preferences. Without notifications, FileWave will use polling and scheduled mechanism as before.

Digging Deeper

By default, FileWave uses the following endpoint:

This endpoint needs to be reachable and valid from Apple services.

You need to make sure that the TSL certificate is trusted by Apple and that Apple services are not blocked by any networking rule.

Server Port refers to the port configured in Mobile Preferences, which is likely either 20445 or 20443:

https://{server_host}:{server_port}/api/vppv2/notification

If the FileWave Server is not accessible by Apple on the defined port, disable VPP Notifications, otherwise VPP will fail to work correctly.


If for security reasons or due to your network configuration, your FileWave server can't be reached by Apple services directly, it is possible to define a different URL that will be used by Apple. This can be done by editing the /usr/local/filewave/django/filewave/settings_custom.py file adding the below line and then restarting the server. For hosted customers, you will need support to set this for you.

settings.VPP_NOTIFICATIONS_CUSTOM_URL = "https://server:port/url"

Then you need to make sure requests to this endpoint are forwarded to your FileWave instance.