POST | /share/refer-business-link-used | A business referral link was used | Validates the JWT token with the identity of the referring user and the place, and returns relevant information. |
---|
library ConsumerApi;
import 'package:servicestack/servicestack.dart';
class ReferBusinessUser implements IConvertible
{
String? firstName;
String? lastName;
String? profilePhotoUrl;
ReferBusinessUser({this.firstName,this.lastName,this.profilePhotoUrl});
ReferBusinessUser.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
firstName = json['firstName'];
lastName = json['lastName'];
profilePhotoUrl = json['profilePhotoUrl'];
return this;
}
Map<String, dynamic> toJson() => {
'firstName': firstName,
'lastName': lastName,
'profilePhotoUrl': profilePhotoUrl
};
getTypeName() => "ReferBusinessUser";
TypeContext? context = _ctx;
}
class ReferredPlace implements IConvertible
{
int? id;
String? guid;
String? name;
String? logoUrl;
String? imageUrl;
ReferredPlace({this.id,this.guid,this.name,this.logoUrl,this.imageUrl});
ReferredPlace.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
guid = json['guid'];
name = json['name'];
logoUrl = json['logoUrl'];
imageUrl = json['imageUrl'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'guid': guid,
'name': name,
'logoUrl': logoUrl,
'imageUrl': imageUrl
};
getTypeName() => "ReferredPlace";
TypeContext? context = _ctx;
}
enum ReferBusinessState
{
SignInToSee,
Available,
CanNotReferYourself,
AlreadyClaimedByYou,
AlreadyClaimedBySomeoneElse,
Expired,
}
class ReferBusinessLinkUsedResponse implements IConvertible
{
ReferBusinessUser? referringUser;
ReferredPlace? referredPlace;
ReferBusinessState? state;
ReferBusinessLinkUsedResponse({this.referringUser,this.referredPlace,this.state});
ReferBusinessLinkUsedResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
referringUser = JsonConverters.fromJson(json['referringUser'],'ReferBusinessUser',context!);
referredPlace = JsonConverters.fromJson(json['referredPlace'],'ReferredPlace',context!);
state = JsonConverters.fromJson(json['state'],'ReferBusinessState',context!);
return this;
}
Map<String, dynamic> toJson() => {
'referringUser': JsonConverters.toJson(referringUser,'ReferBusinessUser',context!),
'referredPlace': JsonConverters.toJson(referredPlace,'ReferredPlace',context!),
'state': JsonConverters.toJson(state,'ReferBusinessState',context!)
};
getTypeName() => "ReferBusinessLinkUsedResponse";
TypeContext? context = _ctx;
}
class ReferBusinessLinkUsedRequest implements IPost, IConvertible
{
String? referBusinessToken;
ReferBusinessLinkUsedRequest({this.referBusinessToken});
ReferBusinessLinkUsedRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
referBusinessToken = json['referBusinessToken'];
return this;
}
Map<String, dynamic> toJson() => {
'referBusinessToken': referBusinessToken
};
getTypeName() => "ReferBusinessLinkUsedRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'ConsumerApi', types: <String, TypeInfo> {
'ReferBusinessUser': TypeInfo(TypeOf.Class, create:() => ReferBusinessUser()),
'ReferredPlace': TypeInfo(TypeOf.Class, create:() => ReferredPlace()),
'ReferBusinessState': TypeInfo(TypeOf.Enum, enumValues:ReferBusinessState.values),
'ReferBusinessLinkUsedResponse': TypeInfo(TypeOf.Class, create:() => ReferBusinessLinkUsedResponse()),
'ReferBusinessLinkUsedRequest': TypeInfo(TypeOf.Class, create:() => ReferBusinessLinkUsedRequest()),
});
Dart ReferBusinessLinkUsedRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /share/refer-business-link-used HTTP/1.1
Host: unstable-consumer-api.brovs.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"referBusinessToken":"String"}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"referringUser":{"firstName":"String","lastName":"String","profilePhotoUrl":"String"},"referredPlace":{"id":0,"name":"String","logoUrl":"String","imageUrl":"String"},"state":"SignInToSee"}