younifyd
Menu

subscriptionContractCreate

Creates a subscription contract draft, which is an intention to create a new subscription.

Use it in a workflow

  1. Add a step and choose the Shopify connector.
  2. Pick the subscriptionContractCreate action (under Subscription).
  3. Fill in the fields below, then reference the result from later steps as {{subscriptioncontractcreate.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 SubscriptionContractCreate($input: SubscriptionContractCreateInput!) {
  subscriptionContractCreate(input: $input) {
    draft {
      billingCycle {
        billingAttemptExpectedDate
        cycleEndAt
        cycleIndex
        cycleStartAt
        edited
        editedContract
        skipped
        sourceContract
        status
      }
      billingPolicy {
        anchors
        interval
        intervalCount
        maxCycles
        minCycles
      }
      currencyCode
      customAttributes {
        key
        value
      }
      customer {
        amountSpent
        canDelete
        companyContactProfiles
        createdAt
        dataSaleOptOut
        defaultAddress
        defaultEmailAddress
        defaultPhoneNumber
        displayName
        email
        emailMarketingConsent
        firstName
        hasTimelineComment
        id
        identityProviderSubjects
        lastName
        lastOrder
        legacyResourceId
        lifetimeDuration
        locale
        market
        mergeable
        multipassIdentifier
        note
        numberOfOrders
        phone
        productSubscriberStatus
        smsMarketingConsent
        state
        statistics
        tags
        taxExempt
        taxExemptions
        taxSettings
        unsubscribeUrl
        updatedAt
        validEmailAddress
        verifiedEmail
      }
      deliveryMethod
      deliveryPolicy {
        anchors
        interval
        intervalCount
      }
      deliveryPrice {
        amount
        currencyCode
      }
      id
      nextBillingDate
      note
      originalContract {
        app
        appAdminUrl
        billingPolicy
        createdAt
        currencyCode
        customAttributes
        customer
        deliveryMethod
        deliveryPolicy
        deliveryPrice
        id
        lastBillingAttemptErrorType
        lastPaymentStatus
        lineCount
        linesCount
        nextBillingDate
        note
        originOrder
        revisionId
        status
        updatedAt
      }
      status
    }
    userErrors {
      code
      field
      message
    }
  }
}

Variables

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

inputobjectrequired

The properties of the new Subscription Contract.

actorstring

One ofCUSTOMERMERCHANTPARTNER

customerIdstringrequired
nextBillingDatestringrequired
currencyCodestringrequired

One ofUSDEURGBPCADAFNALLDZDAOAARSAMDAWGAUDBBDAZNBDTBSDBHDBIFBYNBZDBMDBTNBAMBRLBOBBWPBNDBGNMMKKHRCVEKYDXAFCLPCNYCOPKMFCDFCRCHRK

contractobjectrequired9 fields
json
{
  "input": {
    "customerId": "string",
    "nextBillingDate": "string",
    "currencyCode": "USD",
    "contract": {
      "status": "ACTIVE",
      "paymentMethodId": "string",
      "nextBillingDate": "string",
      "billingPolicy": {
        "interval": "string",
        "intervalCount": "string",
        "minCycles": "string",
        "maxCycles": "string",
        "anchors": "string"
      },
      "deliveryPolicy": {
        "interval": "string",
        "intervalCount": "string",
        "anchors": "string"
      },
      "deliveryPrice": "string",
      "deliveryMethod": {
        "shipping": "string",
        "localDelivery": "string",
        "pickup": "string"
      },
      "note": "string",
      "customAttributes": [
        "string"
      ]
    },
    "actor": "CUSTOMER"
  }
}

Response

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

draftobject
billingCycleobject9 fields
billingPolicyobject5 fields
currencyCodestring

One ofUSDEURGBPCADAFNALLDZDAOAARSAMDAWGAUDBBDAZNBDTBSDBHDBIFBYNBZDBMDBTNBAMBRLBOBBWPBNDBGNMMKKHRCVEKYDXAFCLPCNYCOPKMFCDFCRCHRK

customAttributesarray<object>
customerobject38 fields
deliveryMethodobject4 fields

This field can return one of several different object shapes — properties from every possible shape are shown together.

deliveryPolicyobject3 fields
deliveryPriceobject2 fields
idstring
nextBillingDatestring
notestring
originalContractobject21 fields
statusstring

One ofACTIVEPAUSEDCANCELLEDEXPIREDFAILED

userErrorsarray<object>
codeobject
fieldobject
messageobject

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