2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UiPath x DX Suite APIバージョンアップ(APIv1→APIv2)の対応方法

Last updated at Posted at 2023-11-29

DX Suiteが新UIに

どうも新UIに変更されるときにAPIの仕様が変わるみたい
基本的に2024/02/02までに対応しないといけないとのこと
https://help-dxsuite.inside.ai/hc/ja/articles/24642918658713-%E6%97%A7UI-%E3%81%AF%E3%81%84%E3%81%A4%E3%81%BE%E3%81%A7%E5%88%A9%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B-

UiPathの部品に対応しているものあるの?

UiPathマーケットプレースの「AI-OCR workflow for AI inside - DX Suite」はAPIv1のため現状対応している部品はない模様
https://marketplace.uipath.com/listings/ai-ocr-workflow-for-ai-inside-dx-suite

APIv2の対応ってありますか?というコメントも放置されている状況

APIv2難民が発生

やべえ!難民でてるじゃん、救済しないと!

ということで当記事は難民救済記事となります。
井戸の掘り方を伝えます。
既存の部品をAPIv2用に改造しまっせ
(UiPathマーケットプレースに投稿するのは気が向いたらやります。)

APIv2版に改造する方法

まずはAPI仕様の確認

DX SuiteのWebページに APIv1 と APIv2 の比較表があるので確認
https://drive.google.com/file/d/1xCd0CVVhmJmB6ESpsMGFqhRPIddV6pDf/view

読み取りユニット登録

ほーんそういうことね
image.png

基本的に赤字のところ変えていけばいいから!

UiPathの部品だと「Reading_Pages_Add.xaml」が該当

1. ユニットID廃止

*V2では既存ユニットへの追加はできません
あいわかったってことで

これを
image.png
こう
image.png
まあこのIFはいらんわな

引数も消しとこ
これを
image.png
こう
image.png

型をintからStringに変更
APIv2で吐き出されるID系は形式が数値から文字列に代わってるから対応必須
今後出てくるID系すべてに同じ対応が必要

ついでに名前が↓のように変わるからやさしさで引数名も変更

in_DocumentID → in_WorkflowId

image.png

2. HTTPリクエストの修正

エンドポイント
in_URL.TrimEnd("/"c, " "c, " "c) + "/ConsoleWeb/api/v1/reading/pages/add"

in_URL.TrimEnd("/"c, " "c, " "c) + "wf/api/standard/v2/workflows/" + in_WorkflowId + "/units"

ヘッダ名

  • X-ConsoleWeb-ApiKey → apikey
  • documentId → workflowId

添付ファイル

  • file → files

こんな感じ
image.png

応答ヘッダの仕様も変わってるから注意!
成功時は空でエラー時だけ値が入ってるとのこと

逆に応答コンテンツは成功してる時だけ値入ってる

応答コンテンツの仕様も変わってるから受け取るとき注意!

今はout_JsonResponse.("id").ToStringみたいな感じで使ってると思うけど
out_JsonResponse.("unitId")ってな感じに変わるね

image.png

読取ユニット検索

出来上がり待ちに使うやつ
UiPathの部品だと「Reading_Units.xaml」が該当

まずはAPI仕様を確認

image.png
image.png
ほーんそういうことね

引数名と型をどんどん変えてこ

型は全部Stringにする必要あり

やさしさで引数名もAPIv2に合わせとこ
in_DocumentID → in_WorkflowId
in_DocsetID → in_FolderId
image.png

ほんでIF関連が数値で判定してるんでString版に変更
これを
image.png
こう
image.png

HTTPリクエスト

  • ユニットIDの指定がある場合
    エンドポイント
    in_URL.TrimEnd("/"c, " "c, " "c) + "/ConsoleWeb/api/v1/reading/units"

    in_url.TrimEnd("/"c, " "c, " "c) + "/wf/api/standard/v2/units"
    ヘッダ名
    X-ConsoleWeb-ApiKey → apikey
    readingUnitId → unitId
    image.png

  • ドキュメントIDの指定がある場合
    エンドポイント
    in_URL.TrimEnd("/"c, " "c, " "c) + "/ConsoleWeb/api/v1/reading/units"

    in_url.TrimEnd("/"c, " "c, " "c) + "/wf/api/standard/v2/units"
    ヘッダ名
    X-ConsoleWeb-ApiKey → apikey
    documentId → workflowId
    image.png

  • フォルダIDの指定がある場合
    エンドポイント
    in_URL.TrimEnd("/"c, " "c, " "c) + "/ConsoleWeb/api/v1/reading/units"

    in_url.TrimEnd("/"c, " "c, " "c) + "/wf/api/standard/v2/units"
    ヘッダ名
    X-ConsoleWeb-ApiKey → apikey
    docsetId → folderId
    image.png

  • パラメータ指定無し

警告
確認してないですがパラメータ指定無しだと新APIではエラーになるかも
そんときはコメントアウトするなりなんなりしてください

エンドポイント
in_URL.TrimEnd("/"c, " "c, " "c) + "/ConsoleWeb/api/v1/reading/units"

in_url.TrimEnd("/"c, " "c, " "c) + "/wf/api/standard/v2/units"
ヘッダ名
X-ConsoleWeb-ApiKey → apikey
image.png

応答ヘッダ/

応答コンテンツ
image.png
image.png

考え方は読取ユニット検索と一緒
形式が変わってるから応答結果を使うときに注意!

CSVダウンロード

まずはAPI仕様を確認

image.png
ほーんそういうことね

引数の型を変更

intは死滅しました
image.png

HTTPリクエスト

エンドポイント
in_URL.TrimEnd("/"c, " "c, " "c) + "/ConsoleWeb/api/v1/reading/units/" + in_UnitID.ToString + "/export"

in_URL.TrimEnd("/"c, " "c, " "c) + "/wf/api/standard/v2/units/" + in_UnitID + "/csv"
ヘッダ名
X-ConsoleWeb-ApiKey → apikey

応答コンテンツ

image.png

考え方は読取ユニット検索と一緒
形式が変わってるから応答結果を使うときに注意!

まとめ

今回はこれくらいで
書きなぐっただけなのでミスがあったら指摘してください。

ファイルアップロード、待ち受け、結果Csvダウンロードの3つができれば他も全く同じ考え方で修正できるとおもいます。GLFH

2
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?