Modules@robinpath/contentful
contentful

@robinpath/contentful

0.1.1Node.jsPublic

Contentful module for RobinPath.

Contentful

Contentful module for RobinPath.

Package: @robinpath/contentful | Category: Cms | Type: Integration

Authentication

contentful.setCredentials "your-credentials"

Call this once at the start of your script before using any other function. Credentials persist for the duration of the script execution.

Use Cases

Use the contentful module when you need to:

  • listEntries -- Use contentful.listEntries to perform this operation
  • getEntry -- Use contentful.getEntry to perform this operation
  • createEntry -- Use contentful.createEntry to perform this operation
  • updateEntry -- Use contentful.updateEntry to perform this operation
  • deleteEntry -- Use contentful.deleteEntry to perform this operation

Quick Reference

FunctionDescriptionReturns
setCredentialsConfigure contentful credentials.object
listEntrieslistEntriesobject
getEntrygetEntryobject
createEntrycreateEntryobject
updateEntryupdateEntryobject
deleteEntrydeleteEntryobject
publishEntrypublishEntryobject
unpublishEntryunpublishEntryobject
listAssetslistAssetsobject
getAssetgetAssetobject
createAssetcreateAssetobject
publishAssetpublishAssetobject
listContentTypeslistContentTypesobject
getContentTypegetContentTypeobject
createContentTypecreateContentTypeobject
listEnvironmentslistEnvironmentsobject
getSpacegetSpaceobject
searchEntriessearchEntriesobject
listLocaleslistLocalesobject
getWebhooksgetWebhooksobject
archiveEntryarchiveEntryobject

Functions

setCredentials

Configure contentful credentials.

Module: contentful | Returns: object -- API response.

contentful.setCredentials
ParameterTypeRequiredDescription
accessTokenstringYesaccessToken
spaceIdstringYesspaceId

listEntries

listEntries

Module: contentful | Returns: object -- API response.

contentful.listEntries
ParameterTypeRequiredDescription
inputstringNoInput parameter

getEntry

getEntry

Module: contentful | Returns: object -- API response.

contentful.getEntry
ParameterTypeRequiredDescription
inputstringNoInput parameter

createEntry

createEntry

Module: contentful | Returns: object -- API response.

contentful.createEntry
ParameterTypeRequiredDescription
inputstringNoInput parameter

updateEntry

updateEntry

Module: contentful | Returns: object -- API response.

contentful.updateEntry
ParameterTypeRequiredDescription
inputstringNoInput parameter

deleteEntry

deleteEntry

Module: contentful | Returns: object -- API response.

contentful.deleteEntry
ParameterTypeRequiredDescription
inputstringNoInput parameter

publishEntry

publishEntry

Module: contentful | Returns: object -- API response.

contentful.publishEntry
ParameterTypeRequiredDescription
inputstringNoInput parameter

unpublishEntry

unpublishEntry

Module: contentful | Returns: object -- API response.

contentful.unpublishEntry
ParameterTypeRequiredDescription
inputstringNoInput parameter

listAssets

listAssets

Module: contentful | Returns: object -- API response.

contentful.listAssets
ParameterTypeRequiredDescription
inputstringNoInput parameter

getAsset

getAsset

Module: contentful | Returns: object -- API response.

contentful.getAsset
ParameterTypeRequiredDescription
inputstringNoInput parameter

createAsset

createAsset

Module: contentful | Returns: object -- API response.

contentful.createAsset
ParameterTypeRequiredDescription
inputstringNoInput parameter

publishAsset

publishAsset

Module: contentful | Returns: object -- API response.

contentful.publishAsset
ParameterTypeRequiredDescription
inputstringNoInput parameter

listContentTypes

listContentTypes

Module: contentful | Returns: object -- API response.

contentful.listContentTypes
ParameterTypeRequiredDescription
inputstringNoInput parameter

getContentType

getContentType

Module: contentful | Returns: object -- API response.

contentful.getContentType
ParameterTypeRequiredDescription
inputstringNoInput parameter

createContentType

createContentType

Module: contentful | Returns: object -- API response.

