Connect Workflow Client API API Reference

Connect Workflow enables clients to initiate workflows to carry out specific tasks.

Request Content-Types: application/json
Response Content-Types: application/json
Version: 1

Authentication

apiToken

type
http
scheme
bearer
bearerFormat
base64({"accountId": "Your user account id", "apiToken": "Your user account API token"})

Paths

POST /initiate

Initiate a new workflow.

The environment used must already be configured with the specified 'partnerId', 'merchantAcquirerId', 'type' and 'format'.

The format and content of the request is dependent on the type of flow being requested. Please see the AEVI developer portal for more information.

The workflow request

Request Example
{
  "partnerId": "string",
  "merchantAcquirerId": "string",
  "type": "string",
  "format": "string",
  "contextData": {
    "id": "string",
    "name": "string",
    "address": {
      "address1": "string",
      "address2": "string",
      "city": "string",
      "county": "string",
      "postalCode": "string",
      "country": "string",
      "contacts": [
        {
          "type": "string",
          "description": "string",
          "value": "string"
        }
      ]
    },
    "status": "string",
    "physicalLocations": [
      {
        "id": "string",
        "name": "string",
        "address": {
          "address1": "string",
          "address2": "string",
          "city": "string",
          "county": "string",
          "postalCode": "string",
          "country": "string",
          "contacts": [
            {
              "type": "string",
              "description": "string",
              "value": "string"
            }
          ]
        },
        "status": "string",
        "parameters": {},
        "receiptParameters": {},
        "terminals": [
          {
            "id": "string",
            "name": "string",
            "serialNumber": "string",
            "model": "string",
            "status": "string",
            "country": "string",
            "supportedLanguages": [
              "string"
            ],
            "defaultLanguage": "string",
            "supportedCurrencies": [
              "string"
            ],
            "defaultCurrency": "string",
            "timezone": "string",
            "profile": "string",
            "parameters": {}
          }
        ]
      }
    ],
    "parameters": {}
  }
}
Response Content-Types: application/json
Response Example (200 OK)
{
  "workflowRequestId": "string",
  "status": "string",
  "lastUpdateDateTime": "number (double)",
  "partnerId": "string",
  "merchantAcquirerId": "string",
  "flowType": "string",
  "currentStage": "string",
  "processedContextData": {},
  "stages": [
    {
      "stage": "string",
      "status": "string",
      "timestamp": "number (double)"
    }
  ]
}

GET /status/{workflowRequestId}

Retrieve the status of a previously initiated workflow.

workflowRequestId: string
in path

The id of the workflow request previously initiated

Response Content-Types: application/json
Response Example (200 OK)
{
  "workflowRequestId": "string",
  "status": "string",
  "lastUpdateDateTime": "number (double)",
  "partnerId": "string",
  "merchantAcquirerId": "string",
  "flowType": "string",
  "currentStage": "string",
  "processedContextData": {},
  "stages": [
    {
      "stage": "string",
      "status": "string",
      "timestamp": "number (double)"
    }
  ]
}

Schema Definitions

WorkflowStatus: string

Possible list of statuses an onboarding request goes through

string RECEIVED, PROCESSING, FAILED, SUCCEEDED

ExecutedStatus: string

The status/outcome of an execution

string success, failed

StageRecord: object

Represents a stage record which contains details of a stage that was executed as part of a flow.

stage: string

The stage name

status: ExecutedStatus

The status of the stage execution

timestamp: number (double)

The timestamp (ms since epoch) when this stage was executed

Example
{
  "stage": "string",
  "status": "string",
  "timestamp": "number (double)"
}

WorkflowStatusResponse: object

Represents the current status of a workflow.

workflowRequestId: string

The id of the request that initiated this workflow

status: WorkflowStatus

The current status of the workflow

lastUpdateDateTime: number (double)

Timestamp (ms since epoch) for when the flow status was last updated

partnerId: string

The partnerId that was used for the request

merchantAcquirerId: string

The merchantAcquirerId, if any, that was used for the request

flowType: string

The flow type that represents the workflow

currentStage: string

The current stage the workflow is in, if applicable

processedContextData: object

Any context data that has been processed

stages: StageRecord

A list of processed stages and the outcome for each one

StageRecord
Example
{
  "workflowRequestId": "string",
  "status": "string",
  "lastUpdateDateTime": "number (double)",
  "partnerId": "string",
  "merchantAcquirerId": "string",
  "flowType": "string",
  "currentStage": "string",
  "processedContextData": {},
  "stages": [
    {
      "stage": "string",
      "status": "string",
      "timestamp": "number (double)"
    }
  ]
}

FlowType: string

Supported flow types

string onboard, modify

Format: string

Supported request formats

string apa

ContactType: string

Contact type

string firstname, lastname, telephone, email, website

Contact: object

Represents a contact

type: ContactType

The type of contact

description: string

The contact description

value: string

The contact value

Example
{
  "type": "string",
  "description": "string",
  "value": "string"
}

AddressDetails: object

Represents an address

address1: string

First line of address

address2: string

Optional second line of address

city: string

City

county: string

County / state

postalCode: string

Postal code

country: string

Country

contacts: Contact

List of contacts for this address

Contact
Example
{
  "address1": "string",
  "address2": "string",
  "city": "string",
  "county": "string",
  "postalCode": "string",
  "country": "string",
  "contacts": [
    {
      "type": "string",
      "description": "string",
      "value": "string"
    }
  ]
}

EntityStatus: string

Status that can be applied to any entity

string active, inactive, deleted

Terminal: object

Terminal/Device details

id: string

The id of the terminal

