サプライヤ資格質問の管理
サプライヤ資格質問RESTリソースを使用して、質問を作成、更新および取得します。
次のシナリオについて説明します:
- 質問の作成
- 質問を更新
- 質問の取得
質問の作成
このシナリオでは、質問を作成できます。
URLの例
このリソースURL形式を使用します。
POST
curl -u username:password -X POST -H "Content-Type:application/vnd.oracle.adf.resourceitem+json" -d 'request payload' "https://servername/fscmRestApi/resources/version/supplierQualificationQuestions"
リクエストの例
JSON形式のリクエスト本文の例を次に示します。 質問テキストはbase64形式で入力する必要があります。 このペイロードでは、実際の質問テキストは次のとおりです: 業界全体の安全基準に従っていますか?
{
"Question": "Safety Standards New",
"QuestionLevel": "Supplier",
"ResponderType": "Supplier",
"QuestionType": "Multiple choice with multiple selections",
"QuestionStatus": "Active",
"ScoringMethod": "None",
"QuestionText": "RG8geW91IGZvbGxvdyB0aGUgaW5kdXN0cnkgd2lkZSBzYWZldHkgc3RhbmRhcmRzPw==",
"acceptableResponses": [
{
"DisplaySequence": 10,
"ResponseText": "Yes we follow safety standards.???,
},
{
"DisplaySequence": 20,
"ResponseText": ???No, we don't.",
},
{
"DisplaySequence": 30,
"ResponseText": "We might follow in future.???
}
]
}
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。 アクティブな質問は、子リソースで受理可能なレスポンスとともに作成されます。
{
"QuestionId": 300100194957999,
"Revision": 0,
"Question": "Safety Standards New",
"QuestionLevelCode": "SUPPLIER",
"QuestionLevel": "Supplier",
"ResponderTypeCode": "SUPPLIER",
"ResponderType": "Supplier",
"SupplierAttributeFlag": false,
"SupplierAttributeCode": null,
"SupplierAttribute": null,
"QuestionTypeCode": "MCMS",
"QuestionType": "Multiple choice with multiple selections",
"QuestionStatusCode": "ACTIVE",
"QuestionStatus": "Active",
"OwnerId": null,
"Owner": null,
"DisplayPreferredResponseFlag": null,
"CriticalQuestionFlag": false,
"ResponseRequiredFlag": false,
"AllowResponderCommentsFlag": false,
"QuestionHint": null,
"SubjectCode": null,
"Subject": null,
"StandardsOrganizationCode": null,
"StandardsOrganization": null,
...
"ScoringMethodCode": "NONE",
"ScoringMethod": "None",
"MaximumScore": null,
"ScoreForNoResponse": null,
"ScoringApproachCode": null,
"ScoringApproach": null,
"LatestRevisionFlag": true,
"acceptableResponses": [
{
"AcceptableResponseId": 300100194958000,
"QuestionId": 300100194957999,
"DisplaySequence": 10,
"ResponseText": "Yes, we follow safety standards",
...
]
},
{
"AcceptableResponseId": 300100194958001,
"QuestionId": 300100194957999,
"DisplaySequence": 20,
"ResponseText": "No, we don't.???,
...
"OriginalAcceptableResponseId": 300100194958001,
"Score": null,
"links": [
{
...
}
]
},
{
"AcceptableResponseId": 300100194958002,
"QuestionId": 300100194957999,
"DisplaySequence": 30,
"ResponseText": "We might follow in future.???,
...
"OriginalAcceptableResponseId": 300100194958002,
"Score": null,
"links": [
{
...
}
]
}
質問の更新
このシナリオでは、新しい質問を更新できます
質問の元のリビジョンにパッチを適用しても、RESTリソースを使用して新しいリビジョンに関連付けられることはありません。
-
新しい質問改訂をトリガーしない属性の場合は、PATCHを使用して質問を更新します。
新しい質問改訂をトリガーする属性の場合は、REVISEを使用して最初に質問の新しい下書き改訂を作成し、次にPATCHを使用して質問を更新およびアクティブ化します。
改訂をトリガーしない属性の更新
アクティブな質問を属性で更新すると、値は質問の改訂を増やすことなく更新されます。 このシナリオで使用される属性は、優先レスポンスの表示、クリティカル質問、レスポンス者からのコメントの許可、ヒント、件名、標準組織、受理可能なレスポンスの表示順序および質問添付です。
URLの例
このリソースURL形式を使用します。
PATCH
curl -X PATCH -u "username:password" -H "Content-Type: application/vnd.oracle.adf.resourceitem+json" -d 'request payload' "https://servername/fscmRestApi/resources/version/supplierQualificationQuestions/300100194957999"
リクエストの例
JSON形式のリクエスト本文の例を次に示します。
{
"DisplayPreferredResponseFlag": false,
"CriticalQuestionFlag": false,
"AllowResponderCommentsFlag": true,
"QuestionHint": "Please add an attachment if available",
"Subject": "Supplier Questions",
"StandardsOrganization": "Supplier Questions Organization"
}
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。 リクエスト・ペイロードの属性は更新されますが、改訂は更新されません。
{
"QuestionId": 300100194957999,
"Revision": 0,
"Question": "Safety Standards New",
"QuestionLevelCode": "SUPPLIER",
"QuestionLevel": "Supplier",
"ResponderTypeCode": "SUPPLIER",
"ResponderType": "Supplier",
"SupplierAttributeFlag": false,
"SupplierAttributeCode": null,
"SupplierAttribute": null,
"QuestionTypeCode": "MCMS",
"QuestionType": "Multiple choice with multiple selections",
"QuestionStatusCode": "ACTIVE",
"QuestionStatus": "Active",
"OwnerId": null,
"Owner": null,
"DisplayPreferredResponseFlag": false,
"CriticalQuestionFlag": false,
"ResponseRequiredFlag": false,
"AllowResponderCommentsFlag": true,
"QuestionHint": "Please add an attachment if available",
"SubjectCode": "POQ3",
"Subject": "Supplier Questions",
"StandardsOrganizationCode": "POQ3",
"StandardsOrganization": "Supplier Questions Organization",
...
"ScoringMethodCode": "NONE",
"ScoringMethod": "None",
"MaximumScore": null,
"ScoreForNoResponse": null,
"ScoringApproachCode": null,
"ScoringApproach": null,
"AttachmentAllowedCode": null,
"AttachmentAllowed": null,
"LatestRevisionFlag": true,
"links": [
{
...
}
]
}
改訂をトリガーする属性の更新
このシナリオでは、次の2つのステップでアクティブな質問を更新できます:
- 改訂機能を使用してドラフト質問を作成します。 これにより、質問の改訂が増加します。
- ドラフト質問にパッチを適用してアクティブ化します。 優先レスポンスの表示、クリティカル質問、レスポンス者からのコメントの許可、ヒント、件名、標準組織、受理可能なレスポンスの表示順序および質問添付を除くすべての属性が改訂をトリガーします。
改訂処理を使用したドラフト質問の作成
改訂処理を実行するには、URLにQuestionIdを含める必要があり、コンテンツ・タイプは???application/vnd.oracle.adf.action+json???である必要があります。リクエスト・ペイロードが空白です。 レスポンス・ペイロードには、新しいQuestionIdが表示されます。 下書き質問が作成されると、その改訂が増分されます。
URLの例
このリソースURL形式を使用します。
POST
curl -u username:password -X POST -H "Content-Type:application/vnd.oracle.adf.action+json" -d '{}' "https://servername/fscmRestApi/resources/version/supplierQualificationQuestions/300100194957999/action/revise"
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。 新しいQuestionIdの質問の新しいリビジョンがドラフト・ステータスで作成されます。
{
"result": "A new revision for the question 300100194957999 was created in draft status. The new question ID is 300100194958051."
}
ドラフトの更新および質問のアクティブ化
同じリクエスト・ペイロードで、質問属性および質問ステータスをアクティブに更新できます。
URLの例
このリソースURL形式を使用します。
PATCH
curl -X PATCH -u "username:password" -H "Content-Type: application/vnd.oracle.adf.resourceitem+json" -d 'request payload' "https://servername/fscmRestApi/resources/version/supplierQualificationQuestions/300100194958051"
リクエストの例
JSON形式のリクエスト本文の例を次に示します。
{
"ScoringMethod": "Manual",
"MaximumScore": 50,
"QuestionStatus": "Active"
}
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。 新しいQuestionIdの質問の新しいリビジョンがドラフト・ステータスで作成されます。
{
"QuestionId": 300100194958051,
"Revision": 1,
"Question": "Safety Standards New",
"QuestionLevelCode": "SUPPLIER",
"QuestionLevel": "Supplier",
"ResponderTypeCode": "SUPPLIER",
"ResponderType": "Supplier",
"SupplierAttributeFlag": false,
"SupplierAttributeCode": null,
"SupplierAttribute": null,
"QuestionTypeCode": "MCMS",
"QuestionType": "Multiple choice with multiple selections",
"QuestionStatusCode": "ACTIVE",
"QuestionStatus": "Active",
"OwnerId": null,
"Owner": null,
"DisplayPreferredResponseFlag": false,
"CriticalQuestionFlag": false,
"ResponseRequiredFlag": false,
"AllowResponderCommentsFlag": true,
"QuestionHint": "Please add an attachment if available",
"SubjectCode": "POQ3",
"Subject": "Supplier Questions",
"StandardsOrganizationCode": "POQ3",
"StandardsOrganization": "Supplier Questions Organization ",
...
"ScoringMethodCode": "MANUAL",
"ScoringMethod": "Manual",
"MaximumScore": 50,
"ScoreForNoResponse": null,
"ScoringApproachCode": null,
"ScoringApproach": null,
"LatestRevisionFlag": true,
"links": [
{
...
}
]
}
質問の取得
このシナリオでは、質問を取得できます。 たとえば、質問名や質問識別子を使用して、質問を取得できます。 新しく改訂された新しい質問がアクティブ化されると、古い改訂を含む元の質問が自動的にアーカイブされます。 質問名を取得すると、アクティブやアーカイブなどの異なるステータスのすべてのQuestionIdが単一のペイロードに表示されます。
URLの例
このリソースURL形式を使用します。
GET
curl -u username:password "https://servername/fscmRestApi/resources/version/supplierQualificationQuestions?q=Question like 'Safety Standards New'"
レスポンスの例
JSON形式のレスポンス本文の例を次に示します。 改訂0の元の質問はアーカイブ済ステータスで、改訂1の新しく改訂された質問はアクティブ・ステータスです。
{
"items": [
{
"QuestionId": 300100194957999,
"Revision": 0,
"Question": "Safety Standards New",
"QuestionLevelCode": "SUPPLIER",
"QuestionLevel": "Supplier",
"ResponderTypeCode": "SUPPLIER",
"ResponderType": "Supplier",
"SupplierAttributeFlag": false,
"SupplierAttributeCode": null,
"SupplierAttribute": null,
"QuestionTypeCode": "MCMS",
"QuestionType": "Multiple choice with multiple selections",
"QuestionStatusCode": "ARCHIVED",
"QuestionStatus": "Archived",
"OwnerId": null,
"Owner": null,
"DisplayPreferredResponseFlag": false,
"CriticalQuestionFlag": false,
"ResponseRequiredFlag": false,
"AllowResponderCommentsFlag": true,
"QuestionHint": "Please add an attachment if available",
"SubjectCode": "POQ3",
"Subject": "Supplier Questions",
"StandardsOrganizationCode": "POQ3",
"StandardsOrganization": "Supplier Questions Organization ",
...
"ScoringMethodCode": "NONE",
"ScoringMethod": "None",
"MaximumScore": null,
"ScoreForNoResponse": null,
"ScoringApproachCode": null,
"ScoringApproach": null,
"AttachmentAllowedCode": null,
"AttachmentAllowed": null,
"LatestRevisionFlag": false,
"links": [
{
...
}
]
},
{
"QuestionId": 300100194958051,
"Revision": 1,
"Question": "Safety Standards New",
"QuestionLevelCode": "SUPPLIER",
"QuestionLevel": "Supplier",
"ResponderTypeCode": "SUPPLIER",
"ResponderType": "Supplier",
"SupplierAttributeFlag": false,
"SupplierAttributeCode": null,
"SupplierAttribute": null,
"QuestionTypeCode": "MCMS",
"QuestionType": "Multiple choice with multiple selections",
"QuestionStatusCode": "ACTIVE",
"QuestionStatus": "Active",
"OwnerId": null,
"Owner": null,
"DisplayPreferredResponseFlag": false,
"CriticalQuestionFlag": false,
"ResponseRequiredFlag": false,
"AllowResponderCommentsFlag": true,
"QuestionHint": "Please add an attachment if available",
"SubjectCode": "POQ3",
"Subject": "Supplier Questions",
"StandardsOrganizationCode": "POQ3",
"StandardsOrganization": "Supplier Questions Organization",
...
"ScoringMethodCode": "MANUAL",
"ScoringMethod": "Manual",
"MaximumScore": 50,
"ScoreForNoResponse": null,
"ScoringApproachCode": null,
"ScoringApproach": null,
"AttachmentAllowedCode": null,
"AttachmentAllowed": null,
"LatestRevisionFlag": true,
"links": [
{
...
}
],
"count": 2,
"hasMore": false,
"limit": 25,
"offset": 0,
"links": [
{
...
}
]
}