/* tslint:disable */ /* eslint-disable */ /** * Geins Management API * Geins Management API is a RESTful api that powers your applications and helps you manage your Geins services. Geins provides an easy-to-use and scalable solution for managing all aspects of an online store, from product listings and customer information to order processing and payment transactions. :::tip Tip With this API, you can build custom applications and integrate with third-party systems, feeds, dashboards and other bussiness logic apps. ::: ## Getting started Once you have created an account, you can start using the Management API by creating an `API User`. You can create as many API users as you need. Each `API user` is connected to a specific account so you can keep track of operations and manage keys. You can find all your API credentials in `Geins Merchant Center`. ### Fast track Use one of our [SDKs](https://docs.geins.io/docs/sdk/introduction) to get started quickly. The SDKs are available for the most popular programming languages and frameworks. Or, if you prefer to just take it for a test run: [![Run in Postman](https://run.pstmn.io/button.svg)](https://god.gw.postman.com/run-collection/25895885-aaf6598f-1a7c-4949-85d7-ba846c42d553?action=collection%2Ffork&collection-url=entityId%3D25895885-aaf6598f-1a7c-4949-85d7-ba846c42d553%26entityType%3Dcollection%26workspaceId%3Da2a179ce-158e-46b0-8d06-e9640f45112c) ### Authentication Two authentication methods are required: - `Basic Auth` - `API Key` All API credentials can be found in `Geins Merchant Center`. #### Basic Auth A Basic auth `Authorization` header needs to be included in every request. The value should be `Basic ` where `` is the Base64 encoding of your `API username` and `API password` joined by a single colon `:`. See [Wikipedia](https://en.wikipedia.org/wiki/Basic_access_authentication) for more information on Basic auth. #### API Key An `X-ApiKey` header needs to be included in every request. This header should contain the value of your `API key`. #### Example ```bash curl -X GET \"https://mgmtapi.geins.io/API/Market/List\" \\ -H \"Authorization: Basic [USER-CREDENTIALS-BASE64-ENCODED]\" \\ -H \"X-ApiKey: [API-KEY]\" ``` * * The version of the OpenAPI document: v1.10.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists, mapValues } from '../runtime'; /** * A data model for webhook Registrations * @export * @interface GeinsWebhookItem */ export interface GeinsWebhookItem { /** * Webhook Id * @type {string} * @memberof GeinsWebhookItem */ id?: string; /** * Type of entity. * 0 = NOT_SET * 1 = Brand * 2 = Capture * 3 = Category * 4 = Customer * 5 = Order * 6 = PageWidget * 7 = Product * 8 = Refund * 9 = Supplier * @type {number} * @memberof GeinsWebhookItem */ entity?: GeinsWebhookItemEntityEnum; /** * Webhook Name * @type {string} * @memberof GeinsWebhookItem */ name?: string; /** * Webhook Description * @type {string} * @memberof GeinsWebhookItem */ description?: string; /** * Comma separated list of actions to listen for. * Possible actions per entity are: * - **Product, Brand, Category, Supplier** - `create`, `update`, `delete` * - **Order** - `create`, `update`, `cancel`, `activate`, `lock`, `complete` * - **Capture, Refund** - `create` * - **PageWidget** - `update`, `delete` * - **Customer** - `delete`, `passwordreset`, `obfuscate` * @type {string} * @memberof GeinsWebhookItem */ actions?: string; /** * Http Method to use * @type {string} * @memberof GeinsWebhookItem */ method?: string; /** * Url to send the webhook to. Placeholders can be used to customize the URL. * - _Always available placeholders:_ * - `{{entity}}` - Product, Brand, Category, etc * - `{{action}}` - create, update, delete, etc * - `{{account}}` - usually the name of your webshop * - `{{environment}}` - prod, dev, qa, etc * - `{{id}}` -(can be a comma separated list of ids. * - _Partially available placeholders:_ * - `{{paymentName}}` - name of payment method. Only applicable for capture and refund * - `{{channelName}}` - name of the channel (web site). Only applicable for capture and refund * - `{{channelUrl}}` - url of the channel (web site). Only applicable for password reset * - `{{resetKey}}` - key for password reset. Only applicable for password reset * **Note:** Not all placeholders are available for all combinations of entities and actions. Ensure that the placeholders you use are relevant to the webhook's entity and action. * @type {string} * @memberof GeinsWebhookItem */ url?: string; /** * Body of the webhook. Placeholders can be used to customize the body. * - _Always available placeholders:_ * - `{{entity}}` - Product, Brand, Category, etc * - `{{action}}` - create, update, delete, etc * - `{{account}}` - usually the name of your webshop * - `{{environment}}` - prod, dev, qa, etc * - `{{id}}` -(can be a comma separated list of ids. * - _Partially available placeholders:_ * - `{{paymentName}}` - name of payment method. Only applicable for capture and refund * - `{{channelName}}` - name of the channel (web site). Only applicable for capture and refund * - `{{channelUrl}}` - url of the channel (web site). Only applicable for password reset * - `{{resetKey}}` - key for password reset. Only applicable for password reset * **Note:** Not all placeholders are available for all combinations of entities and actions. Ensure that the placeholders you use are relevant to the webhook's entity and action. * @type {string} * @memberof GeinsWebhookItem */ body?: string; /** * Headers to send with the webhook * @type {string} * @memberof GeinsWebhookItem */ headers?: string; /** * True if the webhook should be retried on failure. Retries are attempted up to 3 times with an interval of 10 minutes. * - Each retry attempt will include a unique HTTP header called `x-Idempotency-Key` and a timestamp for when the webhook event was initiated. This key serves as an identifier for each specific webhook event and remains the same for all retry attempts of the same webhook event. * - The primary purpose of the `x-Idempotency-Key` is to enable the receiving system to identify and handle duplicate webhook events, thus preventing duplicate processing of the same webhook event. * - The timestamp header is called `x-timestamp`. * @type {boolean} * @memberof GeinsWebhookItem */ retry?: boolean; } /** * @export */ export const GeinsWebhookItemEntityEnum = { NUMBER_0: 0, NUMBER_1: 1, NUMBER_2: 2, NUMBER_3: 3, NUMBER_4: 4, NUMBER_5: 5, NUMBER_6: 6, NUMBER_7: 7, NUMBER_8: 8, NUMBER_9: 9 } as const; export type GeinsWebhookItemEntityEnum = typeof GeinsWebhookItemEntityEnum[keyof typeof GeinsWebhookItemEntityEnum]; /** * Check if a given object implements the GeinsWebhookItem interface. */ export function instanceOfGeinsWebhookItem(value: object): boolean { let isInstance = true; return isInstance; } export function GeinsWebhookItemFromJSON(json: any): GeinsWebhookItem { return GeinsWebhookItemFromJSONTyped(json, false); } export function GeinsWebhookItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): GeinsWebhookItem { if ((json === undefined) || (json === null)) { return json; } return { 'id': !exists(json, 'Id') ? undefined : json['Id'], 'entity': !exists(json, 'Entity') ? undefined : json['Entity'], 'name': !exists(json, 'Name') ? undefined : json['Name'], 'description': !exists(json, 'Description') ? undefined : json['Description'], 'actions': !exists(json, 'Actions') ? undefined : json['Actions'], 'method': !exists(json, 'Method') ? undefined : json['Method'], 'url': !exists(json, 'Url') ? undefined : json['Url'], 'body': !exists(json, 'Body') ? undefined : json['Body'], 'headers': !exists(json, 'Headers') ? undefined : json['Headers'], 'retry': !exists(json, 'Retry') ? undefined : json['Retry'], }; } export function GeinsWebhookItemToJSON(value?: GeinsWebhookItem | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'Id': value.id, 'Entity': value.entity, 'Name': value.name, 'Description': value.description, 'Actions': value.actions, 'Method': value.method, 'Url': value.url, 'Body': value.body, 'Headers': value.headers, 'Retry': value.retry, }; }