Trendsic Platform Service

<back to all web services

CustomerAppAuthCodeRequest

The following routes are available for this service:
POST/v1/c/{Slug}/auth/code
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CRM.AgencyPlatform.API.Internal;

namespace CRM.AgencyPlatform.API.Internal
{
    public partial class CourierBookLevel
    {
        public virtual string Code { get; set; }
        public virtual string Name { get; set; }
        public virtual string Ready { get; set; }
        public virtual int WithinMin { get; set; }
        public virtual string InBy { get; set; }
        public virtual decimal Surcharge { get; set; }
        public virtual List<int> Days { get; set; } = [];
        public virtual int? DeadlineMin { get; set; }
    }

    public partial class CourierBookOrderResponse
    {
        public virtual bool Done { get; set; }
        public virtual bool NeedsAction { get; set; }
        public virtual string ClientSecret { get; set; }
        public virtual string SetupIntentId { get; set; }
        public virtual string Code { get; set; }
        public virtual string TrackUrl { get; set; }
        public virtual string IcsUrl { get; set; }
        public virtual string WindowText { get; set; }
        public virtual string Promise { get; set; }
        public virtual decimal Total { get; set; }
        public virtual string PayTiming { get; set; }
        public virtual string CardLast4 { get; set; }
        public virtual string Repeats { get; set; }
        public virtual string LinkSentBy { get; set; }
        public virtual string ReopenStep { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class CourierBookPageView
    {
        public virtual bool Available { get; set; }
        public virtual bool BookingOn { get; set; }
        public virtual CourierTrackBusiness Business { get; set; }
        public virtual CourierBookProfile Profile { get; set; }
        public virtual List<CourierBookProfileLink> Profiles { get; set; } = [];
        public virtual bool CardEnabled { get; set; }
        public virtual string PublishableKey { get; set; }
        public virtual string AppUrl { get; set; }
        public virtual string Today { get; set; }
        public virtual int Weekday { get; set; }
        public virtual int NowMin { get; set; }
    }

    public partial class CourierBookProfile
    {
        public virtual string Code { get; set; }
        public virtual string Name { get; set; }
        public virtual string Shape { get; set; }
        public virtual string Template { get; set; }
        public virtual string UnitOne { get; set; }
        public virtual string UnitMany { get; set; }
        public virtual string UnitOneEs { get; set; }
        public virtual string UnitManyEs { get; set; }
        public virtual string FacilityNoun { get; set; }
        public virtual string FacilityNounEs { get; set; }
        public virtual string FacilityName { get; set; }
        public virtual List<CourierBookLevel> Levels { get; set; } = [];
        public virtual bool Asap { get; set; }
        public virtual bool Recurring { get; set; }
        public virtual string PayTiming { get; set; }
        public virtual bool FinalAfterCount { get; set; }
        public virtual decimal CancelFee { get; set; }
        public virtual decimal MissedFee { get; set; }
        public virtual int MissedWaitMin { get; set; }
        public virtual List<string> ServiceArea { get; set; } = [];
        public virtual List<string> Zips { get; set; } = [];
        public virtual HandoffOptions Handoffs { get; set; }
    }

    public partial class CourierBookProfileLink
    {
        public virtual string Code { get; set; }
        public virtual string Name { get; set; }
        public virtual string Shape { get; set; }
    }

    public partial class CourierCustomerRow
    {
        public virtual int ContactId { get; set; }
        public virtual string Name { get; set; }
        public virtual string Phone { get; set; }
        public virtual string BillingMode { get; set; }
        public virtual string AccountCode { get; set; }
        public virtual int Orders { get; set; }
        public virtual DateTime? LastOrderAt { get; set; }
        public virtual int Unbilled { get; set; }
        public virtual decimal UnbilledAmount { get; set; }
        public virtual int Cards { get; set; }
    }

    public partial class CourierTrackBusiness
    {
        public virtual string Name { get; set; }
        public virtual string Phone { get; set; }
    }

    public partial class CustomerAppAddress
    {
        public virtual int Id { get; set; }
        public virtual string Label { get; set; }
        public virtual string Street { get; set; }
        public virtual string Unit { get; set; }
        public virtual string City { get; set; }
        public virtual string Zip { get; set; }
        public virtual decimal? Lat { get; set; }
        public virtual decimal? Lng { get; set; }
        public virtual bool InArea { get; set; }
    }

    public partial class CustomerAppAuthCodeRequest
    {
        public virtual string Slug { get; set; }
        public virtual string Profile { get; set; }
        public virtual string Phone { get; set; }
    }

    public partial class CustomerAppBoot
    {
        public virtual string Profile { get; set; }
        public virtual bool Available { get; set; }
        public virtual string Reason { get; set; }
        public virtual string AuthMethod { get; set; }
        public virtual string Slug { get; set; }
        public virtual CourierBookPageView Page { get; set; }
        public virtual string ManifestUrl { get; set; }
    }

    public partial class CustomerAppCard
    {
        public virtual int Id { get; set; }
        public virtual string Label { get; set; }
        public virtual string Brand { get; set; }
        public virtual string Last4 { get; set; }
        public virtual bool IsDefault { get; set; }
    }

    public partial class CustomerAppInvoice
    {
        public virtual Guid Uid { get; set; }
        public virtual string Number { get; set; }
        public virtual string DateText { get; set; }
        public virtual decimal Total { get; set; }
        public virtual decimal Balance { get; set; }
        public virtual bool Paid { get; set; }
    }

    public partial class CustomerAppMe
    {
        public virtual int ContactId { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string Name { get; set; }
        public virtual string Phone { get; set; }
        public virtual bool NeedsName { get; set; }
        public virtual string BillingMode { get; set; }
        public virtual string AccountCode { get; set; }
        public virtual List<CustomerAppAddress> Addresses { get; set; } = [];
        public virtual List<CustomerAppCard> Cards { get; set; } = [];
        public virtual CustomerAppNotif Notif { get; set; }
        public virtual List<CustomerAppOrder> Orders { get; set; } = [];
        public virtual List<CustomerAppRecurrence> Recurring { get; set; } = [];
        public virtual List<CustomerAppInvoice> Invoices { get; set; } = [];
        public virtual string Today { get; set; }
        public virtual int NowMin { get; set; }
    }

    public partial class CustomerAppNotif
    {
        public virtual bool Texts { get; set; }
        public virtual bool Push { get; set; }
        public virtual bool Promos { get; set; }
    }

    public partial class CustomerAppOrder
    {
        public virtual int Id { get; set; }
        public virtual string Code { get; set; }
        public virtual string Status { get; set; }
        public virtual string State { get; set; }
        public virtual bool Active { get; set; }
        public virtual string LevelCode { get; set; }
        public virtual string LevelName { get; set; }
        public virtual int Units { get; set; }
        public virtual int? UnitsFound { get; set; }
        public virtual string Address { get; set; }
        public virtual string Unit { get; set; }
        public virtual string Zip { get; set; }
        public virtual string DropAddress { get; set; }
        public virtual string RecipientName { get; set; }
        public virtual string Handoff { get; set; }
        public virtual bool IsAsap { get; set; }
        public virtual int DayIx { get; set; }
        public virtual string DateText { get; set; }
        public virtual int? StartMin { get; set; }
        public virtual int? EndMin { get; set; }
        public virtual string DriverFirstName { get; set; }
        public virtual int? EtaMin { get; set; }
        public virtual string Promise { get; set; }
        public virtual string PayMode { get; set; }
        public virtual decimal Amount { get; set; }
        public virtual decimal? Charged { get; set; }
        public virtual decimal? Tip { get; set; }
        public virtual string CardLast4 { get; set; }
        public virtual int? RecurrenceId { get; set; }
        public virtual List<CustomerAppStep> Steps { get; set; } = [];
    }

    public partial class CustomerAppRecurrence
    {
        public virtual int Id { get; set; }
        public virtual int Weekday { get; set; }
        public virtual int StartMin { get; set; }
        public virtual int EndMin { get; set; }
        public virtual string Cadence { get; set; }
        public virtual string LevelCode { get; set; }
        public virtual int Units { get; set; }
        public virtual string Handoff { get; set; }
        public virtual string Address { get; set; }
        public virtual bool Paused { get; set; }
        public virtual string PayMode { get; set; }
        public virtual string CardLast4 { get; set; }
        public virtual string NextDate { get; set; }
        public virtual string SkippedDate { get; set; }
        public virtual int AheadDays { get; set; }
    }

    public partial class CustomerAppResponse
    {
        public virtual CustomerAppBoot Boot { get; set; }
        public virtual CustomerAppMe Customer { get; set; }
        public virtual List<CustomerAppAddress> Addresses { get; set; } = [];
        public virtual List<CustomerAppCard> Cards { get; set; } = [];
        public virtual CustomerAppNotif Notif { get; set; }
        public virtual List<CustomerAppRecurrence> Recurring { get; set; } = [];
        public virtual CourierBookOrderResponse Booked { get; set; }
        public virtual bool Sent { get; set; }
        public virtual string Token { get; set; }
        public virtual bool NeedsName { get; set; }
        public virtual string Name { get; set; }
        public virtual string Url { get; set; }
        public virtual string ClientSecret { get; set; }
        public virtual string PublishableKey { get; set; }
        public virtual string Message { get; set; }
        public virtual string ReopenStep { get; set; }
        public virtual List<CourierCustomerRow> Customers { get; set; } = [];
        public virtual RunResult Run { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class CustomerAppStep
    {
        public virtual string Key { get; set; }
        public virtual bool Done { get; set; }
        public virtual string Time { get; set; }
    }

}

C# CustomerAppAuthCodeRequest DTOs

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

HTTP + OTHER

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

POST /v1/c/{Slug}/auth/code HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"Slug":"String","Profile":"String","Phone":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Boot":{"Profile":"String","Available":false,"Reason":"String","AuthMethod":"String","Slug":"String","Page":{"Available":false,"BookingOn":false,"Business":{"Name":"String","Phone":"String"},"Profile":{"Code":"String","Name":"String","Shape":"String","Template":"String","UnitOne":"String","UnitMany":"String","UnitOneEs":"String","UnitManyEs":"String","FacilityNoun":"String","FacilityNounEs":"String","FacilityName":"String","Levels":[{"Code":"String","Name":"String","Ready":"String","WithinMin":0,"InBy":"String","Surcharge":0,"Days":[0],"DeadlineMin":0}],"Asap":false,"Recurring":false,"PayTiming":"String","FinalAfterCount":false,"CancelFee":0,"MissedFee":0,"MissedWaitMin":0,"ServiceArea":["String"],"Zips":["String"],"Handoffs":{"Hand":false,"Porch":false,"Desk":false,"SigRequired":false,"IdRequired":false,"CodeRequired":false}},"Profiles":[{"Code":"String","Name":"String","Shape":"String"}],"CardEnabled":false,"PublishableKey":"String","AppUrl":"String","Today":"String","Weekday":0,"NowMin":0},"ManifestUrl":"String"},"Customer":{"ContactId":0,"FirstName":"String","LastName":"String","Name":"String","Phone":"String","NeedsName":false,"BillingMode":"String","AccountCode":"String","Addresses":[{"Id":0,"Label":"String","Street":"String","Unit":"String","City":"String","Zip":"String","Lat":0,"Lng":0,"InArea":false}],"Cards":[{"Id":0,"Label":"String","Brand":"String","Last4":"String","IsDefault":false}],"Notif":{"Texts":false,"Push":false,"Promos":false},"Orders":[{"Id":0,"Code":"String","Status":"String","State":"String","Active":false,"LevelCode":"String","LevelName":"String","Units":0,"UnitsFound":0,"Address":"String","Unit":"String","Zip":"String","DropAddress":"String","RecipientName":"String","Handoff":"String","IsAsap":false,"DayIx":0,"DateText":"String","StartMin":0,"EndMin":0,"DriverFirstName":"String","EtaMin":0,"Promise":"String","PayMode":"String","Amount":0,"Charged":0,"Tip":0,"CardLast4":"String","RecurrenceId":0,"Steps":[{"Key":"String","Done":false,"Time":"String"}]}],"Recurring":[{"Id":0,"Weekday":0,"StartMin":0,"EndMin":0,"Cadence":"String","LevelCode":"String","Units":0,"Handoff":"String","Address":"String","Paused":false,"PayMode":"String","CardLast4":"String","NextDate":"String","SkippedDate":"String","AheadDays":0}],"Invoices":[{"Uid":"00000000000000000000000000000000","Number":"String","DateText":"String","Total":0,"Balance":0,"Paid":false}],"Today":"String","NowMin":0},"Addresses":[{"Id":0,"Label":"String","Street":"String","Unit":"String","City":"String","Zip":"String","Lat":0,"Lng":0,"InArea":false}],"Cards":[{"Id":0,"Label":"String","Brand":"String","Last4":"String","IsDefault":false}],"Notif":{"Texts":false,"Push":false,"Promos":false},"Recurring":[{"Id":0,"Weekday":0,"StartMin":0,"EndMin":0,"Cadence":"String","LevelCode":"String","Units":0,"Handoff":"String","Address":"String","Paused":false,"PayMode":"String","CardLast4":"String","NextDate":"String","SkippedDate":"String","AheadDays":0}],"Booked":{"Done":false,"NeedsAction":false,"ClientSecret":"String","SetupIntentId":"String","Code":"String","TrackUrl":"String","IcsUrl":"String","WindowText":"String","Promise":"String","Total":0,"PayTiming":"String","CardLast4":"String","Repeats":"String","LinkSentBy":"String","ReopenStep":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}},"Sent":false,"Token":"String","NeedsName":false,"Name":"String","Url":"String","ClientSecret":"String","PublishableKey":"String","Message":"String","ReopenStep":"String","Customers":[{"ContactId":0,"Name":"String","Phone":"String","BillingMode":"String","AccountCode":"String","Orders":0,"LastOrderAt":"0001-01-01T00:00:00.0000000","Unbilled":0,"UnbilledAmount":0,"Cards":0}],"Run":{"Invoices":0,"Orders":0,"Total":0,"Skipped":["String"]},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}