メニュー

Expand
ページを評価:

Verify Push Webhooks

概要

Webhooks are a general pattern for how one system can be notified of events generated by another system in real-time. In the case of Verify Push, your app backend can be notified when a Factor has been verified or when a Challenge has been approved by the Verify Push service, so that it knows to advance the user to the next step in your flow. This is more real-time and efficient than constantly polling the Verify Push API for the status of a Factor or Challenge.

To configure webhooks, follow these steps:

  1. Configure a webhook in your Verify Service via the Console UI
  2. Receive, parse, and verify a webhook
  3. Manage webhooks via Verify API (optional)

1. Configure a webhook in your Verify Service

前提条件

  1. Create a Verify Service.
  2. Create a REST API endpoint in your app backend that can receive HTTP POST requests.

Configure a webhook via Console UI

You can configure a webhook either via UI or API. We'll show the UI option first and then the API option later.

  • Go to Twilio Console > Verify > Services > Your Service > Webhooks.
  • Go to Create new webhook and complete the form.
    • Enter a friendly name that will help you identify the webhook in the future.
    • Select the events that you want to receive. See definitions in the Webhook Events table below.
    • Enter the URL of your app backend's API endpoint.
    • Webhook version is set to v2 automatically. v1 is legacy and may be removed in the future. See below for the events fields per version.
    • Click Create to finish creating your webhook.

Webhookイベント

イベント 概要
* Fires when any of the following events occur.
factor.created Fires when a factor is created for the entity but is not ready to receive challenges.
factor.verified Fires when a factor is verified and now is able to receive challenges.
factor.deleted Fires when a factor was deleted from an entity.
challenge.approved Fires when a challenge is approved by the user.
challenge.denied Fires when a challenge is denied by the user.

2. Receive, parse, and verify a webhook

When Twilio makes an HTTP request to your app backend, it will include parameters related to the event that triggered it:

Webhook v2

