ありがとうございます、解決しました!いいえ、API ドキュメントに archetype が必須と記載されていなかった(target_usernames のような「プライベートメッセージの場合必須」という記載すらなく)、その目的についても何も書かれていなかったため、触っていませんでした。
とにかく、これで動作するようになりました。同じ問題に直面する方の参考になれば幸いです(特に POST を使用する場合)。私の正常に動作するリクエストに含まれる JSON エンコードされたボディ要素は以下の通りです:
| key | value |
|---|---|
| raw | 生メッセージテキスト |
| title | メッセージ/スレッドのタイトル |
| target_usernames | カンマ区切りのユーザー名リスト |
| archetype | 文字列 private_message |
これは /posts.json への POST リクエストのボディとして送信され、以下のカスタムヘッダーフィールドを含みます:
| key | value |
|---|---|
| Content-Type | application/json; charset=UTF-8 |
| Api-Key | キーデータ |
| Api-Username | ユーザー名 |