메인 콘텐츠로 건너뛰기
항목을 찾을 수 없습니다.
dropboxsign 로고
Dropbox Sign을 사용해야 하는 이유
아코디언 메뉴 펼치기/접기

포함된 기능

온라인에서 문서 서명
전자 서명 만들기
템플릿 선택 또는 생성
PDF를 작성하고 서명하기
온라인 계약 체결하기
문서 관리
기능 살펴보기
오른쪽 방향 화살표 아이콘

이용 사례

영업 및 비즈니스 개발
인사
스타트업
재무 기술
부동산
온디맨드 서비스
제품
아코디언 메뉴 펼치기/접기
Dropbox 아이콘
Sign
간편한 문서 전송과 서명
Dropbox 아이콘
Sign API
워크플로에 전자 서명 통합
dropbox fax 아이콘
Fax
팩스 없는 팩스 전송
dropbox 통합 아이콘
연동
여러분이 일하는 곳이라면 어디서든 구현 가능한 Dropbox Sign
관련 자료
아코디언 메뉴 펼치기/접기
블로그
워크플로 전문 지식과 제품 소식
고객 이용 후기
실제 성과를 엿볼 수 있는 실제 스토리
도움말 센터
Dropbox Sign 제품 심층 설명
자료 라이브러리
보고서, 동영상, 정보 안내서
개발자
요금
아코디언 메뉴 펼치기/접기
Dropbox Sign 요금제
가장 적합한 요금제 찾기
Dropbox Sign API 요금제
실제 성과를 엿볼 수 있는 실제 스토리
영업팀에 문의
가입
영업팀에 문의
로그인
아코디언 메뉴 펼치기/접기
Dropbox Sign
Dropbox Forms
Dropbox Fax
무료 평가판
블로그
/
개발자

Getting Started with Dropbox Sign Embedded Signing with Ruby on Rails

by 
Freddy Rangel
July 9, 2015
4
분 소요
툴팁 아이콘

새로운 이름, 변함없이 강력한 성능! HelloSign이 Dropbox Sign으로 새롭게 탄생했습니다.

닫기 아이콘


Dropbox Sign provides the most robust and developer friendly API for signing legally binding documents in the browser. One of the most useful features is the ability to easily embed documents directly in your web app. Instead of asking your users to leave your website to sign a document, you can have them do it easily right in your app. It's pretty easy to get started with just a few lines of code.

‍

Let's walk through a simple example of embedding a document for signing on your application.

‍

This example is assuming your app is a Rails app, but if you're using another framework like Sinatra it works roughly the same way. First, if you haven't already done so, create a free Dropbox Sign account. Once you finish signing up, retrieve your API key from the Settings page under the API tab. You'll need this in a bit.

‍

Next, you'll need to create a Dropbox Sign test app. In order to create a test app, your app will need to expose an endpoint to receive Dropbox Sign callbacks. You can find the Callback Documentation here, but to get things moving along we just need a few lines of code.

‍

Let’s first set up a route to our new callback endpoint:

‍

# config/routes.rb Rails.application.routes.draw do  post '/signatures/callbacks',    to: 'signatures#callbacks' end

‍

Now let's add the endpoint controller action itself. Dropbox Sign requires the endpoint to always respond with status 200 and with 'Hello API Event Received' in the response body, regardless of whether the callback has been handled correctly.

‍

# app/controllers/signatures_controller.rb class SignaturesController < ApplicationController  skip_before_action :verify_authenticity_token, only: [:callbacks]  def callbacks    render json: 'Hello API Event Received', status: 200  end end

‍

We’ll want to test this endpoint to make sure it's set up correctly. Sadly, since our endpoint is only accessible from our local machine, we need some help exposing this endpoint to the world.

‍

Enter ngrok. It's a free and easy to use tunneling service that works great for exposing your local server to the internet. If you're on a Mac it's really easy to install with Homebrew: brew install ngrok

‍

Now let's expose the server.

‍

Let's fire up the server first: rails s

‍

And in a separate tab, let's fire up ngrok: ngrok 3000

‍

Here we're telling ngrok to watch port and tunnel port 3000, which is where our rails server is listening on. Notice that when you run ngrok it will give you a forwarding url which is where the outside world can reach your local server. ngrok might change this url randomly in the future so I recommend setting up a custom subdomain. In order to do that you'll need an ngrok account but you can easily sign up with your github account here: ngrok signup. Once you sign up, you'll get an auth token. You only need it once.

‍

Then you can run the following:

‍

ngrok -authtoken=coolAuthTokenDude -subdomain=mycoolapp 3000

‍

Now let's take our cool new ngrok url and use that for our callback url that our Dropbox Sign API app can use. Make sure to click the “TEST” button to make sure everything is set up correctly. Once you create the application, make sure to retrieve the app's client id. We're going to use it shortly. Now that we’ve created our Dropbox Sign app, we can get ready to make an embedded signature request. Unless doing raw HTTP calls to an API happens to be your thing (or whatever kids are doing these days), I suggest reaching for the handy Dropbox Sign Ruby SDK.

