Claris Studio コネクタの操作
Claris Studio コネクタは Claris Studio データを Claris プラットフォームおよびサードパーティアプリケーションと統合することができる便利で強力なツールです。 コネクタの使用を始めるには次を参照してください:
コネクタを上手に活用するにはフィールドの解決とレコードのクエリーという 2 つの概念を理解する必要があります。
-
フィールドの解決
-
レコードのクエリー
フィールドの解決
[Get record] アクションなどの Claris Studio コネクタのステップがレコードデータを返す場合、よりセマンティックなデータを挿入することでフィールドを解決します。これにより API で返される JSON ベースの内容の操作がよりユーザフレンドリーになります。これらのセマンティックフィールドはフローの後に続くステップのデータとしてより簡単に使用することができます。「フロー履歴の表示」および「ステップデータの使用」を参照してください。
たとえば、メタデータフィールド CreatedBy
と ModifiedBy
にレコードを編集するユーザの名前と連絡先を含めることができます。
{
"CreatedBy": { // Name & contact details are added
"FullName": "Johnny Appleseed",
"ID": 1,
"Contact": {
"Type": "Email",
"Value": "johnny.appleseed@example.com"
}
},
...
}
また Claris Studio コネクタはドロップダウンなどの複雑なフィールドのメタデータを提供します。通常はキーと値のペアの簡単な一覧です。
{
...
"Fields": {
"Allergies": { // Field keys are mapped to the display label
"Options": {
"Mold": "ea555123", // Field option mappings are included
"Animal Dander": "ea555121",
"Shellfish": "ea555122",
},
"ResolvedValue": [
"Mold",
"Shellfish"
],
"FieldName": "Checkbox2", // Field names are provided
"Value": [ // Field values are preserved
"ea555123",
"ea555122"
]
}
}
上の例では、アレルギー情報のレコードが返されます。応答ボディは次のように理解することができます:
-
"Fields"
はこのレコードに関連するすべてのフィールドを含むオブジェクトです。 -
"Allergies"
はチェックボックスフィールドに対応するオブジェクトで、チェックボックスに関連するオプションが含まれます。 -
"Options"
はチェックボックスフィールドで使用できる選択に対応するオブジェクトで、この場合は"Mold,"
"Animal Dander,"
および"Shellfish,"
です。それぞれ対応する裏の値があります。 -
"ResolvedValue"
は"Allergies"
チェックボックスフィールドで選択されたオプションを示す配列で、 この場合は"Mold"
と"Shellfish."
です。 -
"FieldName"
は"Allergies"
チェックボックスフィールドの裏の値に対応するフィールドです。 -
"Value"
は"Allergies"
チェックボックスフィールドで選択されたオプションの裏の値を示す配列です。解決されたフィールドの値を応答ボディでそれぞれの配列に区切ることで、それらの値をステップデータとして選択して後でフローで使用することが簡単になります。
レコードのクエリー
このセクションでは [Find records] アクションで使用される Claris Studio のクエリー言語構文のハイレベルな概要を紹介します。 [Find records] アクションでレコードのクエリーを実行する場合、さまざまな演算子を使用することでテーブル内のデータを異なる方法で検索する複雑でターゲットを絞った検索ができます。クエリー演算子にはドルサイン「 $」の接頭語が付けられます。
使用可能な演算子:
-
$limit
-
$skip
-
$select
-
$sort
-
$filter
$limit
$limit
演算子は結果セット内の返されるレコードの最大数を定義します。
$limit
演算子のデータタイプは正の整数またはそれに相当する文字列です。$limit
が指定されていない場合、デフォルトの上限は 25 です。1 つの検索条件の結果セットの最大サイズは 100 です。
例
{
"$limit": 5
}
$skip
$skip
演算子はクエリーから返されたレコードをオフセットします。
$skip
演算子のデータタイプは正の整数またはそれに相当する文字列です。
例
{
"$skip": 5
}
$select
$select
演算子はレコードの結果セットから返すフィールドを定義します。
$select
演算子は $select
キーおよびオブジェクト値として定義されます。オブジェクト値は現在使用されておらず将来の使用に予約されています。
例
{
"$select": [{ "ID": {}, "Fields.Name": {} }]
}
$sort
$sort
演算子は返されるレコードの順序を定義します。
演算子は $select
キーとオブジェクト値として定義され、これによりオプションを各フィールドに含めることができます。デフォルトでは、$desc
(降順) オプションが使用されていない限り、指定したフィールドに基づいて昇順でソートされます。$sort
演算子は複数のフィールドを指定できます。複数のフィールドが指定されている場合、ソートは左から右に更新されます。
例
{
"$sort": [ { "Fields.Name": { "$desc": true }, "ModifiedOn": {} }]
}
$filter
$filter
演算子。
{ '<operator>': { '<field.Name|field.DisplayLabel>' : '<value>' } }
$eq
/ $neq
指定した値と等しいまたは等しくない値に一致します。
例
{
"$filter": {
"$eq": {
"Fields.Allergies": "Animal Dander"
}
}
}
$gt
/ $lt
/ $gte
/ $lte
指定した値より大きい、小さい、大きいか等しい、小さいか等しい値に一致します。
例
{
"$filter": {
"$gt": {
"Fields.Age": 5
}
}
}
$regex
正規表現 (regex) パターン一致機能を提供します。Perl と互換性のある正規表現 ("PCRE" ) バージョン 8.42 を UTF-8 サポートでサポートします。オプションの $ci
論理値プロパティを含めると大文字と小文字を区別する検索または区別しない検索を指定することができます。
例
{
"$filter": {
"$regex": {
"Fields.First Name": "^Da",
"$ci": true
}
}
}
$in
/ $nin
対象レコード内またはそれ以外で同じ値を共有する異なるレコードのセットごとに 1 つのレコードを返します。
例
{
"$filter": {
"$in": {
"Fields.Allergies": ["Animal Dander", "Household Chemicals"] }
}
}
}
$exists
レコードにフィールドが存在するかどうかをチェックします。
例
{
"$filter": {
"$exists": { "Fields.Allergies": false }
}
}
}
$and
/ $or
/ $not
/ $nor
JSON 句を統合して複雑なクエリーを有効にします。
例 1 - Fields.Allergies
が存在せず Fields.Age
が 5 より大きいレコードを検索します。
{
"$filter": {
"$and": [
{ "$exists": { "Fields.Allergies": false } },
{
"$gt": {
"Fields.Age": 5
}
}
]
}
}
例 2 - Fields.Allergies
が存在しないか Fields.Age
が 5 より大きいレコードを検索します。
{
"$filter": {
"$or": [
{ "$exists": { "Fields.Allergies": false } },
{
"$gt": {
"Fields.Age": 5
}
}
]
}
}
例 3 - Fields.Age
が 5 より大きくないレコードを検索します。
{
"$filter": {
"$not": {
"$gt": {
"Fields.Age": 5
}
}
}
}
例 4 - Fields.City
が Dublin でも Napier でもないレコードを検索します。
{
"$filter": {
"$nor": [
{ "$eq": { "Fields.City": "Dublin" } },
{ "$eq": { "Fields.City": "Napier" } }
]
}
}
また $and
/ $or
/ $not
/ $nor
演算子はネストできます。次のクエリーは Fields.Allergies
が存在せず、Fields.Age
が 5 より大きく Fields.City
が Dublin か Napier で Fields.Zipcode
が 25533 または 44811 でないレコードを検索します。
{
"$filter": {
"$and": [
{ "$exists": { "Fields.Allergies": false } },
{
"$gt": {
"Fields.Age": 5
}
},
{
"$or": [
{ "$eq": { "Fields.City": "Dublin" } },
{ "$not": { "$eq": { "Fields.City": "Shaanxi" } } },
{ "$eq": { "Fields.City": "Napier" } }
]
},
{
"$nor": [
{ "$eq": { "Fields.Zipcode": 44811 } },
{ "$eq": { "Fields.Zipcode": 25533 } }
]
}
]
}
}
メモ
-
アップロードするファイルのサイズの上限は 25 MB です。
-
次のフィールドは現在応答データに表示されません: リッチテキスト、署名、コメント、計算