YesAgain¶
YesAgain is a refurbished electronics Refurbisher operating under the public name Yesagain.com. YesAgain provides a drop-ship service, meaning orders are shipped directly from their warehouse to the end customer.
-
Website
-
Drop-ship
Direct shipment from Refurbisher to end customer
-
Customer Rating
5.5 / 10 — 5,000+ reviews
-
Currency
EUR
Status¶
| Artifact | Acceptatie | Productie |
|---|---|---|
| Refurbisher | ID: 24 · → IRP |
ID: 24 · → IRP |
| Supplier | ID: 20 · → IRP |
ID: 20 · → IRP |
| Offer connector | Web GET · CSV · No auth · → | Web GET · CSV · No auth · → |
| Order connector | Web POST · Header token · → | Web POST · Header token · → |
| Shipment webhook | Active · → | Not configured |
IRP¶
| Field | Value |
|---|---|
| Refurbisher ID | 24 |
| Supplier ID | 20 |
| Tenant ID | 19 |
| Odoo Vendor ID (Supplier) | 465112 |
| Odoo Vendor ID (Refurbisher) | 128315 |
| Currency | EUR |
| Shipping Costs | €5.00 |
| Default Margin | 16% |
| Stock Threshold | 3 |
| Drop-ship | Yes |
Monitoring Thresholds¶
| Metric | Threshold |
|---|---|
| Latest order (hours) | 48 |
| Offers stock (hours) | 48 |
| Open order (days) | 4 |
| Offers endpoint HTTP status | 200 |
Refurbisher Connector Config¶
"yesagain": {
"name": "YesAgain",
"offers": {
"connection": "web",
"endpoint": "https://yesagain.s3.eu-central-1.amazonaws.com/csv/iused_inventory.csv",
"type": "csv",
"separator": ",",
"heading": true,
"price_locale": "nl_NL",
"mapping": {
"name": "Name",
"sku": "sku",
"stock_available": "Stock",
"ean": "GTIN",
"price_purchase_amount": "Purchase Price",
"price_consumer_amount": "Reference Price"
}
},
"order": {
"connection": "web",
"endpoint": "https://hook.eu1.make.com/1u6ab6dmwdhddbbzg8r8gw26t5co2tkv",
"auth": {
"type": "header_token",
"http_header": "x-make-apikey",
"token": "XXXXXXXXXXXXXXX"
},
"order_object": {
"vendorOrderId": "id",
"orderReference": "order.order_number",
"shippingAddress.companyname": "orderShippingAddress.company",
"shippingAddress.firstname": "orderShippingAddress.first_name",
"shippingAddress.lastname": "orderShippingAddress.last_name",
"shippingAddress.telephone": "!0612345678",
"shippingAddress.zipCode": "orderShippingAddress.zipcode",
"shippingAddress.houseNumber": "orderShippingAddress.house_number",
"shippingAddress.houseNumberAddition": "orderShippingAddress.house_number_addition",
"shippingAddress.street": "orderShippingAddress.street",
"shippingAddress.city": "orderShippingAddress.city",
"shippingAddress.countryCode": "orderShippingAddress.country->getIsoAlpha2",
"shippingAddress.vatId": "!-",
"items": "%ITEMS%"
},
"item_object": {
"sku": "productVariant.refurbisherOffer.sku",
"quantity": "quantity"
},
"response_object": {
"asserts": {
"status": "in:200",
"orderId": "present|filled"
},
"fields": {
"externalOrderReference": "orderId"
}
}
}
}
Contactpersonen¶
| Naam | Rol | |
|---|---|---|
| Cedric Bagur | cedric.bagur@yesagain.com | Technical Contact |
API Integration¶
YesAgain uses a Make (Integromat) webhook as the order submission endpoint. Orders are sent via an HTTP POST request with the order JSON in the body, secured by an API key in a custom header.
Credentials
Stored in 1Password under iUsed - IRP - Refurbisher: YesAgain.
YesAgain uses an API key passed as a custom header on every request.
x-make-apikey: <API_KEY>
| Header | Required | Description |
|---|---|---|
x-make-apikey |
Yes | API key for the Make webhook |
Content-Type |
Yes | Must be application/json |
| Method | Endpoint | Description |
|---|---|---|
GET |
https://yesagain.s3.eu-central-1.amazonaws.com/csv/iused_inventory.csv |
Offer feed (CSV, provided by YesAgain via S3) |
POST |
https://hook.eu1.make.com/1u6ab6dmwdhddbbzg8r8gw26t5co2tkv |
Submit a new order |
The offer feed is a CSV file hosted on an AWS S3 bucket. It is fetched directly via HTTP GET — no authentication required.
| Field | CSV Column |
|---|---|
| Name | Name |
| SKU | sku |
| Stock | Stock |
| EAN / GTIN | GTIN |
| Purchase Price | Purchase Price |
| Consumer Price | Reference Price |
Format details
- Separator:
, - Has heading row: Yes
- Price locale:
nl_NL
Shipment Webhook¶
Generic documentation
For a full description of the Shipment Webhook contract (endpoint structure, authentication, request body spec, and allowed carrier values), see the Refurbisher Onboarding — Shipment Webhook page. This section covers the YesAgain-specific configuration.
The IRP exposes a Shipment Webhook endpoint that receives shipment information from YesAgain. When YesAgain ships an order, they send a POST request to this endpoint with the carrier and track & trace details, along with the IMEI numbers for each shipped device.
Endpoint¶
The Shipment Webhook URL is structured as follows — the Supplier ID and Secure Token are embedded in the path:
https://accept-portal.refurbishedcompany.com/webhook/shipment/{supplier_id}/{secure_token}
| Field | Value |
|---|---|
| Supplier ID | 20 |
1Password — iUsed - IRP - Refurbisher: YesAgain shipment endpoint
The full Shipment Webhook URL (including the Secure Token) is stored in 1Password under:
iUsed - IRP - Refurbisher: YesAgain shipment endpoint
This URL has been shared via a 1Password secure link exclusively with Cedric Bagur cedric.bagur@yesagain.com.
Request¶
YesAgain sends an HTTP POST request to the Shipment Webhook. The shipment data is passed as JSON in the request body.
POST https://accept-portal.refurbishedcompany.com/webhook/shipment/20/{secure_token}
Content-Type: application/json
Request Body Example¶
{
"external_order_reference": "string",
"carrier": "postnl",
"track_and_trace": [
"3SZZZZ1999999"
],
"imeis": [
{
"imei": "356836119999999",
"sku": "S021ESE264ZW",
"warranty_start_date": "2023-10-10 19:59:30",
"warranty_end_date": "0000-00-00 00:00:00",
"warranty_months": "0"
}
]
}
Fields¶
| Field | Type | Description |
|---|---|---|
external_order_reference |
string |
YesAgain's own order reference |
carrier |
string |
Carrier used for shipment — see allowed values below |
track_and_trace |
string[] |
One or more track & trace codes |
imeis[].imei |
string |
IMEI number of the shipped device |
imeis[].sku |
string |
SKU of the shipped device |
imeis[].warranty_start_date |
string |
Warranty start date (YYYY-MM-DD HH:mm:ss) |
imeis[].warranty_end_date |
string |
Warranty end date (YYYY-MM-DD HH:mm:ss) |
imeis[].warranty_months |
string |
Warranty duration in months |
Allowed Carrier Values¶
| Value | Carrier |
|---|---|
ups |
UPS |
postnl |
PostNL |
dpd |
DPD |
dhl |
DHL |
dhl express |
DHL Express |
trunkrs |
Trunkrs |
fedex |
FedEx |