‍

Let's add it to the Gemfile:

‍

gem 'hellosign-ruby-sdk'

‍

And let's not forget to run: bundle install

‍

Alright, now we need to do some configuration using your API key and test app client id. If you're working on a Rails app, you can easily do this with an initializer.

‍

# config/initializers/hello_sign.rb require 'hello_sign' HelloSign.configure do |config|  #

‍

You might want to put all these keys in environment variables or you can YOLO it.

‍

config.api_key = 'api_key'  config.client_id = 'client_id' end

‍

Now let's create our first embedded signature request. The implementation details are going to be different from app to app, but here we're going to go with something simple and set up a form where we submit a signer's name and email.

‍

Then, we're going to immediately open up that document inside the app.

‍

Let's start with updating our routes:

‍

# config/routes.rb Rails.application.routes.draw do  resources :signatures, only: [:new, :create] do    collection do      post 'callbacks'    end  end end

‍

Next we're going to create the form. Let's add the new embedded request form controller action: # app/controllers/signatures_controller.rb def new end

‍

Now we need the view:

‍

# app/views/signatures/new.html.erb <%= form_tag signatures_path, method: :post do %>  <%= label_tag 'Name' %>  <%= text_field_tag :name %>  <%= label_tag 'Email' %>  <%= text_field_tag :email %>  <%= submit_tag 'Create Embedded Signature Request' %> <% end %>

‍

Now let's add the create action:

‍

# app/controllers/signatures_controller.rb def create  embedded_request = create_embedded_request(name: params[:name], email: params[:email])  @sign_url = get_sign_url(embedded_request)  render :embedded_signature end private def create_embedded_request(opts = {})  HelloSign.create_embedded_signature_request(    test_mode: 1, #Set this to 1 for 'true'. 'false' is 0    client_id: 'your_client_id',    subject: 'My first embedded signature request',    message: 'Awesome, right?',    signers: [      {        email_address: opts[:email],        name: opts[:name]      }    ],    files: ['offer_letter.pdf']  ) end def get_sign_url(embedded_request)  sign_id = get_first_signature_id(embedded_request)  HelloSign.get_embedded_sign_url(signature_id: sign_id).sign_url end def get_first_signature_id(embedded_request)  embedded_request.signatures[0].signature_id end

‍

Here we're doing two things:

‍

  1. We are sending an embedded signature request to Dropbox Sign.
  2. Once we have created a request, we are grabbing the “signature_id” for the first signer and using that to retrieve the sign_url, which we're going to use in the view.

‍

Speaking of which, here it is: In the view, we’re pulling a script from a CDN that will help us embed our document in our app. This gives us a Dropbox Sign object in the browser which we will initialize and open our document with the sign_url we passed in from the controller.

‍

That's it! The entire setup for embedded signing in Rails took me about 20 minutes to set up – let me know if you can do it faster! For more information be sure to check out the documentation here: Dropbox Sign API Documentation.

진행 상태 확인

모두 완료되었습니다! 받은 편지함을 확인하세요.

Thank you!
Thank you for subscribing!

Lorem ipsum

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Lorem ipsum
오른쪽 방향 화살표 아이콘
닫기 아이콘

Up next:

현대 디지털 서명 솔루션을 나타내는 수기 서명의 클로즈업 일러스트레이션.
개발자
15개
분 소요

Dropbox Sign과 Ruby on Rails 통합: 단계별 튜토리얼

현대 디지털 서명 솔루션을 나타내는 수기 서명의 클로즈업 일러스트레이션.
개발자
15개
분 소요

Dropbox Sign vs. SignNow for developers

이벤트

빠르고 안전한 전자 서명 워크플로: Twilio API로 SMS 서명인 인증 구현

제품
Dropbox SignDropbox Sign APIDropbox Fax연동
Dropbox Sign이어야 하는 이유
전자 서명문서에 서명PDF 작성과 서명온라인 계약전자 서명 만들기서명 편집기Word 문서 서명
지원
도움말 센터영업팀에 문의지원팀에 연락쿠키 관리시작하기: Dropbox Sign시작하기: Dropbox Sign API
관련 자료
블로그고객 이용 후기자료 센터합법성 지침신뢰 센터
파트너
전략적 파트너파트너 찾기
회사
함께 일하기이용 약관개인정보 보호
Facebook 아이콘Youtube 아이콘

사용 가능한 결제 수단

Mastercard 로고Visa 로고American Express 로고Discover 로고
CPA 컴플라이언스 배지HIPAA 컴플라이언스 배지Sky High Enterprise Ready 배지ISO 9001 인증 배지

Dropbox Sign 전자 서명은 미국, 유럽연합, 영국을 비롯해 전 세계 많은 국가에서 법적 구속력을 발휘합니다.
더 자세한 정보는 이용 약관과 개인정보처리방침에서 확인할 수 있습니다.