This may be the acquirer / merchant acquirer terminal reference

name: string

The name of the terminal

serialNumber: string

The serial number of the terminal

model: string

The terminal model

status: EntityStatus

The terminal status

country: string

Country defined as ISO3166-1 two letter country code

supportedLanguages: string[]

Supported languages defined as ISO639-1 two letter codes

string
defaultLanguage: string

Default language defined as ISO639-1 two letter code

supportedCurrencies: string[]

Supported currencies defined as ISO4217 three letter currency codes

string
defaultCurrency: string

Default currency defined as ISO4217 three letter currency code

timezone: string

Timezone defined in TZ format (see https://www.iana.org/time-zones)

profile: string

The terminal profile

parameters: object

The terminal parameters

object
Example
{
  "id": "string",
  "name": "string",
  "serialNumber": "string",
  "model": "string",
  "status": "string",
  "country": "string",
  "supportedLanguages": [
    "string"
  ],
  "defaultLanguage": "string",
  "supportedCurrencies": [
    "string"
  ],
  "defaultCurrency": "string",
  "timezone": "string",
  "profile": "string",
  "parameters": {}
}

MerchantLocation: object

Merchant physical/store/site location details

id: string

The id of the merchant location

name: string

The name of the merchant location

address: AddressDetails

The address of the merchant location

status: EntityStatus

The status of the merchant location

parameters: object

The merchant location parameters

object
receiptParameters: object

The merchant location receipt parameters

object
terminals: Terminal

The list of terminals at the merchant location

Terminal
Example
{
  "id": "string",
  "name": "string",
  "address": {
    "address1": "string",
    "address2": "string",
    "city": "string",
    "county": "string",
    "postalCode": "string",
    "country": "string",
    "contacts": [
      {
        "type": "string",
        "description": "string",
        "value": "string"
      }
    ]
  },
  "status": "string",
  "parameters": {},
  "receiptParameters": {},
  "terminals": [
    {
      "id": "string",
      "name": "string",
      "serialNumber": "string",
      "model": "string",
      "status": "string",
      "country": "string",
      "supportedLanguages": [
        "string"
      ],
      "defaultLanguage": "string",
      "supportedCurrencies": [
        "string"
      ],
      "defaultCurrency": "string",
      "timezone": "string",
      "profile": "string",
      "parameters": {}
    }
  ]
}

Merchant: object

Merchant details

id: string

The id of the merchant

name: string

The name of the merchant

address: AddressDetails

The address details of the merchant

status: EntityStatus

The merchant status

physicalLocations: MerchantLocation

The physical locations/sites of the merchant

MerchantLocation
parameters: object

Merchant parameters

object
Example
{
  "id": "string",
  "name": "string",
  "address": {
    "address1": "string",
    "address2": "string",
    "city": "string",
    "county": "string",
    "postalCode": "string",
    "country": "string",
    "contacts": [
      {
        "type": "string",
        "description": "string",
        "value": "string"
      }
    ]
  },
  "status": "string",
  "physicalLocations": [
    {
      "id": "string",
      "name": "string",
      "address": {
        "address1": "string",
        "address2": "string",
        "city": "string",
        "county": "string",
        "postalCode": "string",
        "country": "string",
        "contacts": [
          {
            "type": "string",
            "description": "string",
            "value": "string"
          }
        ]
      },
      "status": "string",
      "parameters": {},
      "receiptParameters": {},
      "terminals": [
        {
          "id": "string",
          "name": "string",
          "serialNumber": "string",
          "model": "string",
          "status": "string",
          "country": "string",
          "supportedLanguages": [
            "string"
          ],
          "defaultLanguage": "string",
          "supportedCurrencies": [
            "string"
          ],
          "defaultCurrency": "string",
          "timezone": "string",
          "profile": "string",
          "parameters": {}
        }
      ]
    }
  ],
  "parameters": {}
}

WorkflowClientRequest: object

A request to initiate a workflow.

partnerId: string

The partnerId that this request is for

merchantAcquirerId: string

The merchant acquirer id that this request is for, if any

type: FlowType

The type of flow to execute

format: Format

The format of the contextData

contextData: Merchant

The request context data that is relevant for the flow requested.

Note: The only supported context data at this point is 'Merchant', which is used for 'onboard' and 'modify'

Example
{
  "partnerId": "string",
  "merchantAcquirerId": "string",
  "type": "string",
  "format": "string",
  "contextData": {
    "id": "string",
    "name": "string",
    "address": {
      "address1": "string",
      "address2": "string",
      "city": "string",
      "county": "string",
      "postalCode": "string",
      "country": "string",
      "contacts": [
        {
          "type": "string",
          "description": "string",
          "value": "string"
        }
      ]
    },
    "status": "string",
    "physicalLocations": [
      {
        "id": "string",
        "name": "string",
        "address": {
          "address1": "string",
          "address2": "string",
          "city": "string",
          "county": "string",
          "postalCode": "string",
          "country": "string",
          "contacts": [
            {
              "type": "string",
              "description": "string",
              "value": "string"
            }
          ]
        },
        "status": "string",
        "parameters": {},
        "receiptParameters": {},
        "terminals": [
          {
            "id": "string",
            "name": "string",
            "serialNumber": "string",
            "model": "string",
            "status": "string",
            "country": "string",
            "supportedLanguages": [
              "string"
            ],
            "defaultLanguage": "string",
            "supportedCurrencies": [
              "string"
            ],
            "defaultCurrency": "string",
            "timezone": "string",
            "profile": "string",
            "parameters": {}
          }
        ]
      }
    ],
    "parameters": {}
  }
}