InternalApiManager

GraphViz

Schema

The considered APS type (download) extends the Resource APS type(s) and looks as follows:

{
  "name": "InternalApiManager",
  "id": "http://com.odin.marketing/discountmanager/internalapi/1.5",
  "apsVersion": "2.0",
  "implements": [
    "http://aps-standard.org/types/core/resource/1.0"
  ],
  "access": {
    "global": true
  },
  "operations": {
    "getAddedPlansToPromotion": {
      "path": "/promotions/{promoId}/addedPlans",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "promoId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedResourcesToPromotion": {
      "path": "/promotions/{promoId}/addedResources",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "promoId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedPlansToGroup": {
      "path": "/productGroups/{groupId}/addedPlans",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "groupId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAvailablePlansForGroup": {
      "path": "/productGroups/{groupId}/availablePlans",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "groupId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedPlanPeriodsToGroup": {
      "path": "/productGroups/{groupId}/addedPlanPeriods",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "groupId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedResourcesToGroup": {
      "path": "/productGroups/{groupId}/addedResources",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "groupId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAvailableResourcesForGroup": {
      "path": "/productGroups/{groupId}/availableResources",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "groupId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedResourceRatesToGroup": {
      "path": "/productGroups/{groupId}/addedResourceRates",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "groupId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedAccounts": {
      "path": "/discounts/{discountId}/addedAccounts",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAvailableAccounts": {
      "path": "/discounts/{discountId}/availableAccounts",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedCustomerClasses": {
      "path": "/discounts/{discountId}/addedCustomerClasses",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAvailableCustomerClasses": {
      "path": "/discounts/{discountId}/availableCustomerClasses",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedPlansToDiscount": {
      "path": "/discounts/{discountId}/addedPlans",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAvailablePlansForDiscount": {
      "path": "/discounts/{discountId}/availablePlans",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedPlansPeriodsToDiscount": {
      "path": "/discounts/{discountId}/addedPlanPeriods",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedResourcesToDiscount": {
      "path": "/discounts/{discountId}/addedResources",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAvailableResourcesForDiscount": {
      "path": "/discounts/{discountId}/availableResources",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAddedResourceRatesToDiscount": {
      "path": "/discounts/{discountId}/addedResourceRates",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "discountId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getAvailablePlans": {
      "path": "/productCatalog/plans",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      }
    },
    "getPlanPeriods": {
      "path": "/productCatalog/plans/{planId}/planPeriods",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "planId": {
          "kind": "path",
          "type": "integer"
        }
      }
    },
    "getAvailableServicePlansForPromotionByParentPlan": {
      "path": "/productCatalog/availableServicePlansForPromotionByParentPlan",
      "verb": "GET",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "promotionId": {
          "kind": "query",
          "type": "string"
        }
      }
    },
    "getResources": {
      "path": "/productCatalog/resources",
      "verb": "POST",
      "response": {
        "type": "array"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "resourcesFilter": {
          "kind": "body",
          "type": "ResourcesFilterDTO"
        }
      }
    }
  },
  "structures": {
    "MultiLanguageStringDTO": {
      "type": "object"
    },
    "Period": {
      "type": "object",
      "properties": {
        "unit": {
          "type": "string",
          "enum": [
            "DAYS",
            "MONTHS",
            "YEARS"
          ]
        },
        "duration": {
          "type": "integer"
        }
      }
    },
    "PromotedPlanViewDTO": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "promotedPlanId": {
          "type": "string",
          "required": true
        },
        "planId": {
          "type": "string",
          "required": true
        },
        "name": {
          "type": "MultiLanguageStringDTO"
        },
        "period": {
          "type": "Period"
        },
        "promotionPeriod": {
          "type": "Period"
        },
        "limitPerParentSubscription": {
          "type": "integer"
        },
        "setupFee": {
          "type": "PromotionFeeDTO",
          "required": true
        },
        "recurringFee": {
          "type": "PromotionFeeDTO",
          "required": true
        },
        "renewalFee": {
          "type": "PromotionFeeDTO",
          "required": true
        },
        "transferFee": {
          "type": "PromotionFeeDTO",
          "required": true
        }
      }
    },
    "PromotedResourceViewDTO": {
      "type": "object",
      "properties": {
        "period": {
          "type": "Period"
        },
        "planName": {
          "type": "MultiLanguageStringDTO"
        },
        "setupFee": {
          "type": "PromotionFeeDTO",
          "required": true
        },
        "recurringFee": {
          "type": "PromotionFeeDTO",
          "required": true
        },
        "overuseFee": {
          "type": "PromotionFeeDTO",
          "required": true
        },
        "planId": {
          "type": "string",
          "required": true
        },
        "resourceId": {
          "type": "string",
          "required": true
        }
      }
    },
    "PlanViewDTO": {
      "type": "object"
    },
    "PlanPeriodViewDTO": {
      "type": "object"
    },
    "ResourceViewDTO": {
      "type": "object"
    },
    "ResourceRateViewDTO": {
      "type": "object"
    }
  }
}

Custom Operations

OPERATION

VERB

PATH

RETURNS

Description

getAddedPlansToPromotion

GET

/promotions/{promoId}/addedPlans

getAddedResourcesToPromotion

GET

/promotions/{promoId}/addedResources

getAddedPlansToGroup

GET

/productGroups/{groupId}/addedPlans

getAvailablePlansForGroup

GET

/productGroups/{groupId}/availablePlans

getAddedPlanPeriodsToGroup

GET

/productGroups/{groupId}/addedPlanPeriods

getAddedResourcesToGroup

GET

/productGroups/{groupId}/addedResources

getAvailableResourcesForGroup

GET

/productGroups/{groupId}/availableResources

getAddedResourceRatesToGroup

GET

/productGroups/{groupId}/addedResourceRates

getAddedAccounts

GET

/discounts/{discountId}/addedAccounts

getAvailableAccounts

GET

/discounts/{discountId}/availableAccounts

getAddedCustomerClasses

GET

/discounts/{discountId}/addedCustomerClasses

getAvailableCustomerClasses

GET

/discounts/{discountId}/availableCustomerClasses

getAddedPlansToDiscount

GET

/discounts/{discountId}/addedPlans

getAvailablePlansForDiscount

GET

/discounts/{discountId}/availablePlans

getAddedPlansPeriodsToDiscount

GET

/discounts/{discountId}/addedPlanPeriods

getAddedResourcesToDiscount

GET

/discounts/{discountId}/addedResources

getAvailableResourcesForDiscount

GET

/discounts/{discountId}/availableResources

getAddedResourceRatesToDiscount

GET

/discounts/{discountId}/addedResourceRates

getAvailablePlans

GET

/productCatalog/plans

getPlanPeriods

GET

/productCatalog/plans/{planId}/planPeriods

getAvailableServicePlansForPromotionByParentPlan

GET

/productCatalog/availableServicePlansForPromotionByParentPlan

getResources

POST

/productCatalog/resources

getAddedPlansToPromotion

HTTP Request

GET /aps/2/resources/{aps-id}/promotions/{promoId}/addedPlans

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

promoId

String

Returns

getAddedResourcesToPromotion

HTTP Request

GET /aps/2/resources/{aps-id}/promotions/{promoId}/addedResources

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

promoId

String

Returns

getAddedPlansToGroup

HTTP Request

GET /aps/2/resources/{aps-id}/productGroups/{groupId}/addedPlans

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

groupId

String

Returns

getAvailablePlansForGroup

HTTP Request

GET /aps/2/resources/{aps-id}/productGroups/{groupId}/availablePlans

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

groupId

String

Returns

getAddedPlanPeriodsToGroup

HTTP Request

GET /aps/2/resources/{aps-id}/productGroups/{groupId}/addedPlanPeriods

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

groupId

String

Returns

getAddedResourcesToGroup

HTTP Request

GET /aps/2/resources/{aps-id}/productGroups/{groupId}/addedResources

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

groupId

String

Returns

getAvailableResourcesForGroup

HTTP Request

GET /aps/2/resources/{aps-id}/productGroups/{groupId}/availableResources

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

groupId

String

Returns

getAddedResourceRatesToGroup

HTTP Request

GET /aps/2/resources/{aps-id}/productGroups/{groupId}/addedResourceRates

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

groupId

String

Returns

getAddedAccounts

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/addedAccounts

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAvailableAccounts

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/availableAccounts

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAddedCustomerClasses

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/addedCustomerClasses

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAvailableCustomerClasses

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/availableCustomerClasses

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAddedPlansToDiscount

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/addedPlans

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAvailablePlansForDiscount

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/availablePlans

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAddedPlansPeriodsToDiscount

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/addedPlanPeriods

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAddedResourcesToDiscount

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/addedResources

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAvailableResourcesForDiscount

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/availableResources

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAddedResourceRatesToDiscount

HTTP Request

GET /aps/2/resources/{aps-id}/discounts/{discountId}/addedResourceRates

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

discountId

String

Returns

getAvailablePlans

HTTP Request

GET /aps/2/resources/{aps-id}/productCatalog/plans

Description

Returns

getPlanPeriods

HTTP Request

GET /aps/2/resources/{aps-id}/productCatalog/plans/{planId}/planPeriods

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

planId

Integer

Returns

getAvailableServicePlansForPromotionByParentPlan

HTTP Request

GET /aps/2/resources/{aps-id}/productCatalog/availableServicePlansForPromotionByParentPlan

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

promotionId

String

Returns

getResources

HTTP Request

POST /aps/2/resources/{aps-id}/productCatalog/resources

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

resourcesFilter

ResourcesFilterDTO

Returns

Structures

MultiLanguageStringDTO

Period

NAME

TYPE

ATTRIBUTES

DEFAULT

DESCRIPTION

unit

Enum

Not Required

duration

Integer

Not Required

PromotedPlanViewDTO

NAME

TYPE

ATTRIBUTES

DEFAULT

DESCRIPTION

id

String

Not Required

promotedPlanId

String

Required

planId

String

Required

name

MultiLanguageStringDTO

Not Required

period

Period

Not Required

promotionPeriod

Period

Not Required

limitPerParentSubscription

Integer

Not Required

setupFee

PromotionFeeDTO

Required

recurringFee

PromotionFeeDTO

Required

renewalFee

PromotionFeeDTO

Required

transferFee

PromotionFeeDTO

Required

PromotedResourceViewDTO

NAME

TYPE

ATTRIBUTES

DEFAULT

DESCRIPTION

period

Period

Not Required

planName

MultiLanguageStringDTO

Not Required

setupFee

PromotionFeeDTO

Required

recurringFee

PromotionFeeDTO

Required

overuseFee

PromotionFeeDTO

Required

planId

String

Required

resourceId

String

Required

PlanViewDTO

PlanPeriodViewDTO

ResourceViewDTO

ResourceRateViewDTO

Examples

Since the considered APS type contains custom operations, refer to Custom Operations for the general explanation of their structure and examples of operation calls.