Zernio | Developer News
708 subscribers
1 photo
1 video
534 links
This channel is for recurrent updates and announcements on https://zernio.com.

Zernio is a Social API for Posting and Analytics on 14 platforms.
Download Telegram
New open-source project: LateWiz πŸͺ„

Built an open-source social media scheduler on top of the Late SDK in ~4 hours using Claude Code.

What it does:
1. Plug in your Late API key
2. Get a dashboard to post and connect accounts
3. That's it

Why this matters for you:
β†’ Fork it, extend it, make it yours
β†’ Reference implementation for Late SDK
β†’ See how little code you actually need

Check it out: https://latewiz.com
Github repo: https://github.com/getlate-dev/latewiz
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸŽ‰3🀯2❀1
YouTube uploads now support video categories via the new categoryId field in platformSpecificData.

You can now specify which category your video belongs to. Defaults to 22 (People & Blogs) if not set.

Common category IDs:
β€’ 1 - Film & Animation
β€’ 10 - Music
β€’ 20 - Gaming
β€’ 24 - Entertainment
β€’ 27 - Education
β€’ 28 - Science & Technology

View documentation
❀3
The PlatformTarget schema now includes detailed error information when posts fail to publish.

Three new fields are available:

errorMessage - Human-readable explanation of why the publish failed

errorCategory - Programmatic category for handling:
β€’ auth_expired - token expired, reconnect needed
β€’ user_content - content doesn't meet platform requirements
β€’ user_abuse - rate limits or spam detection
β€’ account_issue - account configuration problems
β€’ platform_rejected - policy violation
β€’ platform_error - platform-side issues
β€’ system_error - Late infrastructure issues
β€’ unknown - unclassified

errorSource - Who caused the error:
β€’ user - user action required
β€’ platform - platform-side issue
β€’ system - Late system issue

These fields are populated when a platform's status is failed. Posts with mixed results now return status: "partial" at the post level.

View documentation
πŸ”₯2❀1
The GET /v1/analytics endpoint now supports a source query parameter to filter posts by origin.

Values:
β€’ late - only posts scheduled/published via Late API
β€’ external - only posts synced from the platform (not posted via Late)
β€’ all - all posts (default)

This makes it easier to separate analytics for posts you scheduled through Late from posts that were published directly on the platform.

View documentation
πŸ”₯2❀1
We've added 6 new language SDKs:

