younifyd
Menu

createExtension

Create an API Extension — a synchronous hook commercetools calls during cart/order/payment/customer updates.

Use it in a workflow

  1. Add a step and choose the Commercetools connector.
  2. Pick the createExtension action (under Create).
  3. Fill in the fields below, then reference the result from later steps as {{createextension.response.data}}.

Query

This is the mutation the action sends by default. Edit it in the step's Query field to change which fields come back.

graphql
mutation CreateExtension($draft: ExtensionDraft!) {
  createExtension(draft: $draft) {
    key
    destination {
      type
    }
    triggers {
      resourceTypeId
      actions
      condition
    }
    timeoutInMs
    dependenciesRef {
      typeId
      id
    }
    additionalContext {
      includeOldResource
    }
    expansionPaths
    id
    version
    createdAt
    lastModifiedAt
    createdBy {
      isPlatformClient
      clientId
      externalUserId
      anonymousId
      customerRef {
        typeId
        id
      }
      userRef {
        typeId
        id
      }
      associateRef {
        typeId
        id
      }
      attributedTo {
        clientId
        source
        userRef
      }
    }
    lastModifiedBy {
      isPlatformClient
      clientId
      externalUserId
      anonymousId
      customerRef {
        typeId
        id
      }
      userRef {
        typeId
        id
      }
      associateRef {
        typeId
        id
      }
      attributedTo {
        clientId
        source
        userRef
      }
    }
  }
}

Variables

Pass these as a JSON object in the step's Variables field.

draftobjectrequired
keystring
destinationobjectrequired3 fields
triggersarray<object>required3 fields
timeoutInMsnumber
dependenciesarray<object>3 fields
additionalContextobject1 fields
expansionPathsarray<string>
json
{
  "draft": {
    "destination": {
      "HTTP": {
        "url": "string",
        "authentication": "string"
      },
      "AWSLambda": {
        "arn": "string",
        "accessKey": "string",
        "accessSecret": "string"
      },
      "GoogleCloudFunction": {
        "url": "string"
      }
    },
    "triggers": [
      {
        "resourceTypeId": "string",
        "actions": "string",
        "condition": "string"
      }
    ],
    "key": "string",
    "timeoutInMs": 0,
    "dependencies": [
      {
        "typeId": "string",
        "id": "string",
        "key": "string"
      }
    ],
    "additionalContext": {
      "includeOldResource": false
    },
    "expansionPaths": [
      "string"
    ]
  }
}

Response

Read the result with {{createextension.response.data.data.createExtension}}. If the API returns errors, the step fails and they are at {{createextension.response.data.errors}}.

keystring
destinationobject
typestring
triggersarray<object>
resourceTypeIdobject
actionsobject
conditionobject
timeoutInMsnumber
dependenciesRefarray<object>
typeIdobject
idobject
additionalContextobject
includeOldResourceboolean
expansionPathsarray<string>
idstring
versionstring
createdAtstring
lastModifiedAtstring
createdByobject
isPlatformClientboolean
clientIdstring
externalUserIdstring
anonymousIdstring
customerRefobject2 fields
userRefobject2 fields
associateRefobject2 fields
attributedToobject3 fields
lastModifiedByobject
isPlatformClientboolean
clientIdstring
externalUserIdstring
anonymousIdstring
customerRefobject2 fields
userRefobject2 fields
associateRefobject2 fields
attributedToobject3 fields

Need more? See the Commercetools guide for connection setup and behaviour shared by every action.