contentful.createContentType
ParameterTypeRequiredDescription
inputstringNoInput parameter

listEnvironments

listEnvironments

Module: contentful | Returns: object -- API response.

contentful.listEnvironments
ParameterTypeRequiredDescription
inputstringNoInput parameter

getSpace

getSpace

Module: contentful | Returns: object -- API response.

contentful.getSpace
ParameterTypeRequiredDescription
inputstringNoInput parameter

searchEntries

searchEntries

Module: contentful | Returns: object -- API response.

contentful.searchEntries
ParameterTypeRequiredDescription
inputstringNoInput parameter

listLocales

listLocales

Module: contentful | Returns: object -- API response.

contentful.listLocales
ParameterTypeRequiredDescription
inputstringNoInput parameter

getWebhooks

getWebhooks

Module: contentful | Returns: object -- API response.

contentful.getWebhooks
ParameterTypeRequiredDescription
inputstringNoInput parameter

archiveEntry

archiveEntry

Module: contentful | Returns: object -- API response.

contentful.archiveEntry
ParameterTypeRequiredDescription
inputstringNoInput parameter

Error Handling

All functions throw on failure. Common errors:

ErrorCause
Contentful API error (${res.status}): ${t}Check the error message for details
contentful.setCredentials requires accessToken, spaceId.Check the error message for details
contentful.updateEntry requires an ID.Check the error message for details
contentful.deleteEntry requires an ID.Check the error message for details
contentful.publishEntry requires an ID.Check the error message for details
contentful.unpublishEntry requires an ID.Check the error message for details
contentful.publishAsset requires an ID.Check the error message for details
contentful.archiveEntry requires an ID.Check the error message for details
@desc "List entries and validate result"
do
  set $result as contentful.listEntries
  if $result != null
    print "Success"
  else
    print "No result"
  end
enddo

Recipes

1. List and iterate Entries

Retrieve all items and loop through them.

@desc "Setup authentication"
do
  contentful.setCredentials $token
enddo

@desc "List entries and iterate results"
do
  set $result as contentful.listEntries
  each $item in $result
    print $item
  end
enddo

2. Create a new item with createEntry

Create a new resource and capture the result.

@desc "Setup authentication"
do
  contentful.setCredentials $token
enddo

@desc "Create entry"
do
  set $result as contentful.createEntry
  print "Created: " + $result
enddo

3. Create and update workflow

Create an item and then update it.

@desc "Setup authentication"
do
  contentful.setCredentials $token
enddo

@desc "Create entry and update entry"
do
  set $created as contentful.createEntry
  # Update the created item
  contentful.updateEntry
enddo

4. Check before creating

List existing items and only create if needed.

@desc "Setup authentication"
do
  contentful.setCredentials $token
enddo

@desc "List entries and create entry"
do
  set $existing as contentful.listEntries
  if $existing == null
    contentful.createEntry
    print "Item created"
  else
    print "Item already exists"
  end
enddo

5. Multi-step Contentful workflow

Chain multiple contentful operations together.

@desc "Setup authentication"
do
  contentful.setCredentials $token
enddo

@desc "List entries, get entry, and more"
do
  set $r_listEntries as contentful.listEntries
  set $r_getEntry as contentful.getEntry
  set $r_createEntry as contentful.createEntry
  print "All operations complete"
enddo

6. Safe listEntries with validation

Check results before proceeding.

@desc "Setup authentication"
do
  contentful.setCredentials $token
enddo

@desc "List entries and validate result"
do
  set $result as contentful.listEntries
  if $result != null
    print "Success: " + $result
  else
    print "Operation returned no data"
  end
enddo

Related Modules

  • json -- JSON module for complementary functionality

Versions (1)

VersionTagPublished
0.1.1latest1 months ago
Install
$ robinpath add @robinpath/contentful

Collaborators

Dumitru Balaban
Dumitru Balaban
@dumitru
View all @robinpath modules
Version0.1.1
LicenseMIT
Unpacked Size4.8 KB
Versions1
Weekly Downloads26
Total Downloads26
Stars0
Last Publish1 months ago
Created1 months ago

Category

web