β€’ Go β†’ go get github.com/getlate-dev/late-go
β€’ Ruby β†’ gem install late
β€’ PHP β†’ composer require getlate-dev/late-php
β€’ NET β†’ dotnet add package Late
β€’ Rust β†’ cargo add late
β€’ Java β†’ JitPack (<https://jitpack.io/#getlate-dev/late-java|setup guide>)

Link to all SDKs
πŸ”₯2❀1
The Inbox API now supports Twitter/X for conversations, comments, and comment interactions.

Conversations (GET /v1/inbox/conversations):
Filter by platform=twitter to fetch Twitter/X DMs.

Comments (GET /v1/inbox/comments):
Twitter/X posts with replies are now included. Also added Threads support for comments listing.

Like/Unlike comments:
POST and DELETE /v1/inbox/comments/{postId}/{commentId}/like now work with Twitter/X replies.

View documentation
πŸ”₯2
New endpoints for Google Business Profile food menus:

GET /v1/accounts/{accountId}/gmb-food-menus
Fetch the full menu structure for a connected GBP location.

PUT /v1/accounts/{accountId}/gmb-food-menus
Update food menus with sections, items, pricing, dietary info, and allergens.

Menu items support:
β€’ price with currency code
β€’ dietaryRestriction - VEGETARIAN, VEGAN, GLUTEN_FREE, etc.
β€’ allergen - DAIRY, GLUTEN, SHELLFISH, etc.
β€’ spiciness, servesNumPeople, preparationMethods

Only available for GBP locations with food menu support (restaurants, cafes, etc.).

Also: PostAnalytics now includes saves for tracking bookmarks on Instagram and Pinterest.

View documentation
❀1
Yesterday we released the Unified Inbox API

You can now handle comments, DMs and reviews from the API.

β†’ DMs docs
β†’ Comments docs
β†’ Reviews docs

Each platform supports different features. You can check out this matrix to find out which supports what.
❀1
New Google Business Profile endpoints are now available for managing your GMB listings programmatically.

Location Details (/v1/accounts/{accountId}/gmb-location-details)
GET/PUT to read and update business hours, special hours, description, phone numbers, and website. Use readMask and updateMask to specify fields.

Media (/v1/accounts/{accountId}/gmb-media)
GET/POST/DELETE to manage photos. Upload via public URL with categories:
COVER, PROFILE, LOGO, EXTERIOR, INTERIOR, FOOD_AND_DRINK, MENU, PRODUCT, TEAMS, ADDITIONAL

Attributes (/v1/accounts/{accountId}/gmb-attributes)
GET/PUT to manage amenities and services like has_delivery, has_takeout, has_outdoor_seating, has_wifi, payment types, etc.

Place Actions (/v1/accounts/{accountId}/gmb-place-actions)
GET/POST/DELETE to manage booking and ordering buttons. Types include:
APPOINTMENT, DINING_RESERVATION, FOOD_ORDERING, FOOD_DELIVERY, FOOD_TAKEOUT, SHOP_ONLINE

View documentation
πŸ”₯1
Added 2 new endpoints:

GET /v1/posts/logs - Get publishing logs
GET /v1/connections/logs - Get connection logs

View documentation
❀2
New: Interactive messaging across Instagram, Facebook, and Telegram

You can now send buttons, quick replies, and carousels through the Inbox API. Same endpoint, all three platforms.

What's new:
β€’ Quick replies on Instagram, Facebook, and Telegram
β€’ Buttons (URL, postback) on Instagram, Facebook, and Telegram
β€’ Generic templates (carousels) on Instagram, Facebook, and Telegram
β€’ Reply markup and message editing on Telegram
β€’ File attachments on Instagram DMs (images, videos, audio)
β€’ Webhook events for button taps, quick replies, and postbacks

Two new Telegram-specific endpoints:
β€’ Manage bot menu commands
β€’ Edit sent messages and reply markup

View documentation
πŸ”₯2πŸ‘1
Instagram conversations now include optional participant profile context via instagramProfile.

This lets you show follower/verification info (and follower count) alongside DMs, and use it in routing/automation.

Added to:
β€’ GET /v1/inbox/conversations β†’ data[].instagramProfile
β€’ GET /v1/inbox/conversations/{conversationId} β†’ data.instagramProfile

Fields:
β€’ isFollower, isFollowing, followerCount, isVerified, fetchedAt

Webhook update:
β€’ WebhookPayloadMessage.message.sender.instagramProfile (Instagram only) with isFollower, isFollowing, followerCount, isVerified.

View documentation
❀4
Reddit posting now supports post flairs via flairId in platformSpecificData.

Some subreddits require a flair; you can now fetch available flairs and set the one you want on the post.

New endpoint: GET /v1/accounts/{accountId}/reddit-flairs
Required query: subreddit (without r/)

New field: platformSpecificData.reddit.flairId (string)
If omitted, the API will attempt to use the first available flair as a fallback.

View documentation
❀3πŸ”₯1
Google Business Profile posts now support explicitly setting the content language via languageCode in GoogleBusinessPlatformData.

If omitted, the language is auto-detected from the post text; set it when auto-detection may be unreliable (short posts, mixed languages, transliteration).

New field: languageCode (BCP 47, e.g. en, de, es, fr).

View documentation
πŸ”₯2
POST /v1/inbox/comments/{postId}/{commentId}/private-reply now supports Facebook in addition to Instagram.

You can send a private reply to a Facebook post comment, which opens a Messenger conversation with the commenter (text-only; still limited to 1 private reply per comment within 7 days).

Use accountId (Instagram or Facebook) and message in the JSON body. The response platform is now instagram or facebook.

View documentation
πŸ”₯2
Instagram photo tagging now supports tagging specific slides in carousel posts via mediaIndex in platformSpecificData.userTags.

This lets you place tags on any image within a carousel. Tags without mediaIndex still default to the first image (index 0).

Use:
β€’ userTags[].mediaIndex (integer, 0-based)

Notes:
β€’ Not supported for stories or videos; tags targeting video items (or out-of-range indices) are ignored.

View documentation
❀1
New endpoint: POST /v1/posts/{postId}/unpublish.

You can now delete a previously published post from a specific social platform while keeping the Late post record (platform status becomes cancelled).

Request body: platform = threads | facebook | twitter | linkedin | youtube | pinterest | reddit | bluesky | googlebusiness | telegram.

Notes: Instagram/TikTok/Snapchat deletion isn’t supported. Telegram deletions may fail for messages older than 48h. YouTube deletion permanently removes the video.

View documentation
πŸ”₯4
Facebook publishing now supports Reels via FacebookPlatformData.contentType.

Set contentType to story or reel (omit for a feed post). Reels require a single vertical video (9:16, 3–60s).

New field for reels:
β€’ title β€” Reel title (only when contentType=reel)

Note: firstComment applies to feed posts only (not stories or reels).

View documentation
πŸ”₯3❀1
API keys can now be created with restricted access using scope, profileIds, and permission on POST /v1/api-keys.

This lets you issue keys limited to specific profiles and/or make keys read-only for safer analytics/integration use.

New request fields:
β€’ scope: full | profiles (default full)
β€’ profileIds: required when scope=profiles
β€’ permission: read-write | read (default read-write)

Key responses now include scope, profileIds (populated profile objects when scoped), and permission (e.g., in GET /v1/api-keys and create responses).

View documentation
πŸ”₯2😍1
LinkedIn document (PDF/carousel) posts now let you control the displayed document title via platformSpecificData.linkedin.documentTitle.

LinkedIn requires a title for document posts; if omitted, Late will fall back to the media item title, then the filename.

Use:
β€’ platformSpecificData.linkedin.documentTitle
β€’ media[].title (used as the LinkedIn document title if documentTitle is not set; otherwise falls back to filename)

View documentation
❀5
Real-time Webhooks are live πŸš€

Get notified instantly when someone comments on your posts or sends you a DM.

New events:
β€’ message.received β€” Instagram, Facebook, WhatsApp, Twitter, Bluesky, Reddit

β€’ comment.received β€” Instagram, Facebook, Threads, Twitter, YouTube, Bluesky, Reddit, LinkedIn

View documentation
❀4