ジョブをAPIとして追加する

私が理解できる限り、仕事を追加する方法は、拡張としてAPIとして設定することです。

だから私はデフォルトのコードを使用して作成した

 civix generate:api --schedule=Daily Contact myendpoint

拡張を有効にして、APIエクスプローラに表示されます

しかし、私はそれを実行する

cv api Contact.myendpoint debug=1 

それは失敗する

{ "error_code": "not-found", "entity": "Contact",
"action": "myendpoint", "trace": "#0
/var/www/html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(166):
Civi\API\Kernel->resolve(Array)n#1
/var/www/html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(100):
Civi\API\Kernel->runRequest(Array)n#2
/var/www/html/wp-content/plugins/civicrm/civicrm/api/api.php(23):
Civi\API\Kernel->runSafe('Contact', 'myendpoint', Array,
NULL)n#3
/var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Utils/REST.php(311):
civicrm_api('Contact', 'myendpoint', Array)n#4
/var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Utils/REST.php(548):
CRM_Utils_REST::process(Array, Array)n#5
/var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(275):
CRM_Utils_REST::ajax()n#6
/var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84):
CRM_Core_Invoke::runItem(Array)n#7
/var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52):
CRM_Core_Invoke::_invoke(Array)n#8
/var/www/html/wp-content/plugins/civicrm/civicrm.php(1246):
CRM_Core_Invoke::invoke(Array)n#9
/var/www/html/wp-includes/class-wp-hook.php(286):
CiviCRM_For_WordPress->invoke('')n#10
/var/www/html/wp-includes/class-wp-hook.php(310):
WP_Hook->apply_filters('', Array)n#11
/var/www/html/wp-includes/plugin.php(453):
WP_Hook->do_action(Array)n#12
/var/www/html/wp-admin/admin.php(224):
do_action('toplevel_page_C...')n#13 {main}", "is_error": 1,
"error_message": "API (Contact, myendpoint) does not exist (join
the API team and implement it!)" }

だから私はどこかのステップを逃しているように見える –
しかし、ドキュメントでそれを見つけることができません..任意のヘルプ?

ベストアンサー

OK私が間違ったことが分かった

ヘルプメッセージには

Usage:                                                                                                                                                       
  generate:api [options] [--] EntityName>> ActionName>>                                                                                                    

Arguments:                                                                                                                                                   
               The entity against which the action runs (eg 
"Contact", "MyEntity")                                                             
...

これに慣れてきたら、私は指示に従い、タイプしました

civix generate:api    Contact myendpoint

これは苦情なしで動作し、探索の終点を置くが、機能しない。

興味深いことに

civix generate:api    Contact myendpoint

仕事をします – 物事を壊すContactの前にバックスラッシュです。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です