Evo Voice

<back to all web services

NewAddress

Create a new business address to be used with e911

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
POST/addresses
import 'package:servicestack/servicestack.dart';

class AddressInfo implements IConvertible
{
    String? id;
    String? friendlyName;
    bool? emergencyEnabled;
    String? customerName;
    String? street;
    String? city;
    String? region;
    String? postalCode;
    String? isoCountry;

    AddressInfo({this.id,this.friendlyName,this.emergencyEnabled,this.customerName,this.street,this.city,this.region,this.postalCode,this.isoCountry});
    AddressInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        friendlyName = json['friendlyName'];
        emergencyEnabled = json['emergencyEnabled'];
        customerName = json['customerName'];
        street = json['street'];
        city = json['city'];
        region = json['region'];
        postalCode = json['postalCode'];
        isoCountry = json['isoCountry'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'friendlyName': friendlyName,
        'emergencyEnabled': emergencyEnabled,
        'customerName': customerName,
        'street': street,
        'city': city,
        'region': region,
        'postalCode': postalCode,
        'isoCountry': isoCountry
    };

    getTypeName() => "AddressInfo";
    TypeContext? context = _ctx;
}

/**
* Create a new business address to be used with e911
*/
// @Api(Description="Create a new business address to be used with e911")
class NewAddress implements IConvertible
{
    String? accountId;
    String? friendlyName;
    bool? emergencyEnabled;
    String? customerName;
    String? street;
    String? city;
    String? region;
    String? postalCode;
    String? isoCountry;

    NewAddress({this.accountId,this.friendlyName,this.emergencyEnabled,this.customerName,this.street,this.city,this.region,this.postalCode,this.isoCountry});
    NewAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        accountId = json['accountId'];
        friendlyName = json['friendlyName'];
        emergencyEnabled = json['emergencyEnabled'];
        customerName = json['customerName'];
        street = json['street'];
        city = json['city'];
        region = json['region'];
        postalCode = json['postalCode'];
        isoCountry = json['isoCountry'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'accountId': accountId,
        'friendlyName': friendlyName,
        'emergencyEnabled': emergencyEnabled,
        'customerName': customerName,
        'street': street,
        'city': city,
        'region': region,
        'postalCode': postalCode,
        'isoCountry': isoCountry
    };

    getTypeName() => "NewAddress";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'evovoice.io', types: <String, TypeInfo> {
    'AddressInfo': TypeInfo(TypeOf.Class, create:() => AddressInfo()),
    'NewAddress': TypeInfo(TypeOf.Class, create:() => NewAddress()),
});

Dart NewAddress DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /addresses HTTP/1.1 
Host: evovoice.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	accountId: String,
	friendlyName: String,
	emergencyEnabled: False,
	customerName: String,
	street: String,
	city: String,
	region: String,
	postalCode: String,
	isoCountry: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	friendlyName: String,
	emergencyEnabled: False,
	customerName: String,
	street: String,
	city: String,
	region: String,
	postalCode: String,
	isoCountry: String
}