mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-04-30 06:04:10 +02:00
Move each spec's intro above the endpoints list
This just looks visually nicer. You have an introduction paragraph, then the list of endpoints, then the spec.
This commit is contained in:
parent
f03730455d
commit
1213f81676
|
|
@ -2,16 +2,14 @@
|
||||||
title: "Application Service API"
|
title: "Application Service API"
|
||||||
weight: 30
|
weight: 30
|
||||||
type: docs
|
type: docs
|
||||||
|
description: |
|
||||||
|
The Matrix client-server API and server-server APIs provide a consistent,
|
||||||
|
self-contained federated messaging fabric but leave little room for custom
|
||||||
|
server-side behaviour such as gateways, filters, or extensible hooks. The
|
||||||
|
Application Service API defines a standard way to add this extensible
|
||||||
|
functionality, independent of the underlying homeserver implementation.
|
||||||
---
|
---
|
||||||
|
|
||||||
The Matrix client-server API and server-server APIs provide the means to
|
|
||||||
implement a consistent self-contained federated messaging fabric.
|
|
||||||
However, they provide limited means of implementing custom server-side
|
|
||||||
behaviour in Matrix (e.g. gateways, filters, extensible hooks etc). The
|
|
||||||
Application Service API (AS API) defines a standard API to allow such
|
|
||||||
extensible functionality to be implemented irrespective of the
|
|
||||||
underlying homeserver implementation.
|
|
||||||
|
|
||||||
## Application Services
|
## Application Services
|
||||||
|
|
||||||
Application services are passive and can only observe events from the
|
Application services are passive and can only observe events from the
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,14 @@
|
||||||
title: "Client-Server API"
|
title: "Client-Server API"
|
||||||
weight: 10
|
weight: 10
|
||||||
type: docs
|
type: docs
|
||||||
|
description: |
|
||||||
|
The client-server API allows clients to send messages, control rooms and
|
||||||
|
synchronise conversation history. It is designed to support both lightweight
|
||||||
|
clients which store no state and lazy-load data from the server as required,
|
||||||
|
as well as heavyweight clients which maintain a full local persistent copy of
|
||||||
|
server state.
|
||||||
---
|
---
|
||||||
|
|
||||||
The client-server API allows clients to
|
|
||||||
send messages, control rooms and synchronise conversation history. It is
|
|
||||||
designed to support both lightweight clients which store no state and
|
|
||||||
lazy-load data from the server as required - as well as heavyweight
|
|
||||||
clients which maintain a full local persistent copy of server state.
|
|
||||||
|
|
||||||
## API Standards
|
## API Standards
|
||||||
|
|
||||||
{{% boxes/note %}}
|
{{% boxes/note %}}
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,14 @@
|
||||||
title: "Identity Service API"
|
title: "Identity Service API"
|
||||||
weight: 40
|
weight: 40
|
||||||
type: docs
|
type: docs
|
||||||
---
|
description: |
|
||||||
|
|
||||||
The Matrix client-server and server-server APIs are largely expressed in
|
The Matrix client-server and server-server APIs are largely expressed in
|
||||||
Matrix user identifiers. From time to time, it is useful to refer to
|
Matrix user identifiers. Sometimes it is useful to refer to users by other
|
||||||
users by other ("third-party") identifiers, or "3PID"s, e.g. their email
|
(“third-party”) identifiers such as email addresses or phone numbers. The
|
||||||
address or phone number. This Identity Service Specification describes
|
Identity Service API describes how mappings between 3PIDs and Matrix user
|
||||||
how mappings between third-party identifiers and Matrix user identifiers
|
IDs can be established, validated, and used; in practice this has been
|
||||||
can be established, validated, and used. This description technically
|
applied to email addresses and phone numbers.
|
||||||
may apply to any 3PID, but in practice has only been applied
|
---
|
||||||
specifically to email addresses and phone numbers.
|
|
||||||
|
|
||||||
## General principles
|
## General principles
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,11 @@
|
||||||
title: "Push Gateway API"
|
title: "Push Gateway API"
|
||||||
weight: 50
|
weight: 50
|
||||||
type: docs
|
type: docs
|
||||||
|
description: |
|
||||||
|
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.
|
||||||
---
|
---
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
A client's homeserver forwards information about received events to the
|
A client's homeserver forwards information about received events to the
|
||||||
|
|
|
||||||
|
|
@ -2,18 +2,13 @@
|
||||||
title: "Server-Server API"
|
title: "Server-Server API"
|
||||||
weight: 20
|
weight: 20
|
||||||
type: docs
|
type: docs
|
||||||
---
|
description: |
|
||||||
|
Matrix homeservers use the Federation APIs (also known as server-server APIs)
|
||||||
Matrix homeservers use the Federation APIs (also known as server-server
|
to communicate with each other. Homeservers use these APIs to push messages in
|
||||||
APIs) to communicate with each other. Homeservers use these APIs to push
|
real-time, retrieve historic messages, and query profile or presence
|
||||||
messages to each other in real-time, to retrieve historic messages from
|
information about users on other servers. The APIs are implemented over HTTPS,
|
||||||
each other, and to query profile and presence information about users on
|
with authentication provided by public key signatures both at the TLS
|
||||||
each other's servers.
|
transport layer and in HTTP Authorization headers.
|
||||||
|
|
||||||
The APIs are implemented using HTTPS requests between each of the
|
|
||||||
servers. These HTTPS requests are strongly authenticated using public
|
|
||||||
key signatures at the TLS transport layer and using public key
|
|
||||||
signatures in HTTP Authorization headers at the HTTP layer.
|
|
||||||
|
|
||||||
There are three main kinds of communication that occur between
|
There are three main kinds of communication that occur between
|
||||||
homeservers:
|
homeservers:
|
||||||
|
|
@ -45,6 +40,8 @@ EDUs and PDUs are further wrapped in an envelope called a Transaction,
|
||||||
which is transferred from the origin to the destination homeserver using
|
which is transferred from the origin to the destination homeserver using
|
||||||
an HTTPS PUT request.
|
an HTTPS PUT request.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## API standards
|
## API standards
|
||||||
|
|
||||||
The mandatory baseline for server-server communication in Matrix is
|
The mandatory baseline for server-server communication in Matrix is
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
{{- /* Shared render for spec pages: title, optional description, endpoints list, body, and last-mod info. */ -}}
|
{{- /* Shared render for spec pages: title, optional description, endpoints list, body, and last-mod info. */ -}}
|
||||||
<div class="td-content">
|
<div class="td-content">
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
|
{{ with .Params.description }}<p class="page-description">{{ . | markdownify }}</p>{{ end }}
|
||||||
|
|
||||||
{{ partial "endpoints-toc.html" . }}
|
{{ partial "endpoints-toc.html" . }}
|
||||||
|
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue