Skip to main content

Submit Fulfilment

This API can be used to submit a fulfillment request for customers. Customer is represented by account in Metallic. Three types of fulfillment requests are supported:

Fulfillment TypeDescription
New customerThis is to purchase services for a new customer to metallic. Detailed customer information is required.
Adding serviceThis is to add more services to an existing customer in metallic. Customer metallic account Id is required.
Cancelling serviceThis is to cancel services for an existing customer in metallic. Customer metallic account Id is required.
Notes

Once the fulfillment request is submitted, partner will get a unique fulfillment Metallic ID in response. Fulfillment request will be processed asynchronously. Partner can use Get Fulfillment by Id to check fulfillment status and details later.

Request Body

FieldDescriptionTypeRequiredNotes
externalIdPartner fulfillment reference in partner system.String / UUIDFalseNeeds to be unique in metallic. Refer to Notes below this table.
resellerIdReseller metallic idUUIDConditional MandatoryRequired when customer is introduced by a reseller. Refer to Notes below this table.
mspIdMsp metallic idUUIDConditional MandatoryRequired when customer is introduced by an msp. Refer to Notes below this table.
accountCustomer account infoNew Account Object / Existing Account ObjectTrueSee - New Account Object / Existing Account Object.
serviceService detailsService ObjectTrueSee - Service Object.
Notes

externalId: is the identifier for fulfillment in Partner system. It is not required for all three fulfillment types, but if provided in "Cancelling service" fulfillment, it should be the same externalId as in the original "New customer" fulfillment or "Adding service" fulfillment. For example, if an externalId 123 is provided in a "Cancelling service fulfillment", then we will check if there is any "New customer" fulfillment or "Adding service" fulfillment that has externalId 123. If not, we will not proceed this "Cancelling service" fulfillment.

service: Database usage is metered by capacity unless the application is hosted on virtual machines in which case it is metered as a VM instance. By selecting the Database Backup Service, VM & Kubernetes Service is automatically selected. File & Object usage is metered by capacity unless the application is hosted on Virtual Machines in which case it is metered as a VM instance. By selecting the File & Object Backup Service, VM & Kubernetes Service is automatically selected.

resellerId and mspId: When both mspId and resellerId is provided in the request then the provisioning is for partner case where customer is being added for a reseller under msp.

New Account Object
FieldDescriptionTypeRequiredNotes
externalIdCustomer Id in Partner systemString / UUIDTrueNeeds to be unique in partner system.
nameCustomer nameStringTrueNeeds to be unique in metallic.
websiteCustomer websiteStringFalse
provisionCountryThe country that customer account needs to be provisionedStringTrueIt needs to be ISO standard code or name.
contactsCustomer contactsContact Objects ArrayTrueSee - Contact Object
typeAccount typeSting Enumeration Allowed Values: POC / Internal / ProductionFalse
Existing Account Object
FieldDescriptionTypeRequiredNotes
idAccount metallic idUUIDTrue
Service Object
FieldDescriptionTypeRequiredNotes
actionFulfillment action for existing customerString Enumeration Allowed Values: add / cancelConditional MandatoryRequired for existing account fulfillment. This field should not be provided in 'New Customer' fulfillment.
skusMetallic service skusSku Objects ArrayTrueMetallic will provide a list of available skus for a partner. See - Sku Object
Sku Object
FieldDescriptionTypeRequiredNotes
skuService SkuStringTrueMetallic will provide list of available skus for a partner.
termService durationStringFalseIf not provided defaults to - 'oneMonth'
billingCycleService billing cycleStringFalseIf not provided defaults to - 'monthly'
autoRenewService renew option at the end of termBooleanFalseIf not provided defaults to - true
Contact Object
FieldDescriptionTypeRequiredNotes
typeContact typeString Enum Allowed Values: adminTrueCurrently, only one contact per account is accepted and contact type must be 'admin'.
emailContact emailStringTrueNeeds to be unique in metallic.
firstNameContact firstnameStringTrue
lastNameContact lastnameStringTrue
addressContact addressAddress ObjectFalseSee - Address Object
phoneContact phone numberStringFalse
Address Object
FieldDescriptionTypeRequiredNotes
addressLine1Address line 1StringFalse
addressLine2Address line 2StringFalse
cityAddress cityStringFalse
stateAddress stateStringConditional MandatoryThis field is required when the country is United States, otherwise is optional. If provided, it must be ISO standard code or name.
countryAddress countryStringConditional MandatoryThis field is required when the state field is provided. If provided, it needs to be ISO standard code or name.
postalCodeAddress postal codeStringFalse

Response Body

FieldDescriptionTypeNotes
idFulfillment metallic idUUID
statusFulfillment statusString Enumeration - Fulfillment Status EnumerationRefer to Fulfillment Status Enumeration. Value "in_progress" is returned in this case.
requestDataFulfillment request bodyFulfillment - Request BodySee - Request Body
Request Body required
  • externalId string required
  • resellerId string required
  • account object required
  • externalId string required
  • name string required
  • website string required
  • provisionCountry string required
  • contacts object[] required
  • type string required
  • email string required
  • firstName string required
  • lastName string required
  • phone string required
  • address object required
  • addressLine1 string required
  • addressLine2 string required
  • city string required
  • state string required
  • country string required
  • postalCode string required
  • service object required
  • skus object[] required
  • sku string required
Responses

Created


Schema
  • data object
  • id string
  • status string
  • requestData object
  • externalId string
  • resellerId string
  • account object
  • externalId string
  • name string
  • website string
  • provisionCountry string
  • contacts object[]
  • type string
  • email string
  • firstName string
  • lastName string
  • phone string
  • address object
  • addressLine1 string
  • addressLine2 string
  • city string
  • state string
  • country string
  • postalCode string
  • service object
  • skus object[]
  • sku string
Loading...