OpenWeb version v2.2.0
https://api.webpublicas.com/
NO SE DEBE USAR NUNCA DESDE LAS WEBS.
Su uso es para gestión del proyecto mediante CI o desarrollo de plugins de gestión
/deploy
This service retrieves a s3-url to upload your zip
get /deploy/:projectID/zip-url
This service allows deploying to the stagging environment.
post /deploy/pre
This service allows deploying to the stagging environment.
Headers
- x-api-key: required(string)
Your Api Key
Query Parameters
- feed: required(string)
Generate feed.xml ( head, all, no ).
Body
Media type: application/json
Example:
{
comment: "Example comment",
tag: "git tag to deploy (only Git projects)",
paths: [{
source: "/path_zip_1",
target: "/path_S3_revision_1"
},
{
source: "/path_zip_2",
target: "/path_S3_revision_2"
}]
}
This service allows deploying to the production environment.
post /deploy/pro
This service allows deploying to the production environment.
Headers
- x-api-key: required(string)
Your Api Key
Query Parameters
- feed: required(boolean)
Enable or disable feed.
Body
Media type: application/json
Example:
{
paths: [{
source: "/path_S3_revision_1",
target: "/path_S3_production_1"
},
{
source: "/path_S3_revision_2",
target: "/path_S3_production_2"
}]
}
/project
This service retrieves the status of the project
get /project/status
This service retrieves the status of the project
Headers
- x-api-key: required(string)
Your Api Key
HTTP status code 200
Body
Media type: application/json
Example:
{
"code": 200,
"data": {
"status": "creating| removing | ok | deploying-pre | deploying-pro | error-pre | error-pro | error-aws | task-running | task-error | task-ok"
}
}
HTTP status code 412
Body
Media type: application/json
Example:
{
"code": 412,
"msg": "Project is required"
}
HTTP status code 500
Body
Media type: application/json
Example:
{
"code": 500,
"msg": "Error Api"
}
This service retrieves the auto-deployment to production for the project
This service enables or disables auto-deployment for the project
get /project/toggle-auto
This service retrieves the auto-deployment to production for the project
Headers
- x-api-key: required(string)
Your Api Key
HTTP status code 200
Body
Media type: application/json
Example:
{
"code": 200,
"autopro": true | false
}
HTTP status code 412
Body
Media type: application/json
Example:
{
"code": 412,
"msg": "Project is required"
}
HTTP status code 500
Body
Media type: application/json
Example:
{
"code": 500,
"msg": "Error Api"
}
patch /project/toggle-auto
This service enables or disables auto-deployment for the project
Headers
- x-api-key: required(string)
Your Api Key
Query Parameters
- auto: required(boolean)
/user
This service allows to create multiple users for your project
This service allows to delete multiple users of your project
post /user/multiple
This service allows to create multiple users for your project
Headers
- x-api-key: required(string)
Your Api Key
Body
Media type: application/json
Example:
{
"users": [
{ "profile": "A23456", "role": "pro", "name": "User 1"},
{ "profile": "X98765", "role": "pre", "name": "User 2"},
{ "profile": "E46801", "role": "editor", "name": "User 3"}
]
}
delete /user/multiple
This service allows to delete multiple users of your project
Headers
- x-api-key: required(string)
Your Api Key
Body
Media type: application/json
Example:
{
"users": [
{ "profile": "A23456"},
{ "profile": "X98765"},
{ "profile": "E46801"}
]
}
/bbva-components/newsletter
This service allows managing your newsletter's subscriptors.
This service allows managing your newsletter's subscriptors.
post /bbva-components/newsletter/list/:listId/add-mail
This service allows managing your newsletter's subscriptors.
Headers
- x-api-key: required(string)
Your Api Key
Body
Media type: application/json
Example:
{
"action": "add", //action must be 'add'
"emails": [
"ZW1haWxAdGVzdC5jb20=",
/* more items */
]
}
HTTP status code 200
Body
Media type: application/json
Example:
{
"code": 200,
"data": [
{
"executed": [
{
"email": "email@test.com"
}
],
"error": [],
"pending": []
}
]
}
HTTP status code 412
Body
Media type: application/json
Example:
{
"code": 412,
"msg": "Project is required"
}
HTTP status code 500
Body
Media type: application/json
Example:
{
"code": 500,
"msg": "Error Api"
}
delete /bbva-components/newsletter/list/:listId/add-mail
This service allows managing your newsletter's subscriptors.
Headers
- x-api-key: required(string)
Your Api Key
Body
Media type: application/json
Example:
{
"action": "delete", //action must be 'delete'
"emails": [
"ZW1haWxAdGVzdC5jb20=",
/* more items */
]
}
HTTP status code 200
Body
Media type: application/json
Example:
{
"code": 200,
"data": [
{
"executed": [
{
"email": "email@test.com"
}
],
"error": [],
"pending": []
}
]
}
HTTP status code 403
Body
Media type: application/json
Example:
{
"message": "Forbidden"
}
HTTP status code 500
Body
Media type: application/json
Example:
{
"code": 500,
"msg": "Error Api"
}
This service allows sending a newsletter.
post /bbva-components/newsletter/send
This service allows sending a newsletter.
Headers
- x-api-key: required(string)
Your Api Key
Body
Media type: application/json
Example:
{
{
"listId":"591fedab5ae40410a99239a7",
"urlPro":"www.domain-pro.com",
"body":"dGVzdA==",
"subject":"aGVsbG8=",
"from":"{\"email\":\"test@email.com\", \"name\":\"Test\", \"verify\":true}",
"description":"This is a description."
}
}
/bbva-components/dynamo
This service retrieves an item provided by an ID.
This service update an item provided by an ID
This service delete an item provided by an ID
get /bbva-components/dynamo/:table/:id
This service retrieves an item provided by an ID.
Headers
- x-api-key: required(string)
Your Api Key
HTTP status code 200
Body
Media type: application/json
Example:
{
"code":200,
"data": {
"primaryKey": "exampleID",
"other": "hello world"
}
}
HTTP status code 404
Body
Media type: application/json
Example:
{
"code":404,
"data": "Not Found"
}
HTTP status code 500
Body
Media type: application/json
Example:
{
"code": 500,
"msg": "Error Api"
}
put /bbva-components/dynamo/:table/:id
This service update an item provided by an ID
Headers
- x-api-key: required(string)
Your Api Key
Body
Media type: application/json
Type: any
Example:
{
"name": "Hello",
"age": 18,
"telephone": {
"home": "+34123654789"
}
}
delete /bbva-components/dynamo/:table/:id
This service retrieves the result of a query in DynamoDB (http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html)
post /bbva-components/dynamo/:table/api/query
This service retrieves the result of a query in DynamoDB (http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html)
This service retrieves the result of a scan in DynamoDB (http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html)
post /bbva-components/dynamo/:table/api/scan
This service retrieves the result of a scan in DynamoDB (http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html)
This service create an item in the table
post /bbva-components/dynamo/:table
This service create an item in the table
Headers
- x-api-key: required(string)
Your Api Key
Body
Media type: application/json
Type: any
Example:
{
"name": "Hello",
"age": 18,
"telephone": {
"home": "+34123654789"
}
}
HTTP status code 200
Body
Media type: application/json
Example:
{
"code":200,
"data":{
"primaryKey": "exampleGenerated",
"name": "Hello",
"age": 18,
"telephone": {
"home": "+34123654789"
}
}
}
HTTP status code 412
Body
Media type: application/json
Example:
{
"code":412,
"data": "This action is not allowed"
}
/bbva-components/search
Allows to store a JSON file and index it
Remove all the indexed contents from the S3 and CloudSearch
post /bbva-components/search
Allows to store a JSON file and index it
Headers
- x-api-key: required(string)
Your Api Key
Body
Media type: application/json
Example:
{
"data": {
"resourcename" : "/path/to/the/page",
"category" : "category",
"content" : "content within the post",
"content_language" : "en",
"date" : "2016-09-12",
"description" : "post description",
"image_src" : "/wp-content/uploads/prueba.png",
"keywords" : ["prueba keyword",5,5.07],
"title" : "post title",
"topic" : "a topic",
"wp_double_array" : [4,5,4.7],
"wp_double" : 6,
"wp_text" : "another text",
"wp_text_array" : ["hola","7","7.4"]
}
"name": "post-slug-wp-search.json"
}
HTTP status code 202
Means the request has been queued to be processed. The content is not yet indexed.
Body
Media type: application/json
Example:
{
"code": 202
}
HTTP status code 405
Body
Media type: application/json
Example:
{
"code": 405,
"msg": "Servicio no permitido/activado"
}
HTTP status code 412
Body
Media type: application/json
Example:
{
"code": 412,
"msg": "Project is required"
}
HTTP status code 500
Body
Media type: application/json
Example:
{
"code": 500,
"msg": "Error Api"
}
delete /bbva-components/search
Remove all the indexed contents from the S3 and CloudSearch
Headers
- x-api-key: required(string)
Your Api Key
Body
Media type: application/json
Example:
{}
HTTP status code 202
Means the request has been queued to be processed
Body
Media type: application/json
Example:
{
"code": 202
}
HTTP status code 403
Body
Media type: application/json
Example:
{
"message": "Forbidden"
}
HTTP status code 405
Body
Media type: application/json
Example:
{
"code": 405,
"msg": "Servicio no permitido/activado"
}
HTTP status code 412
Body
Media type: application/json
Example:
{
"code": 412,
"msg": "Project is required"
}
HTTP status code 500
Body
Media type: application/json
Example:
{
"code": 500,
"msg": "Error Api"
}
/bbva-components/rhino
This service retrieves a paginated list of users.
get /bbva-components/rhino/
This service retrieves a paginated list of users.
Query Parameters
- page: required(integer)
Page number of the paginated result set.
Example:
0
- size: required(integer)
Number of elements per page.
Example:
20
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"count": 1,
"users": [
{
"email": "mario.mushroom@nintendo.com",
"user_id": "1234567890abcdef",
"username": "SuperMario2024",
"optional_data": {
"name": "Mario",
"surname": "Mushroom",
"ow_lang": "it"
},
"status": "REVOKED",
"roles": [
"ROLE_USER"
]
}
]
}
Creates a new user with specified details and configurations.
post /bbva-components/rhino/
Creates a new user with specified details and configurations.
Headers
- X-Project-ID: required(string)
Project identifier
Query Parameters
- project: required(string)
Identifier of the project this user will be associated with.
Body
Media type: application/json
Type:
{
"type": "object",
"properties": {
"email": {
"description": "Email of the user",
"format": "email",
"pattern": "^\\S+@\\S+\\.\\S+$",
"type": "string"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"telephone": {
"type": "string"
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"optional_data": {
"type": "object",
"properties": {
"name": { "type": "string" },
"surname": { "type": "string" },
"ow_avatar": { "type": "string" },
"ow_lang": { "type": "string" }
},
"additionalProperties": true
},
"custom": {
"type": ["object", "string", "null"],
"properties": {
"^.*$": {
"anyOf": [
{ "type": "string" },
{ "type": "object" }
]
}
}
}
},
"required": ["email", "username", "password"],
"additionalProperties": false
}
Example:
{
"email": "donkey.kong@nintendo.com",
"username": "KingOfTheJungle",
"password": "BananaSlamma123",
"telephone": "1234567890",
"roles": [
"ROLE_PLAYER",
"ROLE_ADMIN"
],
"optional_data": {
"name": "Donkey",
"surname": "Kong",
"ow_avatar": "dk_avatar.png",
"ow_lang": "en"
},
"custom": {
"favorite_fruit": "banana",
"game": "Donkey Kong Country"
}
}
HTTP status code 202
Body
Media type: application/json
Type: any
Example:
{
"code": 202,
"user_id": "66225d02678d1404ca0c3af2",
"envelope": {
"from": "noreply@openweb.bbva",
"to": ["zelda.rinku@nintendo.com"]
}
}
HTTP status code 400
Body
Media type: text/plain
Type: any
Example:
"Error API LAMBDA: body should have required property '{property}'"
HTTP status code 409
Body
Media type: text/plain
Type: any
Example:
"Error API LAMBDA: User already exists"
HTTP status code 500
Body
Media type: text/plain
Type: any
Example:
"Error API LAMBDA: Action on component could not be completed"
Retrieves detailed information of a specific user by their unique ID.
This service delete a Rhino's user by an ID
This service modifies the email, or the optional data, or dynamo info, or password requesting the tickets
This service modifies the email, or the optional data, or dynamo info, or password requesting the tickets
get /bbva-components/rhino/:userId
Retrieves detailed information of a specific user by their unique ID.
Headers
- x-api-key: required(string)
API key to authorize the request.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"email": "luigi.mansion@nintendo.com",
"user_id": "66225d02678d1404ca0c3af2",
"username": "GreenPlumber",
"optional_data": {
"ow_lang": "en",
"name": "Luigi",
"surname": "Mario",
"ow_avatar": "/ow_avatars/58e1fd004751cd0318f5e56b_1491210729540.jpeg",
},
"status": "ACTIVE",
"roles": [
"ROLE_USER"
],
"custom": {
"favorite_game": "Luigi's Mansion"
}
}
HTTP status code 403
May be API key is not valid
Body
Media type: application/json
Type: any
Example:
{
"message": "Forbidden"
}
HTTP status code 404
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: User not found
HTTP status code 500
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: Action on component could not be completed
delete /bbva-components/rhino/:userId
This service delete a Rhino's user by an ID
Headers
- x-api-key: required(string)
Your Api Key
HTTP status code 202
Body
Media type: application/json
Example:
{
"code": 202,
"data": {},
"message": "Request have been processed"
}
HTTP status code 403
May be API key is not valid
Body
Media type: application/json
Type: any
Example:
{
"message": "Forbidden"
}
HTTP status code 404
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: User not found
HTTP status code 500
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: Action on component could not be completed
patch /bbva-components/rhino/:userId
This service modifies the email, or the optional data, or dynamo info, or password requesting the tickets
Headers
- x-api-key: required(string)
API key to authorize the request.
Query Parameters
- project: required(string)
Identifier of the project to which the user is associated.
Body
Media type: application/json
Type:
{
"type": "object",
"properties": {
"optional_data": {
"type": "object",
"properties": {
"name": { "type": "string" },
"surname": { "type": "string" },
"ow_avatar": { "type": "string" },
"ow_lang": { "type": "string" }
},
"additionalProperties": true
},
"custom": {
"type": ["object", "string", "null"],
"properties": {
"^.*$": {
"anyOf": [
{ "type": "string" },
{ "type": "object" }
]
}
}
}
},
"additionalProperties": false
}
HTTP status code 202
Body
Media type: application/json
Type: any
Example:
{
"code": 202,
"data": {},
"message": "Request have been processed"
}
HTTP status code 404
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: User not found
HTTP status code 500
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: Action on component could not be completed
put /bbva-components/rhino/:userId
This service modifies the email, or the optional data, or dynamo info, or password requesting the tickets
Headers
- x-api-key: required(string)
API key to authorize the request.
Query Parameters
- project: required(string)
Identifier of the project to which the user is associated.
Body
Media type: application/json
Type:
{
"type": "object",
"properties": {
"optional_data": {
"type": "object",
"properties": {
"name": { "type": "string" },
"surname": { "type": "string" },
"ow_avatar": { "type": "string" },
"ow_lang": { "type": "string" }
},
"additionalProperties": true
},
"custom": {
"type": ["object", "string", "null"],
"properties": {
"^.*$": {
"anyOf": [
{ "type": "string" },
{ "type": "object" }
]
}
}
}
},
"additionalProperties": false
}
HTTP status code 202
Body
Media type: application/json
Type: any
Example:
{
"code": 202,
"data": {},
"message": "Request have been processed"
}
HTTP status code 404
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: User not found
HTTP status code 500
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: Action on component could not be completed
Activates a specific user identified by their userId.
put /bbva-components/rhino/activate
Activates a specific user identified by their userId.
Headers
- x-api-key: required(string)
API key to authorize the request.
Body
Media type: application/json
Type:
{
"type": "object",
"properties": {
"userId": {
"type": "string"
}
},
"required": ["userId"]
}
Example:
{
"userId": "YoshiIslandHero"
}
HTTP status code 202
Body
Media type: application/json
Type: any
Example:
{
"code": 202
}
HTTP status code 404
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: User not found
HTTP status code 406
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: User is not blocked nor revoked
HTTP status code 500
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: Action on component could not be completed
Deactivates a specific user identified by their userId.
put /bbva-components/rhino/deactivate
Deactivates a specific user identified by their userId.
Headers
- x-api-key: required(string)
API key to authorize the request.
Body
Media type: application/json
Type:
{
"type": "object",
"properties": {
"userId": {
"type": "string"
}
},
"required": ["userId"]
}
Example:
{
"userId": "BowserKingOfKoopas"
}
HTTP status code 202
Body
Media type: application/json
Type: any
Example:
{
"code": 202,
"data": {},
"message": "Request have been processed"
}
HTTP status code 404
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: User not found
HTTP status code 406
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: The user has already been revoked
HTTP status code 500
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: Action on component could not be completed
Sends an activation link to the user's email address after verifying with reCAPTCHA.
post /bbva-components/rhino/send-activation
Sends an activation link to the user's email address after verifying with reCAPTCHA.
Headers
- x-api-key: required(string)
API key to authorize the request.
Query Parameters
- project: required(string)
Identifier of the project to which the user is associated.
Body
Media type: application/json
Type:
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^\\S+@\\S+\\.\\S+$"
},
"g-recaptcha-response": {
"type": "string"
}
},
"required": ["email"]
}
Example:
{
"email": "samus.aran@metroid.com",
"g-recaptcha-response": "03AGdBq26o3ILZ3uYDE1UHtci6S7Hq4xiTv..."
}
HTTP status code 202
Body
Media type: application/json
Type: any
Example:
{
"code": 202,
"data": {},
"message": "Request have been processed"
}
HTTP status code 404
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: User not found
HTTP status code 500
Body
Media type: text/plain
Type: any
Example:
Error API LAMBDA: Action on component could not be completed
/invalidate-cache
This service invalidate CDN from project and domain