リクエストの検証とリクエストの要件との間に矛盾があるようです。 API呼び出しでは、スコープを 'app'に設定する必要があります。また、userIdが必要です。しかし、2つを組み合わせると、2つを組み合わせることができないことを示す以下のメッセージが表示されます。Smooch Pre-Create AppユーザーAPIにはスコープappとuserIdが必要ですが、スコープappを持つuserIdも許可されません
API https://docs.smooch.io/rest/#pre-create-app-user
REQUEST
{ host: 'api.smooch.io',
path: '/v1/appusers',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
}
例ボディ。
{
scope: 'app',
userId: 'some_userId',
credentialRequired: true,
email: '[email protected]',
properties: { picture: 'https://s.gravatar.com/avatar/.....' }
}
レスポンスボディ
{"error":{"code":"bad_request","description":"Invalid JWT body. Cannot use userId param with app scope"}}
レスポンスヘッダ
{ connection: 'close',
server: 'nginx',
date: 'Tue, 21 Feb 2017 14:47:50 GMT',
'content-type': 'application/json; charset=utf-8',
'content-length': '105',
'x-powered-by': 'Express',
vary: 'X-HTTP-Method-Override',
etag: 'W/"69-huba/v8EazhrDAoySthrKw"',
via: '1.1 vegur' },
statusCode: 400,
statusMessage: 'Bad Request' }
は2つのペイロードの明白なミキシングアップを指摘いただきありがとうございます。この修正を適用すると、リクエストにペイロードも適切に提出していないことがわかりました。これはまったくPEBCAKの問題だったようです。 – Matt