This quick guide aims to help you start with Infobip Moments API. After reading it, you should know how to use Moments.
The first step is to create an ApiClient
instance with some configuration.
ApiClient apiClient = ApiClient.forApiKey(ApiKey.from(API_KEY))
.withBaseUrl(BaseUrl.from(BASE_URL))
.build();
You can now create an instance of FlowApi
which allows you to manage your flows.
FlowApi flowApi = new FlowApi(apiClient);
To add participants to a flow, you can use the following code:
Long campaignId = 200000000000001L;
FlowAddFlowParticipantsRequest request = new FlowAddFlowParticipantsRequest()
.addParticipantsItem(new FlowParticipant()
.identifyBy(new FlowPersonUniqueField()
.identifier("[email protected]")
.type(FlowPersonUniqueFieldType.EMAIL)
)
.variables(Map.of("orderNumber", 1167873391)))
.notifyUrl("https://example.com");
flowApi.addFlowParticipants(campaignId, request)
.execute();
To fetch a report to confirm that all persons have been successfully added to the flow, you can use the following code:
String givenOperationId = "03f2d474-0508-46bf-9f3d-d8e2c28adaea";
flowApi.getFlowParticipantsAddedReport(campaignId, givenOperationId)
.execute();
To remove a person from a flow, you can use the following code:
String externalId = "8edb24b5-0319-48cd-a1d9-1e8bc5d577ab";
flowApi.removePeopleFromFlow(campaignId)
.externalId(externalId)
.execute();
You can now create an instance of FormsApi
which allows you to manage your forms.
FormsApi formsApi = new FormsApi(apiClient);
To get all forms, you can use the following code:
FormsResponse formsResponse = formsApi
.getForms()
.execute();
To get a specific form by ID, you can use the following code:
String formId = "cec5dfd2-4238-48e0-933b-9acbdb2e6f5f";
FormsResponseContent formResponse = formsApi
.getForm(formId)
.execute();
To increase the view counter of a specific form, you can use the following code:
FormsStatusResponse status = formsApi
.incrementViewCount(formId)
.execute();
To submit data to a specific form, you can use the following code:
Map<String, Object> formDataRequest = Map.of(
"first_name", "John",
"last_name", "Doe",
"company", "Infobip",
"email", "[email protected]"
);
FormsStatusResponse status = formsApi
.submitFormData(formId, formDataRequest)
.execute();