パラメーター Type 概要
uuid 文字列 Unique identifier for the webhook
type 文字列 EventType
account_sid String, SID The Twilio Account SID that the Service instance belongs to
service_sid String, SID The Verify Service instance SID that the action relates to
entity_identity 文字列 Unique identifier for the user
factor_sid String, SID The Verify Factor instance SID that the action relates to
factor_type 文字列 The Type of the Verify Factor that the action relates to. Currently only push is supported
factor_friendly_name 文字列 The friendly name of the Verify Factor that the action relates to
challenge_sid String, SID The Verify Challenge instance SID that the action relates to
challenge_details String, JSON String The Verify Challenge details provided for context and intended to be shown to the end user that the action relates to
challenge_hidden_details String, JSON String The Verify Challenge hidden details provided for context and not intended to be shown to the end user that the action relates to. If not provided during the Verify Challenge creation this parameter will be omitted
challenge_metadata String, JSON String Custom metadata associated with the challenge. This is added by the Device/SDK directly to allow for the inclusion of device information. It is a stringified JSON with only string values eg. {"os": "Android"} up to 1024 characters in length. If not provided during the Challenge verification, this parameter will be omitted.
factor_metadata String, JSON String Custom metadata associated with the factor. This is added by the Device/SDK directly to allow for the inclusion of device information. It is a stringified JSON with only string values eg. {"os": "Android"} up to 1024 characters in length. If not provided during the Factor creation, this parameter will be omitted.

        
        
        
              
              
              
                    
                    
                    
                          
                          
                          

                          Webhook v1

                          Webhooks v1 is legacy and may be removed in the future.

                          パラメーター Type 概要
                          uuid 文字列 Unique identifier for the webhook
                          type 文字列 EventType
                          account_sid String, SID The Twilio Account SID that the Service instance belongs to
                          service_sid String, SID The Verify Service instance SID that the action relates to
                          entity_identity 文字列 Unique identifier for the user
                          factor_sid String, SID The Verify Factor instance SID that the action relates to
                          challenge_sid String, SID The Verify Challenge instance SID that the action relates to

                                
                                
                                
                                      
                                      
                                      

                                      Verify the webhook's signature to confirm that it came from Twilio

                                      • Each HTTP request is issued with the Content-Type header application/x-www-urlencoded and signed with an X-Twilio-Signature HTTP header.
                                      • Twilio uses the parameters sent in the webhook and the exact URL your application supplied to Twilio to create this signature. The signature uses the HMAC-SHA1 hashing algorithm with your Twilio account's auth token as the secret key.
                                      • Your application can verify that this signature is correct using the server side Twilio SDKs. You will need your account's auth token, the value of the X-Twilio-Signature HTTP header that Twilio passed to you, the URL that Twilio sent the webhook to, and all of the parameters sent by Twilio.
                                      • For more information, check out our guide to Getting Started with Twilio Webhooks and Validating Requests are coming from Twilio. Find other webhook pages, such as a security guide and an FAQ in the Webhooks section of the docs.

                                      3. Manage webhooks via Verify API (optional)

                                      In addition to the Console UI, you can programmatically manage the Webhooks resource according to this API reference:

                                      Webhook properties

                                      Resource Properties in REST API format
                                      sid
                                      sid<YW> Not PII

                                      The unique string that we created to identify the Webhook resource.

                                      service_sid
                                      sid<VA> Not PII

                                      The unique SID identifier of the Service.

                                      account_sid
                                      sid<AC> Not PII

                                      The SID of the Account that created the Service resource.

                                      friendly_name
                                      文字列 Not PII

                                      The string that you assigned to describe the webhook. This value should not contain PII.

                                      event_types
                                      string[] Not PII

                                      The array of events that this Webhook is subscribed to. Possible event types: *, factor.deleted, factor.created, factor.verified, challenge.approved, challenge.denied

                                      status
                                      enum:status Not PII

                                      The webhook status. Default value is enabled. One of: enabled or disabled

                                      version
                                      enum:version Not PII

                                      The webhook version. Default value is v2 which includes all the latest fields. Version v1 is legacy and may be removed in the future.

                                      webhook_url
                                      url Not PII

                                      The URL associated with this Webhook.

                                      webhook_method
                                      enum:methods Not PII

                                      The method to be used when calling the webhook's URL.

                                      date_created
                                      date_time<iso8601> Not PII

                                      The date and time in GMT when the resource was created specified in ISO 8601 format.

                                      date_updated
                                      date_time<iso8601> Not PII

                                      The date and time in GMT when the resource was last updated specified in ISO 8601 format.

                                      url
                                      url Not PII

                                      The absolute URL of the Webhook resource.

                                      Create a Webhook

                                      post
                                      https://verify.twilio.com/v2/Services/{ServiceSid}/Webhooks
                                      パラメーター
                                      Parameters in REST API format
                                      service_sid
                                      Path
                                      post sid<VA> Not PII

                                      The unique SID identifier of the Service.

                                      friendly_name
                                      必須
                                      post 文字列 Not PII

                                      The string that you assigned to describe the webhook. This value should not contain PII.

                                      event_types
                                      必須
                                      post string[] Not PII

                                      The array of events that this Webhook is subscribed to. Possible event types: *, factor.deleted, factor.created, factor.verified, challenge.approved, challenge.denied

                                      webhook_url
                                      必須
                                      post 文字列 Not PII

                                      The URL associated with this Webhook.

                                      status
                                      オプション
                                      post ienum:status Not PII

                                      The webhook status. Default value is enabled. One of: enabled or disabled

                                      version
                                      オプション
                                      post ienum:version Not PII

                                      The webhook version. Default value is v2 which includes all the latest fields. Version v1 is legacy and may be removed in the future.

                                      例 1
                                            
                                            
                                            

                                            Fetch a Webhook resource

                                            GET
                                            https://verify.twilio.com/v2/Services/{ServiceSid}/Webhooks/{Sid}
                                            パラメーター
                                            Parameters in REST API format
                                            service_sid
                                            Path
                                            GET sid<VA> Not PII

                                            The unique SID identifier of the Service.

                                            sid
                                            Path
                                            GET sid<YW> Not PII

                                            The Twilio-provided string that uniquely identifies the Webhook resource to fetch.

                                            例 1
                                                  
                                                  
                                                  

                                                  Read multiple Webhook resources

                                                  GET
                                                  https://verify.twilio.com/v2/Services/{ServiceSid}/Webhooks
                                                  パラメーター
                                                  Parameters in REST API format
                                                  service_sid
                                                  Path
                                                  GET sid<VA> Not PII

                                                  The unique SID identifier of the Service.

                                                  例 1
                                                        
                                                        
                                                        

                                                        Update a Webhook resource

                                                        post
                                                        https://verify.twilio.com/v2/Services/{ServiceSid}/Webhooks/{Sid}
                                                        パラメーター
                                                        Parameters in REST API format
                                                        service_sid
                                                        Path
                                                        post sid<VA> Not PII

                                                        The unique SID identifier of the Service.

                                                        sid
                                                        Path
                                                        post sid<YW> Not PII

                                                        The Twilio-provided string that uniquely identifies the Webhook resource to update.

                                                        friendly_name
                                                        オプション
                                                        post 文字列 Not PII

                                                        The string that you assigned to describe the webhook. This value should not contain PII.

                                                        event_types
                                                        オプション
                                                        post string[] Not PII

                                                        The array of events that this Webhook is subscribed to. Possible event types: *, factor.deleted, factor.created, factor.verified, challenge.approved, challenge.denied

                                                        webhook_url
                                                        オプション
                                                        post 文字列 Not PII

                                                        The URL associated with this Webhook.

                                                        status
                                                        オプション
                                                        post ienum:status Not PII

                                                        The webhook status. Default value is enabled. One of: enabled or disabled

                                                        version
                                                        オプション
                                                        post ienum:version Not PII

                                                        The webhook version. Default value is v2 which includes all the latest fields. Version v1 is legacy and may be removed in the future.

                                                        例 1
                                                              
                                                              
                                                              

                                                              Delete a Webhook resource

                                                              削除する
                                                              https://verify.twilio.com/v2/Services/{ServiceSid}/Webhooks/{Sid}
                                                              パラメーター
                                                              Parameters in REST API format
                                                              service_sid
                                                              Path
                                                              削除する sid<VA> Not PII

                                                              The unique SID identifier of the Service.

                                                              sid
                                                              Path
                                                              削除する sid<YW> Not PII

                                                              The Twilio-provided string that uniquely identifies the Webhook resource to delete.

                                                              例 1
                                                                    
                                                                    
                                                                    
                                                                    ページを評価:

                                                                    ヘルプが必要ですか?

                                                                    We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

                                                                          
                                                                          
                                                                          

                                                                          フィードバックくださりありがとうございます!

                                                                          Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

                                                                          Sending your feedback...
                                                                          🎉 Thank you for your feedback!
                                                                          Something went wrong. Please try again.

                                                                          Thanks for your feedback!

                                                                          Refer us and get $10 in 3 simple steps!

                                                                          ステップ1

                                                                          Get link

                                                                          Get a free personal referral link here

                                                                          ステップ2:

                                                                          Give $10

                                                                          Your user signs up and upgrade using link

                                                                          ステップ3

                                                                          Get $10

                                                                          1,250 free SMSes
                                                                          OR 1,000 free voice mins
                                                                          OR 12,000 chats
                                                                          OR more