diff --git a/api/client-server/push_notifier.yaml b/api/push-gateway/push_notifier.yaml similarity index 99% rename from api/client-server/push_notifier.yaml rename to api/push-gateway/push_notifier.yaml index 271597d8..540b5686 100644 --- a/api/client-server/push_notifier.yaml +++ b/api/push-gateway/push_notifier.yaml @@ -189,5 +189,3 @@ paths: items: type: string description: A pushkey - tags: - - Push notifications diff --git a/specification/modules/push.rst b/specification/modules/push.rst index 2834688c..52f4fee3 100644 --- a/specification/modules/push.rst +++ b/specification/modules/push.rst @@ -404,12 +404,6 @@ sender and content rules):: Server behaviour ---------------- -This describes the format used by "HTTP" pushers to send notifications of -events to Push Gateways. If the endpoint returns an HTTP error code, the -homeserver SHOULD retry for a reasonable amount of time using exponential-backoff. - -{{push_notifier_http_api}} - Push Gateway behaviour ---------------------- diff --git a/specification/push_gateway.rst b/specification/push_gateway.rst new file mode 100644 index 00000000..3ed5ffe7 --- /dev/null +++ b/specification/push_gateway.rst @@ -0,0 +1,42 @@ +Push Gateway API +================ + +Clients may want to receive push notifications when events are received at +the homeserver. This is managed by a distinct entity called the Push Gateway. +A client's homeserver forwards information about the event to the push gateway +and the gateway submits a push notification to the push notification provider +(e.g. APNS, GCM). + + +:: + + +--------------------+ +-------------------+ + Matrix HTTP | | | | + Notification Protocol | App Developer | | Device Vendor | + | | | | + +-------------------+ | +----------------+ | | +---------------+ | + | | | | | | | | | | + | Matrix homeserver +-----> Push Gateway +------> Push Provider | | + | | | | | | | | | | + +-^-----------------+ | +----------------+ | | +----+----------+ | + | | | | | | + Matrix | | | | | | + Client/Server API + | | | | | + | | +--------------------+ +-------------------+ + | +--+-+ | + | | <-------------------------------------------+ + +---+ | + | | Provider Push Protocol + +----+ + + Mobile Device or Client + + +Homeserver behaviour +-------------------- + +This describes the format used by "HTTP" pushers to send notifications of +events to Push Gateways. If the endpoint returns an HTTP error code, the +homeserver SHOULD retry for a reasonable amount of time using exponential backoff. + +{{push_notifier_http_api}}