---
# System prepended metadata

title: フォントアップデートAPI仕様.md

---

# フォントアップデートAPI仕様.md

## フォント更新までの流れ

- Request
  - iOS
    - アプリ内にインストールしているフォントのシングルフォントのリストをリクエストとして投げる
      - 参照 `## Request` , `## Endpoint`
      - 更新直後にリクエストを投げるが、{appVersion} にはアップデートする前のバージョンをセットする。
  - API
    - ユーザー受け取ったsingleFontリストをもとに、そのユーザーがインストールしているフォントのリストを更新する。
    - 受け取ったリストと最新のフォントリストとを照らし合わせ、更新の必要なFamilyFontのリストを作成する。
      - 参考 `###iOS内で定義されているstruct SingleFont`
- Response
  - API
    - 更新が必要レスポンスを返す。投げたlanguageに基づいてローカライズされたものを返却。
      - 参照 `## Success`
  - iOS
    - 受け取ったFamilyFontから
      - すでに存在しているものは、上書き
      - 存在していなければ、新規追加

前提として、シングルフォントは必ずファミリーフォントに属している


## 呼び出すタイミング

- アプリ起動時
- フォントのインストール後
  
## Endpoint

- `mp/update/fonts/{uuid}/{language}/{appVersion}`
  - 更新直後にこれを叩くことになるが、{appVersion} にはアップデートする前のバージョンをセットする。

## Request

``` json
{
  "body": {
        "singleFonts": [
          {
            "singleFontName": "string"
          }
        ]
    }
}
```

## Response

### Success

``` json
{
  "statuscode": "200",
  "body": {
    "responseCode": "000",
    "res": {
        "familyFonts": [
          "familyFontName" : "String",
          "familyFontSystemName" : "String",
          "singleFonts" : [
            {
              "singleFontName": "String",
              "filename": "String", // 拡張子を除いたファイル名
              "fileSize": 0.0,
            }
          ]
        ]
        }
    }
}
```

### Failure

``` json
{
  "statuscode": "400",
  "headers": {
    "Access-Control-Allow-Origin\"": "*"
  },
  "body": {
    "responseCode": 200,
    "errorMessage": "パラメータエラー",
    "errorList": [
      "string"
    ]
  }
}
```
