Creates a new named document, or creates a new revision of the existing document.
POST /{db}
Response Headers:
• ETag – Quoted new document’s revision
• Location – Document’s URI
Response JSON Object:
• id (string) – Document ID
• ok (boolean) – Operation status
• rev (string) – Revision info
Status Codes:
• 201 Created – Document created and stored on disk
• 202 Accepted – Document data accepted, but not yet stored on disk
• 400 Bad Request – Invalid database name
• 401 Unauthorized – Write privileges required
• 404 Not Found – Database doesn’t exist
• 409 Conflict – A Conflicting Document with same ID already exists
Any other defined variable passed to this transaction will be used as data to be posted to the database. You can pass any number of variablesas key/values or even complex variables. They will be automatically converted to jSON objects in the database.The variable’s XSD simple type attribute will be used to convert the data to correct jSON type.
Every properties of the form “Param xyz” or “Query xyz” can be overridden dynamically by declaring and using a “_use_xyz” variable. Those variables can be added using the right-click menu “Add variables for dynamic properties” of this transaction.
Property | Type | Category | Description |
---|---|---|---|
Accessibility | Accessibility | standard | Defines the transaction/sequence accessibility. This property can take the following values: • Public: The transaction/sequence is runnable from everyone and everywhere, visible in the Test Platform and is also exposed in the SOAP WSDL as a web service method. • Hidden: The transaction/sequence is runnable but only from people who know the execution URL, not visible in the Test Platform nor exposed in the SOAP WSDL. • Private: The transaction/sequence is only runnable from within the Convertigo engine (Call Transaction/(Call Sequence steps), is not visible in the Test Platform and cannot be requested as SOAP web service method. This value is used for tests, unfinished transactions/sequences or functionalities not to be exposed. Private transactions/sequences remain runnable in the Studio, for the developer to be able to test its developments. Note: In the Test Platform: • The administrator user (authenticated in Administration Console or Test Platform) can see and run all transactions / sequences, no matter what their accessibility is. • The test user (authenticated in the Test Platform or in case of anonymous access) can see and run public transactions/sequences and run hidden ones if he knows their execution URL. |
Comment | String | standard | Describes the object comment to include in the documentation report. This property generally contains an explanation about the object. |
Param db | String | standard | Database name |
Param json_base | String | standard | (string) – JSON use as a base for the document (js object). Optional |
Param merge | String | standard | (string) – JSON used to specify special behavior of the ‘merge’ Policy. Optional In this strict JSON string, you can: • delete: delete the target key. • override: replace the value of the target key, don’t merge this. • prepend: prepend the value or the array in the existing array or value of the target key. • append: append the value or the array in the existing array or value of the target key. A target key is the path of the object to reach, separated by the “_separator” (default is dot). The target key is the same for the 2 documents to merge. Samples: {“a.b.c”: “override”, “a.b.d”: “delete”} {“_separator”: “+”, “a+b+c”: “override”} |
Policy | CouchPostDocumentPolicy | standard | Defines the post policy Policy can be : • none: no policy. In this case you will have to provide by yourself the revision ID of the document you want to update. Providing a wrong revision number will cause an error as stated in the CouchDB protocol. • create: a new entry will be created for this document even if the document id or revision is specified. • override: the document with the specified id will be replaced by this post data. Revision Number management is handled automatically. • merge: the documents with this specified id will be merged by this post data. All fields with the same name will hold new values, all new fields will be added. No fields are deleted. |
Query batch | String | standard | (string) – Stores document in batch mode Possible values: ok. Optional |
Response timeout | long | standard | Defines the response maximum waiting time (in seconds). Maximum time (in seconds) for a transaction/sequence to run. When specified time is reached, the transaction/sequence ends and returns a timeout error. If requested through the SOAP interface, the error is returned as a SOAP exception. |
Add statistics to response | boolean | expert | Defines whether some statistics of execution of the transaction/sequence should be added as data in the transaction/sequence’s response. If this property is set to true, the transaction/sequence response will be enhanced with the statistics data of its execution (total time for the request, time spent waiting for the mainframe, etc.). Note: This property has nothing to do with the general property of the Convertigo engine Insert statistics in the generated document that can be edited in the Configuration page of the Administration Console. |
Authenticated context required | boolean | expert | Defines whether an authenticated context is required to execute the transaction/sequence. If this property is set to true, the context of execution of the transaction/sequence must have been authenticated. Otherwise, the transaction/sequence is not executed. Default value is false for a standard access to transactions/sequences. Notes: • When a context is authenticated, all the contexts in the same HTTP session are also authenticated. For more information about context and HTTP session, see Context general presentation paragraph in JavaScript Objects APIs chapter. • When executing a transaction/sequence from stub (__stub variable passed to true in entry), this property is ignored. Indeed, executing from stub is for testing purposes and should not require any authentication: the context would never be authenticated as the transaction/sequence setting the context as authenticated could also be executed from stub. |
Authenticated user as cache key | boolean | expert | Defines whether the authenticated user should be used as cache key. When the cache is enabled (Response lifetime setting filled with a time-to-live), the Authenticated user as cache key property allows to specify to use the authenticated user ID from context/session as an additional key to the cache. It would have as effect that two different identified users cannot retrieve the cached response of the other for the same request. Default value is false: the authenticated user is not used as cache key. |
Call the biller | boolean | expert | Defines whether the billing management module should be called for each generated XML document. If this property is set to true, the applicable billing management module, defined thanks to the connector’s billing class name property, is invoqued. This parameter should never be changed (Convertigo private use only). |
Character set | String | expert | Defines the character set used for operations on the generated XML document (default: UTF-8). |
Include certificate group | boolean | expert | Includes the certificate group into the cache key. If set to true, the certificate group is added to the cache key which is used to determine whether the transaction’s response should be pulled from the cache or not. A transaction’s cached response is pulled from the cache when all cache key values are corresponding to a stored cache entry. |
Response client cache | boolean | expert | Defines whether the transaction/sequence response should be cached by the client. If set to false, the response XML is sent to the client along with HTTP headers forcing the client browser not to store it in its local cache. This is the default value, since dynamic responses are usually preferred. If set to true, the XML response is sent normally. |
Response lifetime | String | expert | Defines the response time-to-live (in seconds) in cache, i.e. the time during which the cached response remains valid or time interval for its renewal. This property enables the cache when filled, disables the cache when left empty. The Response lifetime property allows to specify the cache settings for the transaction/sequence’s response. It can be set to the following values: • <empty>: Disables the cache for the transaction/sequence. The response will not be cached and each request will execute the complete transaction. It is the default value. • absolute,<time in secs>: Enables the cache for the transaction/sequence. The response will be cached for the time specified in seconds. If an other request with the same parameters occurs within this time, the response will be returned from the cache. • daily,hh:mm:ss: Enables the cache for the transaction/sequence. The response will be cached until hh:mm:ss of the current day is reached. If an other request with the same parameters occurs before this time, the response will be returned from the cache. A new day starts at 00:00:00. • weekly,hh:mm:ss,w: Enables the cache for the transaction/sequence. The response will be cached until hh:mm:ss of the wth day of week is reached. For Sunday w = 1, for Monday w = 2 … and for Saturday w = 7. If an other request with the same parameters occurs before this time, the response will be returned from the cache. A new day starts at 00:00:00. • monthly,hh:mm:ss,d: Enables the cache for the transaction/sequence. The response will be cached until hh:mm:ss of the dth day of month is reached. If an other request with the same parameters occurs before this time, the response will be returned from the cache. A new day starts at 00:00:00. Notes: • The Response lifetime property editor proposes a Generator tool that can help you configure the Response lifetime setting. • The Variable objects contain the Cache key property that allows to specify to use this variable as a key to the cache or not. See Variable objects documentation for more information. |
Secure connection required | boolean | expert | Defines whether the transaction/sequence should be called through a secured connection (e.g. HTTPS). Depending on the requester, if this property is set to true, the transaction/sequence must be accessed through a secure connection (e.g. HTTPS in case of HTTP access). Default value is false for a standard access to transactions/sequences. |
Style sheet | int | expert | Defines how the XML returned by the transaction has to be processed by XSLT. This property can take the following values: • None: Do not process with XSLT. Usual setting for web services (SOAP or REST) where plain XML data is to be returned. • From transaction: Use the XSL style sheet attached to the transaction. When used, make sure a style sheet object is added to the transaction. • From last detected screen class: Use XSL style sheet attached to the last detected screen class (in case of a transaction with screen classes). Transactions using sheets from last detected screen class are mainly used in Web Clipping or Legacy Publishing projects. |