Billhighway Cloud API

<back to all web services

IntegrationPartnerGetRq

The following routes are available for this service:
GET/signup/api/integration/partner/{name}
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OAuthAppRedirects:
    scope: Optional[str] = None
    redirect_template: Optional[str] = None
    allow_anonymous: Optional[bool] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IntegrationPartnerOAuthSettings:
    nat_id: Optional[int] = None
    chap_id: Optional[int] = None
    authorize_url: Optional[str] = None
    authorize_redirect_uri: Optional[str] = None
    token_url: Optional[str] = None
    user_info_url: Optional[str] = None
    consumer_key: Optional[str] = None
    consumer_secret: Optional[str] = None
    username: Optional[str] = None
    password: Optional[str] = None
    security_token: Optional[str] = None
    app_redirects: Optional[List[OAuthAppRedirects]] = None


class DestinationUriType(IntEnum):
    NONE = 0
    ABSOLUTE = 1
    RELATIVE = 2


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IntegrationDestinationConfig:
    type: Optional[str] = None
    uri_type: Optional[DestinationUriType] = None
    uri: Optional[str] = None
    authentication_key: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IntegrationPartner:
    integration_partner_id: Optional[int] = None
    name: Optional[str] = None
    description: Optional[str] = None
    uri: Optional[str] = None
    username: Optional[str] = None
    password: Optional[str] = None
    api_key: Optional[str] = None
    o_auth_settings: Optional[IntegrationPartnerOAuthSettings] = None
    detination_configurations: Optional[List[IntegrationDestinationConfig]] = None
    scope: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IntegrationPartnerRs(IApiResponse):
    partner: Optional[IntegrationPartner] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IntegrationPartnerGetRq(IApiRequest):
    name: Optional[str] = None

Python IntegrationPartnerGetRq 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.

GET /signup/api/integration/partner/{name} HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Partner: 
	{
		IntegrationPartnerId: 0,
		Name: String,
		Description: String,
		Uri: String,
		Username: String,
		Password: String,
		ApiKey: String,
		OAuthSettings: 
		{
			NatId: 0,
			ChapId: 0,
			AuthorizeUrl: String,
			AuthorizeRedirectUri: String,
			TokenUrl: String,
			UserInfoUrl: String,
			ConsumerKey: String,
			ConsumerSecret: String,
			Username: String,
			Password: String,
			SecurityToken: String,
			AppRedirects: 
			[
				{
					Scope: String,
					RedirectTemplate: String,
					AllowAnonymous: False
				}
			]
		},
		DetinationConfigurations: 
		[
			{
				Type: String,
				UriType: 0,
				Uri: String,
				AuthenticationKey: String
			}
		],
		Scope: String
	}
}