Update
/prices
Target audience: Developers
Update price¶
Introduction¶
This endpoint lets you update price on periods for packages and campaigns.
URI¶
Environment | URI |
---|---|
Stage | https://payway-api.stage.adeprimo.se/external/api/v1/prices |
Production | https://backend.worldoftulo.com/external/api/v1/prices |
Requirements¶
Identity | Scope |
---|---|
No | /external/price/w |
Parameters¶
Field | Required | Type | Description |
---|---|---|---|
package_integration_code | Required | String | The package to be updated is resolved based on it's integration code. Size range ..50 |
price_periods | Required | Object[] | Decides how the price periods will be updated. There can only be one period per payment option. If the period does not exist it will be created. |
subscription_type |
Required | String | Allowed values: recurring, limited |
payment_option |
Required | String | Allowed values: adyen, creditcard, sms, directdebit, free, invoice |
payment_option_details |
Optional | Object | Defines the payment method type and name for an Adyen payment. This is required if payment_option is adyen. |
type |
Required | String | Adyen payment method type. E.g.: scheme |
name |
Required | String | Adyen payment method name. E.g.: Card |
type |
Required | String | Allowed values: day, week, month, year |
length |
Required | Integer | Together with type it decides the total length of one iteration. E.g. 2 months |
monthly_payments |
Required / Optional | Boolean | Required if campaign. Defines whether or not a campaign has monthly payments. Allowed values: true, false. |
price |
Required | Float | The price of one iteration |
details |
Optional | Object | Defines the "complex pricemodel" for this period, should only be used if organisation utilizes the "complex pricemodel" in Payway |
name |
Required | String | Name of detail |
price |
Required | Float | The price of this detail |
vat_code |
Required | Integer | The vatcode of this detail |
Curl Example¶
Update price period for package with adyen as payment_option¶
curl --request POST \
--url https://payway-api.stage.adeprimo.se/external/api/v1/campaigns \
--header 'accept: application/json' \
--header 'authorization: Bearer token' \
--header 'content-type: application/json' \
--data '{
"package_integration_code": "adeprimo_digital",
"price_periods": [
{
"subscription_type": "recurring",
"payment_option": "adyen",
"payment_option_details":
{
"type": "scheme",
"name": "Card"
},
"type": "month",
"length": 1,
"price": 44.9
}
]
}'
Update price period for campaign with adyen as payment_option¶
curl --request POST \
--url https://payway-api.stage.adeprimo.se/external/api/v1/campaigns \
--header 'accept: application/json' \
--header 'authorization: Bearer token' \
--header 'content-type: application/json' \
--data '{
"package_integration_code": "adeprimo_digital_campaign",
"price_periods": [
{
"subscription_type": "recurring",
"payment_option": "adyen",
"payment_option_details":
{
"type": "scheme",
"name": "Card"
},
"monthly_payments": true,
"type": "month",
"length": 1,
"price": 44.9
}
]
}'
Update package with complex price model¶
curl --request POST \
--url https://payway-api.stage.adeprimo.se/external/api/v1/campaigns \
--header 'accept: application/json' \
--header 'authorization: Bearer token' \
--header 'content-type: application/json' \
--data '{
"package_integration_code": "adeprimo_digital_package",
"price_periods": [
{
"subscription_type": "recurring",
"payment_option": "creditcard",
"type": "month",
"length": 1,
"details": [
{
"name": "Digital",
"price": "10",
"vat_code": 24
},
{
"name": "Paper",
"price": "34.9",
"vat_code": 10
}
]
}
]
}'
Response¶
Field | Description |
---|---|
id | id of the updated package |
Example Response: Successfully updated price periods¶
HTTP 200
{
"id": "50f3ac249f6aef294d000007"
}
Errors¶
Example error response¶
HTTP 400 Bad Request
{
"code": "invalid_parameter",
"field": "account_id",
"message": "Parameter must match format (/^[a-f\d]{24}$/)"
}
HTTP 400 Bad Request¶
Name | Type | Description |
---|---|---|
invalid_parameter | Object | Validation error on any of the fields in the posted json |
json_parser_error | Object | The request body could not be parsed as valid json |
invalid_content_type_error | Object | The requests Content-Type header isn't set to application/json |
unknown_parameter | Object | One or more of the fields in the posted json was not recognized |
HTTP 404 Not Found¶
Name | Type | Description |
---|---|---|
not_found | Object | The package could not be found |
HTTP 500 Internal Server Error¶
Name | Type | Description |
---|---|---|
internal_server_error | Object | Something unexpected happened server side |