All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sinch.sdk.domains.sms.WebHooksService Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
package com.sinch.sdk.domains.sms;

import com.sinch.sdk.core.exceptions.ApiMappingException;
import com.sinch.sdk.domains.sms.models.BaseDeliveryReport;
import com.sinch.sdk.domains.sms.models.Inbound;

/**
 * WebHooks
 *
 * 

Callbacks * *

A callback is an HTTP POST request with a notification made by the Sinch SMS REST API to a URI * of your choosing. * *

The REST API expects the receiving server to respond with a response code within the 2xx * success range. For 5xx the callback will be retried. For 429 * the callback will be retried and the throughput will be lowered. For other status codes in the * 4xx range the callback will not be retried. The first initial retry will happen 5 * seconds after the first try. The next attempt is after 10 seconds, then after 20 seconds, after * 40 seconds, after 80 seconds, doubling on every attempt. The last retry will be at 81920 seconds * (or 22 hours 45 minutes) after the initial failed attempt. * *

The SMS REST API offers the following callback options which can be configured for your * account upon request to your account manager. * *

    *
  • Callback with mutual authentication over TLS (HTTPS) connection by provisioning the * callback URL with client keystore and password. *
  • Callback with basic authentication by provisioning the callback URL with username and * password. *
  • Callback with OAuth 2.0 by provisioning the callback URL with username, password and the * URL to fetch OAuth access token. *
  • Callback using AWS SNS by provisioning the callback URL with an Access Key ID, Secret Key * and Region. *
* * @see https://developers.sinch.com/docs/sms/api-reference/sms/tag/Webhooks/ * @since 1.0 */ public interface WebHooksService { /** * Incoming SMS WebHook * *

An inbound message is a message sent to one of your short codes or long numbers from a * mobile phone. To receive inbound message callbacks, a URL needs to be added to your REST API. * This URL can be specified in your Dashboard. * * @param jsonPayload The incoming message to your sinch number * @return Decoded payload * @see https://developers.sinch.com/docs/sms/api-reference/sms/tag/Webhooks/#tag/Webhooks/operation/incomingSMS * @since 1.0 */ Inbound incomingSMS(String jsonPayload) throws ApiMappingException; /** * Delivery Report WebHook * *

A delivery report contains the status and status code for each recipient of a batch. To get * a delivery report callback for a message or batch of messages, set the delivery_report * field accordingly when creating a batch. * *

The following is provided so you can better understand our webhooks/callbacks. Configuration * of both webhooks and the type of delivery report requested happens when sending a batch. * *

Callback URL * *

The callback URL can either be provided for each batch or provisioned globally for your * account in your Sinch Customer * Dashboard. Learn how to configure a webhook/callback here * *

Type * *

The type is the type of delivery report webhook. The response will vary * depending on the webhook delivery report you selected when the batch was sent, so choose the * appropriate selection under "One of". * *

    *
  • The delivery_report_sms and delivery_report_mms types are * documented under Delivery report. These are reports containing either * a full report or summary report, depending on your selection at the time the batch * was sent. *
  • The recipient_delivery_report_sms and recipient_delivery_report_mms * delivery report types are documented under Recipient delivery report. * These are delivery reports for recipient phone numbers. If you set per_recipient * for the delivery_report parameter when sending the batch, a * recipient report gets sent to you for each status change for each recipient in your * batch. If you set per_recipient_final, a recipient report gets sent to you * for the final status of each recipient in your batch. *
* * @param jsonPayload The incoming delivery report * @return Decoded payload * @see https://developers.sinch.com/docs/sms/api-reference/sms/tag/Webhooks/#tag/Webhooks/operation/deliveryReport * @since 1.0 */ BaseDeliveryReport deliveryReport(String jsonPayload) throws ApiMappingException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy