PHP を使用して Web サイトに EchoSign API を統合しましたが、コールバック情報に行き詰まりました。
私はウィジェットを作成してユーザーに表示しています。ユーザーがボタンをクリックしてドキュメントが署名された後、ドキュメントが署名されているかどうかにかかわらず、ユーザーを次のステップに移動できるように結果を返す必要があります。
以下は私のコードです:
require_once($_SERVER["DOCUMENT_ROOT"]."setup.php");
global $result_sign;
$recipient_email = $_SESSION['EchoSign_Email_Document'];
$md5pdf_echosign = md5($_SESSION['EchoSign_Email_Document']) . ".pdf";
$filepath = $_SERVER["DOCUMENT_ROOT"].'/path_to_file/'.$md5pdf_echosign;
$file = EchoSign\Info\FileInfo::createFromFile($filepath);
$widget = new EchoSign\Info\WidgetCreationInfo('Agreement', $file);
$personalization = new EchoSign\Info\WidgetPersonalizationInfo($recipient_email);
try{
$result_sign = $api->createPersonalEmbeddedWidget($widget, $personalization);
}catch(Exception $e){
print '<h3>An exception occurred:</h3>';
var_dump($e);
}
このように結果を表示します
echo $result_sign->{'embeddedWidgetCreationResult'}->javascript;
次のように AJAX を使用してファイルを呼び出します。
$('#echosign_id').html('my_ecosign_file.php');
どんな助けにも感謝します。
ユーザーがドキュメントに署名した後、ドキュメントが署名されていることを確認し、署名されているかどうかを確認して、ユーザーを次のステップに移動させたいと考えています。
私のJS:
function FormSubmitBindStep4(){
$('#FormID input#input_id').unbind('click').bind('click', function(){
var obj = $(this);
$('.prior_dark_form_preloader').remove();
obj.hide();
$('.prior_form_error_input').removeClass('prior_form_error_input');
$('#terms_1-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#terms_2-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#3-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#4-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#5-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#6-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#7-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#confirmation_1-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#confirmation_2-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#confirmation_3-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#confirmation_4-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('<img src="/preloader.GIF" class="prior_dark_form_preloader"/>').insertAfter(obj);
$(document).scrollTop(0, 1000);
if (actualStep < 4){
actualStep = 4;
}
$.ajax ({
type: "POST",
url: "/form_step_4.php",
data: { json: createJsonFromForm('FormIDStepValidation') }
}).done(function(data) {
$('.prior_dark_form_preloader').remove();
if (data == true){
$('#FormID').html('<iframe scrolling="no" src="/EchoSign.php" width="1150px" height="715px">',function(){
});
}else{
console.log("step 4", "incorrect");
obj.show();
$('.prior_form_error_input_anchor_php').remove();
var errors = jQuery.parseJSON(data);
for(error in errors){
Step1Validation(error, true, errors);
Step2Validation(error, true, errors);
Step4Validation(error, false, errors);
}
$( 'input' ).click(function() {
$(".input_anchor_php").hide();
});
}
});
return false;
});
}
ありがとう。