pip_clients_smssettings 1.0.1
pip_clients_smssettings: ^1.0.1

Dart native

Clients for Sms Settings microservice for Pip.Services in Dart. This microservice keeps settings of sms recipients.

Pip.Services Logo
Sms Settings Microservice Client SDK for Dart #

This is a Dart client SDK for pip-services-smssettings microservice.

Download #

Right now the only way to get the microservice is to check it out directly from github repository

git clone git@github.com:pip-services-users/pip-clients-smssettings-dart.git

Pip.Service team is working to implement packaging and make stable releases available for your as zip downloadable archieves.

Contract #

Logical contract of the microservice is presented below. For physical implementation (HTTP/REST), please, refer to documentation of the specific protocol.

class SmsSettingsV1 implements IStringIdentifiable {
  /* Recipient information */
  String id;
  String name;
  String phone;
  String language;

  /* SmsSettings management */
  dynamic subscriptions;
  bool verified;
  String ver_code;
  DateTime ver_expire_time;

  /* Custom fields */
  dynamic custom_hdr;
  dynamic custom_dat;
}

abstract class ISmsSettingsV1 {
  Future<List<SmsSettingsV1>> getSettingsByIds(
      String correlationId, List<String> recipientIds);

  Future<SmsSettingsV1> getSettingsById(String correlationId, String recipientId);

  Future<SmsSettingsV1> getSettingsByPhoneSettings(String correlationId, String phone);

  Future<SmsSettingsV1> setSettings(String correlationId, SmsSettingsV1 settings);

  Future<SmsSettingsV1> setVerifiedSettings(String correlationId, SmsSettingsV1 settings);  

  Future<SmsSettingsV1> setRecipient(String correlationId, String recipientId, String name, String phone, String language);

  Future<SmsSettingsV1> setSubscriptions(String correlationId, String recipientId, dynamic subscriptions);

  Future<SmsSettingsV1> deleteSettingsById(String correlationId, String recipientId);

  Future resendVerification(String correlationId, String recipientId);

  Future verifyPhone(String correlationId, String recipientId, String code);
}

Use #

The easiest way to work with the microservice is to use client SDK.

Define client configuration parameters that match the configuration of the microservice's external API

// Client configuration
var httpConfig = ConfigParams.fromTuples(
	"connection.protocol", "http",
	"connection.host", "localhost",
	"connection.port", 8080
);

Instantiate the client and open connection to the microservice

// Create the client instance
var client = SmsSettingsHttpClientV1(config);

// Configure the client
client.configure(httpConfig);

// Connect to the microservice
try{
  await client.open(null)
}catch() {
  // Error handling...
}       
// Work with the microservice
// ...

Now the client is ready to perform operations

// Create a new settings
final SETTINGS = SmsSettingsV1(
    id: '1',
    name: 'User 1',
    phone: '+1234567890',
    language: 'en',
    verified: false);

    // Create the settings
    try {
      var settings = await client.setSettings('123', SETTINGS);
      // Do something with the returned settings...
    } catch(err) {
      // Error handling...     
    }
// Get the settings
try {
var settings = await client.getSettingsByPhoneSettings(
    null,
    '+1234567890');
    // Do something with settings...

    } catch(err) { // Error handling}
// Verify an sms
try {
    settings1 = SETTINGS;
    settings1.ver_code = '123';  
    await controller.verifySms(null, '1', '123');

    var settings = await client.getSettingsById(
    null,
    '1');
    // Do something with settings...

    } catch(err) { // Error handling}

Acknowledgements #

This microservice was created and currently maintained by

  • Sergey Seroukhov
  • Nuzhnykh Egor.
0
likes
100
pub points
15%
popularity

Publisher

entinco.com

Clients for Sms Settings microservice for Pip.Services in Dart. This microservice keeps settings of sms recipients.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

angel_framework, http, pip_services3_commons, pip_services3_components, pip_services3_data, pip_services3_rpc, pip_services_smssettings

More

Packages that depend on pip_clients_smssettings