@shipengine/connect-order-source-api
Version:
This is the typescript/javascript definitions for the order source api
116 lines (115 loc) • 6.28 kB
TypeScript
import Joi from 'joi';
export declare class Parameter {
/** @description The name of the parameter */
name: string;
/** @description The value associated with the parameter */
value: string;
}
export declare const MethodSchema: Joi.StringSchema;
export declare const ParameterSchema: Joi.ObjectSchema<any>;
export declare class DateTimeConfiguration {
/** @description JSONPath to the JSON element containing the date-time */
path: string;
/** @description DateTime format string compliant with
* https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings */
date_time_format: string;
}
export declare const DateTimeConfigurationSchema: Joi.ObjectSchema<any>;
export type MapOfStrings = {
[key: string]: string;
};
export type MapOfObjects = {
[key: string]: any;
};
/** @description Optional configuration to take full control of parsing and extracting fields
* from the integration's JSON response body.
* Note for JSONPath: strings not starting with $ are interpreted as string literals
*/
export declare class ResponseTransformationConfiguration {
/** @description JSONPath to the JSON element for access_token. */
access_token: string;
/** @description JSONPath to the JSON element for token_type */
token_type: string;
/** @description JSONPath to the JSON element for refresh_token */
refresh_token?: string;
/** @description JSONPath to the JSON element for expires_in. Mutually exclusive with expires_at */
expires_in?: string;
/** @description Configuration for parsing a date-time, when the integration is lacking expires_in.
* Mutually exclusive with expires_in.
*/
expires_at?: DateTimeConfiguration;
/** @description Optional collection of properties to include in the connection_context sent back with the auth flow result.
* Property value may be JSONPath or a string literal.
* E.g.
* "connection_context": {
* "store_id": "$.data.store_id"
* }
*/
connection_context?: MapOfStrings;
}
export declare const MapOfStringsSchema: Joi.ObjectSchema<any>;
export declare const MapOfObjectsSchema: Joi.ObjectSchema<any>;
export declare const ResponseTransformationConfigurationSchema: Joi.ObjectSchema<any>;
export declare class AccessToken {
/** @description OAuth1 only. The url to obtain the temporary Access (aka Request) Token to start a flow **/
url_template: string;
}
export declare const AccessTokenSchema: Joi.ObjectSchema<any>;
export declare class RequestTokenConfiguration {
/** @description The url to obtain the access token using the authorization code on the backend @example "http://{auth_state:store_name}.store.com/admin/oauth/request", "http://store.com/oauth/request" */
url_template: string;
/** @description A list of query parameters that will be attached to the url */
query_parameters?: Parameter[];
/** @description Method to use when making the server-server code for token request @example "GET", "POST" */
method?: string;
/** @description List of parameters that are sent to the integration when exchanging the code for the token. These are built using ContentType */
body?: Parameter[];
/** @description List of headers that are sent to the integration when requesting a token */
headers?: Parameter[];
/** @description Response payload parsing */
response?: ResponseTransformationConfiguration;
}
export declare const RequestTokenConfigurationSchema: Joi.ObjectSchema<any>;
export declare class RefreshTokenConfiguration {
/** @description The url to refresh the access token using the authorization code on the backend @example "http://{auth_state:store_name}.store.com/admin/oauth/refresh", "http://store.com/oauth/refresh" */
url_template: string;
/** @description A list of query parameters that will be attached to the url */
query_parameters?: Parameter[];
/** @description Method to use when making the server-server code for token request @example "GET", "POST" */
method?: string;
/** @description List of parameters that are sent to the integration during the server-server refresh token request. These are built using the content type specified in the headers array. */
body?: Parameter[];
/** @description List of headers that are sent to the integration when refreshing a token */
headers?: Parameter[];
/** @description Response payload parsing */
response?: ResponseTransformationConfiguration;
}
export declare const RefreshTokenConfigurationSchema: Joi.ObjectSchema<any>;
export declare class NonceConfiguration {
name: string;
}
export declare const NonceConfigurationSchema: Joi.ObjectSchema<any>;
export declare class ConnectionNamesConfiguration {
/** @description A unique list of connection names that the integration supports. */
connection_names: MapOfObjects;
/** @description The connection name that will be used when none is selected. */
default_connection_name: string;
}
export declare const ConnectionNamesConfigurationSchema: Joi.ObjectSchema<any>;
export declare class AuthorizationConfiguration {
/** @description The url to obtain the access token using the authorization code on the backend
* @example "http://{auth_state:store_name}.store.com/admin/oauth/authorize", "http://store.com/oauth/authorize" */
url_template: string;
/** @description A list of query parameters that will be attached to the url */
query_parameters?: Parameter[];
/** @description Method to use when making the server-server code for token request @example "GET", "POST" */
method?: string;
/** @description List of parameters that are sent to the integration during the server-server
* authorization request. These are built using the content type specified in the headers array. */
body?: Parameter[];
/** @description List of headers that are sent to the integration when authorizing a token */
headers?: Parameter[];
/** @description A nonce query parameter included on the accept request, then returned and validated on the redirect request */
nonce?: NonceConfiguration;
}
export declare const AuthorizationConfigurationSchema: Joi.ObjectSchema<any>;